OpenCV: Instalacja OpenCV-Python w Ubuntu
Cele
W tym poradniku nauczymy się jak skonfigurować OpenCV-Python w systemie Ubuntu. Poniższe kroki zostały przetestowane dla Ubuntu 16.04 i 18.04 (oba 64-bitowe).
OpenCV-Python może zostać zainstalowany w Ubuntu na dwa sposoby:
- Instalacja z gotowych binariów dostępnych w repozytoriach Ubuntu
- Kompilacja ze źródła. W tym rozdziale zajmiemy się obiema metodami.
Inną ważną rzeczą są wymagane dodatkowe biblioteki. OpenCV-Python wymaga jedynie Numpy (oprócz innych zależności, które zobaczymy później). Ale w tym tutorialu, używamy również Matplotlib dla łatwego i przyjemnego tworzenia wykresów (co w moim odczuciu jest dużo lepsze w porównaniu do OpenCV). Matplotlib jest opcjonalny, ale bardzo zalecany. Podobnie zobaczymy również IPython, interaktywny terminal Pythona, który również jest wysoce zalecany.
Instalacja OpenCV-Python z gotowych binarek
Ta metoda jest najlepsza, gdy używamy jej tylko do programowania i tworzenia aplikacji OpenCV.
Zainstaluj pakiet python3-opencv następującą komendą w terminalu (jako użytkownik root).
Otwórz Python IDLE (lub IPython) i wpisz następujące kody w terminalu Pythona.
Jeśli wyniki zostaną wydrukowane bez żadnych błędów, gratulacje !!! Zainstalowałeś OpenCV-Python pomyślnie.
To jest dość proste. Ale jest z tym pewien problem. Repozytoria Apt mogą nie zawsze zawierać najnowszą wersję OpenCV. Na przykład, w momencie pisania tego poradnika, repozytorium apt zawiera 2.4.8, podczas gdy najnowsza wersja OpenCV to 3.x. Jeśli chodzi o API Pythona, najnowsza wersja zawsze będzie zawierała o wiele lepsze wsparcie i najnowsze poprawki błędów.
Więc dla uzyskania najnowszych kodów źródłowych preferowana jest kolejna metoda, tj. kompilacja ze źródła. Również w pewnym momencie, jeśli chcesz przyczynić się do rozwoju OpenCV, będziesz tego potrzebował.
Budując OpenCV ze źródła
Kompilacja ze źródła może wydawać się trochę skomplikowana na początku, ale kiedy już ci się to uda, nie ma w tym nic skomplikowanego.
Najpierw zainstalujemy kilka zależności. Niektóre z nich są wymagane, inne opcjonalne. Możesz pominąć opcjonalne zależności, jeśli nie chcesz.
Wymagane zależności
Potrzebujemy CMake do skonfigurowania instalacji, GCC do kompilacji, Python-devel i Numpy do budowania wiązań Pythona itd.
aby wspierać python2:
aby wspierać python3:
Następnie potrzebujemy obsługi GTK dla funkcji GUI, obsługi kamery (v4l), obsługi mediów (ffmpeg, gstreamer) itp.
Do obsługi gtk2:
aby wesprzeć gtk3:
Optional Dependencies
Powyższe zależności są wystarczające do zainstalowania OpenCV na maszynie Ubuntu. Jednak w zależności od Twoich wymagań, możesz potrzebować kilku dodatkowych zależności. Lista takich opcjonalnych zależności jest podana poniżej. Możesz je zostawić lub zainstalować, Twój wybór 🙂
OpenCV posiada pliki wspierające formaty obrazów takie jak PNG, JPEG, JPEG2000, TIFF, WebP itp. Ale to może być trochę stare. Jeśli chcesz uzyskać najnowsze biblioteki, możesz zainstalować pliki rozwojowe dla bibliotek systemowych tych formatów.
Uwaga Jeśli używasz Ubuntu 16.04 możesz również zainstalowaćlibjasper-dev
aby dodać obsługę formatu JPEG2000 na poziomie systemu.
Pobieranie OpenCV
Aby pobrać najnowsze źródło z Repozytorium GitHub OpenCV. (Jeśli chcesz przyczynić się do rozwoju OpenCV wybierz to. Aby to zrobić, musisz najpierw zainstalować Git)
To utworzy folder „opencv” w bieżącym katalogu. Klonowanie może zająć trochę czasu w zależności od połączenia internetowego.
Teraz otwórz okno terminala i przejdź do pobranego folderu „opencv”. Utwórz nowy folder „build” i przejdź do niego.
Konfiguracja i instalacja
Teraz mamy wszystkie wymagane zależności, zainstalujmy OpenCV. Instalacja musi być skonfigurowana za pomocą CMake. Określa on jakie moduły mają być zainstalowane, ścieżkę instalacji, jakie dodatkowe biblioteki mają być użyte, czy dokumentacja i przykłady mają być skompilowane itd. Większość z tych czynności jest wykonywana automatycznie dzięki dobrze skonfigurowanym parametrom domyślnym.
Poniższe polecenie jest zwykle używane do konfiguracji kompilacji bibliotek OpenCV (wykonywane z folderu build):
Domyślnie OpenCV zakłada typ kompilacji „Release”, a ścieżka instalacji to „/usr/local”. Dodatkowe informacje na temat opcji CMake można znaleźć w przewodniku kompilacji OpenCV C++:
W wyjściu CMake powinny pojawić się następujące linie (oznaczają one, że Python został poprawnie odnaleziony):
Teraz należy zbudować pliki za pomocą polecenia „make” i zainstalować je za pomocą polecenia „make install”.
Instalacja dobiegła końca. Wszystkie pliki są zainstalowane w folderze „/usr/local/”. Otwórz terminal i spróbuj zaimportować „cv2”.