Jak zainstalować OpenCV 3.1 dla Python 3.5 na Ubuntu 16.04 LTS?

22

Jak zainstalować OpenCV w wersji 3.1 na Ubuntu 16.04 LTS, aby współpracować z Python 3.5.1?

Próbowałem tego na maszynie wirtualnej, ale oczywiście jest to przydatne, jeśli chcesz pracować z Python 2.

Billal Begueradj
źródło
4
czy jest to oznaczone [windows], ponieważ używasz WSL? Opowiedz nam o swojej wersji / środowisku Ubuntu, w przeciwnym razie trudno będzie dokładnie zdiagnozować problem
Zanna
Najlepsze, jakie do tej pory widziałem, które dla mnie zadziałało
Oluwayetty
Jest to idealne: begueradj.com/…
Billal Begueradj

Odpowiedzi:

10

Mam OpenCV w wersji 3.1 na Ubuntu 16.04 LTS do pracy z Python 3.5.1. W najnowszej wersji jest naprawiona, spróbuj:

http://cyaninfinite.com/tutorials/installing-opencv-in-ubuntu-for-python-3/

Ale nie pobrałem Dev Devona i OpenCV, wziąłem bezpośrednio z github:

1

EDYTOWAĆ:

Oto instrukcje, które z powodzeniem przetestowałem i o których wspomniałem w powyższym linku:

  1. Zaktualizuj repozytorium: sudo apt-get update
  2. Pobierz wymagane pakiety do skompilowania OpenCV:

    sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
  3. Zainstaluj pakiety programistyczne dla Python3.5: sudo apt-get install python3.5-dev
  4. Kopiowanie plików dev: python3.5-config --includesWyjście powinno być podobne do: -I/usr/include/python3.5m -I/usr/include/x86_64-linux-gnu/python3.5m. Pierwsza część danych wyjściowych to oczekiwana lokalizacja, a druga część pokazuje bieżącą lokalizację pliku konfiguracyjnego. Aby rozwiązać ten problem, skopiujemy plik z bieżącej lokalizacji do oczekiwanej lokalizacji:sudo cp /usr/include/x86_64-linux-gnu/python3.5m/pyconfig.h /usr/include/python3.5m/
  5. Utwórz katalog tymczasowy, przenieść do niego i wykonaj: git clone https://github.com/Itseez/opencv.git. Spowoduje to pobranie OpenCV 3. Następnie zmień nazwę folderu opencvnaopencv-3
  6. Utwórz buildkatalog, przejdź do niego i uruchom:

    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ../opencv-3
  7. Po zakończeniu procesu uruchom, makea następnie sudo make install.
  8. Cieszyć się.
Dmitrii Magas
źródło
1
Niestety, wiele z tego wciąż mi się nie udaje. Dostaję błędy nt. O apt_pkg i nie mogę zaimportować wielu arkuszy
CashCow
1
W szczególności wciąż znajduje python3.4 zamiast python3.5 i nie mam pojęcia, jak skierować go do używania python3.5. Kiedy próbowałem zaimportować opencv w python3.4, otrzymałem inny błąd dotyczący niektórych brakujących zależności
CashCow
Ostatnim bitem ostatniego polecenia powinno być ../../opencv-3 Myślę, że ... jesteście dwa katalogi od określenia katalogu opencv-3
wyrazy
Chcesz również korzystać ze wszystkich procesorów make, więc jeśli masz 8 rdzeni, zrób tomake -j8
wyrazy
Uruchom cmake z innego równoległego katalogu, w przeciwnym razie otrzymasz ten problem stackoverflow.com/questions/45518317/…
100rabh
40

Znalazłem to .

OpenCV na kołach.

Nieoficjalne pakiety OpenCV dla Pythona.

Instalacja była bezbolesna dla Ubuntu 16.04:

pip3 install opencv-python

Sprawdź instalację:

python3
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.2.0'
Trevor
źródło
1
Podoba mi się to rozwiązanie, ale otrzymałem następujący komunikat o błędzie:Could not find any downloads that satisfy the requirement opencv-python
Jeff Tian
To może być najprostsze, działające rozwiązanie, chyba że szukasz wyższej wersji opencv
Joshua Owoyemi
1
upewnij się, że używasz pip3, a NIE pip!
givonz
W moim kontenerze lxc brakowało również: apt-get install -y libsm6 libxext6 libxrender-dev
DanJ
łatwe, ale ten pakiet nie ma funkcji wideo
Beyhan Gül
8

Python3-opencv można zainstalować z repozytorium Universe w Ubuntu 17.10 i nowszych. Otwórz terminal i wpisz:

sudo apt install python3-opencv  

Zaktualizuj system operacyjny do 18.04, jeśli używasz Ubuntu 14.04 lub Ubuntu 16.04. Jeśli Ubuntu 16.04 jest zainstalowany w WSL sudo do-release-upgrade -d, zaktualizuje go do 18.04.

Karel
źródło
2

Najprostszym i najbardziej eleganckim sposobem, w jaki znalazłem się w Internecie, jest instalacja biblioteki poprzez uruchomienie skryptu instalacyjnego. Pobierz skrypt instalacyjnyinstall-opencv.sh , otwórz terminal i wykonaj:

bash install-opencv.sh

Wpisz hasło sudo, a zainstalujesz OpenCV. Ta operacja może zająć dużo czasu ze względu na instalację pakietów i proces kompilacji.

Odniesienie: https://milq.github.io/install-opencv-ubuntu-debian/

Oluwayetty
źródło
1

