Najpierw zainstalujmy OpenCV:
PIP3 Zainstaluj OpenCV-PythonPrzeczytaj i pokazuj obrazy
Pierwszą rzeczą, której musimy się nauczyć, jest czytanie i pisanie obrazów. Czytanie pliku obrazu, wprowadzanie pełnej ścieżki do pliku lub nazwy pliku (jeśli plik znajduje się w folderze Python), a dodanie flagi odbywa się za pomocą CV2.imread (). Flaga może przyjąć wartość 1 (dla obrazu kolorowego), 0 (dla skali szarości) lub -1 (dla obrazu kolorowego z kanałami). Można użyć CV2.ImShow () funkcja, aby pokazać obraz; Tutaj przekazane są dwa argumenty - nazwa obrazu i obrazu do wyświetlenia. Następnie używamy CV2.Funkcja WaitKey (), aby czekać na wejście klawiatury; A 0 dla CV2.Funkcja Waitkey (0) implikuje stały czas oczekiwania. Z drugiej strony CV2.Funkcja niszczącaldindows () zamknie system Windows.
To przeczyta i otworzy obraz i utrzymuje obraz otwarty, aż go zamkniesz:
Importuj CV2Napisz obrazy
Używamy CV2.Funkcja imwrite (), aby zapisać obraz. Ta funkcja przyjmuje dwa parametry - nazwa zapisania obrazu i obrazu, który chcesz zapisać.
Importuj CV2Przechwytywanie wideo z kamery internetowej
Aby uchwycić filmy, zaczynamy od zainicjowania CV2.Funkcja videoCapture (). Następnie używamy pętli „while”, aby kontynuować przechwytywanie wideo. Podczas gdy użytkownik nie naciska klawisza wyjścia, możemy odczytać ramki i pokazać je za pomocą czytania () i CV2.Funkcja imshow (). Następnie wkładamy klucz „przerwy”, aby wyjść z pętli; W takim przypadku liczba 27 jest kluczem ESC. Jeśli użytkownik naciska klawisz ESC, wyrywa się z pętli. Po wyjściu z pętli konieczne jest zwolnienie schwytania.
importować Numpy jako NPOdtwarzanie pliku wideo
Odtwarzanie pliku wideo jest jak uchwycenie wideo z kamery internetowej. Aby to zrobić, CV2.Używana jest funkcja VideOcapture (); Nazwa pliku wideo, którą chcesz odtworzyć, jest następnie dodawana do funkcji. Pętla „While” jest ponownie używana, a klawisz wyjściowy w tym przypadku jest klawiszem „S” na klawiaturze. To otworzy i odtworzy plik wideo i zamyka go, gdy użytkownik naciśnie klawisz „S”.
importować Numpy jako NPZapisywanie pliku wideo
Zapisywanie pliku wideo wymaga nieco więcej pracy. CV2.Funkcja videowriter () przyjmuje w sumie 4 parametry - nazwa pliku wyjściowego, kod Fourcc, liczba klatek na sekundę i rozmiar ramki. Ponadto należy określić kod Fourcc, czyli kodek wideo za pomocą CV2.Funkcja videowriter_fourcc (). Za pomocą przechwytywania.isopened (), czytamy ramkę i piszemy ramkę wyjściową. Możemy również pokazać ramki za pomocą CV2.Funkcja imshow (). Następnie używamy CV2.Waitkey (1) i 0xff == ord ('s'), aby ustawić klucz wyjściowy. W takim przypadku, jeśli użytkownik naciśnie klawisz „S”, wyjdzie z pętli, a następnie zwolni przechwytywanie i wyjście i zamyka system Windows.
importować Numpy jako NPLinie rysunkowe, koła, prostokąty i teksty
Pierwszą rzeczą, którą nauczymy się rysować, jest linia. Aby narysować linię, po prostu używamy CV2.funkcja linii (). Funkcja przyjmuje 5 argumentów - wideo źródłowe, punkt początkowy, punkt końcowy, kolor i grubość linii. W poniższym przypadku postanowiliśmy narysować prostokątną granicę (składającą się z 4 linii):
Importuj CV2Następnie narysujemy okrąg i prostokąt na filmie. Aby narysować prostokąt, używamy CV2.funkcja recGang (), która przyjmuje 5 argumentów podobnie jak linia. Aby narysować okrąg, używamy funkcji CV2.Circle (), który również przyjmuje 5 argumentów - wideo źródłowe, punkt środkowy, promień, kolor i grubość.
Importuj CV2Teraz dodajmy tekst do filmu, który mamy. Aby to zrobić, musimy określić czcionkę; Tutaj wybraliśmy CV2.Font_hershey_simplex. Po wybraniu czcionki możemy użyć funkcji CV2.putText () do reszty. CV2.putText () bierze 8 argumentów - wideo źródłowe, tekst, który chcesz napisać, pozycja, w której chcesz, czcionka, powiększenie, kolor, grubość i cv2.Line_aa (co sprawia, że wszystko wygląda lepiej).
Importuj CV2OpenCV jest zdolny do wielu wielkich rzeczy, w których trzeba gdzieś zacząć. Może się nauczyć tworzenie i zapisywanie zdjęć i filmów. W tym samouczku nauczyliśmy się robić podstawy wizji komputerowej.
Szczęśliwe kodowanie!