Obecnie pracuję z Google VM (ubuntu 14.04). Instalacja opencv w wersji python3.4 była dość trudnym zadaniem. Chciałem zainstalować opencv dla Pythona 3.4, ale za każdym razem, gdy był instalowany w wersji 2.7.

Podzielę się krokami, które podjąłem, aby pomóc innym w tym.

Krok 1 Wykonaj wszystkie kroki opisane w części instalacyjnej openCv do cmake. Link podano poniżej:

https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html

Uwaga: zainstaluj wszystkie 3 pakiety wymienione na początku. Ten opcjonalny też .. !! I nie zapomnij zmienić wersji Pythona, dla której instalujesz.

Zrobiłem

sudo apt-get install python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

Wykonaj krok 2 dla cmake.

Krok 2 Aby zainstalować opencv w określonej wersji Pythona (ubuntu), musisz ustawić wartość domyślną (PYTHON_DEFAULT_EXECUTABLE) ze ścieżką do miejsca, w którym jest zainstalowany Python. Możesz to sprawdzić za pomocą polecenia whereis python3.4 (lub twojej wersji). Mój był w środku/usr/bin/python3.4

Zamiast cmake wspomnianego na stronie użyj tego,

cmake -D CMAKE_BUILD_TYPE=Release -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_opencv_python3=ON -D HAVE_opencv_python3=ON -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3.4 ..

Uwaga: Nie zapomnij zmienić wersji i ścieżki Pythona w PYTHON_DEFAULT_EXECUTABLE.

Krok 3 Wykonaj pozostałe kroki wymienione w linku, aż sudo dokona instalacji

Mam nadzieję, że to pomoże.

Vaibhav
źródło
0

Przewodnik podstawowy: https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html

Poniższe, przetestowane na Ubuntu 18.04 , instaluje OpenCV 4.1.0-dev i nie korzysta ze środowiska wirtualnego Python. Jeszcze nie zorientowałem się, jak działają. Tutaj umieszczam odpowiedź, aby była bardziej widoczna.

Wymagania

[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

Jak zainstalować Jasper: https://github.com/opencv/opencv/issues/8622#issuecomment-353761271

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

1. Klonowanie repozytoriów

Instalacja obejmie moduły contrib.

cd ~/<my_working_directory>
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

(Git oddziału do 3.4, aby zainstalować tę wersję.)

1.1 Utwórz folder kompilacji

Jeśli się zepsujesz, po prostu usuń folder kompilacji i zacznij od nowa .

mkdir build
cd build

2. Konfiguracja

Używam następujących flag cmake:

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..

Opcjonalne flagi: (jest wiele flag , zobacz kilka przydatnych postów na tym blogu )

-DINSTALL_C_EXAMPLES=ON 
-DINSTALL_PYTHON_EXAMPLES=ON 
-DWITH_TBB=ON 
-DWITH_V4L=ON 
-DWITH_QT=ON 
-DWITH_OPENGL=ON
-DWITH_NVCUVID=ON 
-DWITH_CUDA=ON
-DWITH_OPENMP=ON 
-DWITH_IPP=ON
-DWITH_OPENCL=ON

Upewnij się, że cmake znajduje wersję Pythona, sprawdzając, czy w danych wyjściowych znajduje się:

--   Python 2:
--     Interpreter:                 /usr/bin/python2.7 (ver 2.7.15)
--     Libraries:                   /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.15+)
--     numpy:                       /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.13.3)
--     install path:                lib/python2.7/dist-packages/cv2/python-2.7
-- 
--   Python 3:
--     Interpreter:                 /usr/bin/python3 (ver 3.6.8)
--     Libraries:                   /usr/lib/x86_64-linux-gnu/libpython3.6m.so (ver 3.6.8)
--     numpy:                       /home/jx/.local/lib/python3.6/site-packages/numpy/core/include (ver 1.15.4)
--     install path:                lib/python3.6/dist-packages/cv2/python-3.6

Jak określić, które wersje Pythona mają być używane

3. Wykonaj i zainstaluj

Użyj make z żądaną liczbą wątków (np. Liczba procesorów), a następnie zainstaluj.

make -j8
sudo make install

Teraz należy zainstalować /usr/local

4. Test

Jeśli wszystko poszło dobrze, powinieneś być w stanie zaimportować CV2 do Pythona.

import cv2
cv2.__version__
qwr
źródło
-1

OpenCV można zainstalować za pomocą pip / pip3 i homebrew. Próbowałem go zainstalować przed użyciem pip3 (Python 3.6.0), ale miałem problemy z VideoCapture, który wymaga pakietu ffmpeg. cv2.VideoCapture („nazwa pliku wideo”). Dlatego użyłem homebrew do instalacji OpenCV. Otwórz terminal za pomocą Ctrl+ Alt+ Ti wpisz następujące polecenia:

brew install ffmpeg
brew install opencv3 --with-ffmpeg -v (Python 2.7)
brew install opencv3 --with-python3 --with-ffmpeg -v (Python 3.6)
Biranchi
źródło
3
Dlaczego sugerujesz używanie homebrew?
guntbert
1
OpenCV można zainstalować za pomocą pip / pip3 i homebrew. Zainstalowałem przy użyciu pip3 (Python 3.6.0), ale miałem problemy z VideoCapture, który wymaga pakietu ffmpeg. cv2.VideoCapture ('videofilename') Więc użyłem homebrew do instalacji i działało dobrze.
Biranchi,
2
@Biranchi zaktualizuj swoją odpowiedź o informacje z twojego komentarza (i może dodaj więcej informacji).
Simon Sudler,