Jak zainstalować Python OpenCV za pośrednictwem Conda?

229

Próbuję zainstalować OpenCV dla Pythona za pośrednictwem Anacondy , ale nie mogę tego rozgryźć.

próbowałem

conda install opencv
conda install cv2

Próbowałem także szukać

conda search cv

Bez cygara Natknąłem się na to, które wyświetla opencvjako dołączony pakiet:

http://docs.continuum.io/anaconda/pkgs.html

Po uruchomieniu conda infozauważyłem, że moja wersja to 3.4.1, ale nie mogłem znaleźć żadnych informacji o tej wersji online. Jestem dość zdezorientowany.

Czy brakuje mi czegoś całkiem oczywistego? Jeśli opencvbył dostępny dla poprzedniej wersji Anacondy, to dlaczego nie miałby być dostępny dla nowszej wersji? I dlaczego ten link pokazuje tylko dokumentację dla wersji 1.9.2?

Chet
źródło
1
obecny moduł otoki opencv nazywa się cv2. (pierwszy na liście jest przestarzałym opakowaniem innej firmy, trzeci jest przestarzałym opakowaniem c-api, nie powinieneś używać żadnego z nich) - niestety nigdy nie spotkałem osoby, która uruchomiłaby go z powodzeniem na anakondy. nie możesz używać zwykłego Pythona 2.7?
berak
4
Z anakondą nic nie stoi na przeszkodzie, aby używać go z opencv. Po prostu nie jest dołączony do instalacji conda, z wyjątkiem Linuksa. Możesz pobrać instalacyjne pliki binarne stąd dla Windows.
M4rtini
3
Działa już ze standardowego repozytorium:conda install opencv
fviktor
1
wszyscy. Odkryłem, że korzystanie z innych właścicieli Anaconda Cloud Repository również działa. np. zamiast używać openpo w menpo używał conda-forge. oto właściciele kilku OpenCV wymienionych z odpowiednimi systemami operacyjnymi: anaconda.org/search?q=openCV Uruchomiłem ten kod: conda install -c conda-forge opencv = 3.2.0 Powodzenia!
RaúlMG
2
W przypadku anaconda 3 wpisz conda install opencvpolecenie w wierszu polecenia annaconda. Instaluje z nim 3.4.1 opencv i różne pakiety zależne. Pracował dla mnie, a także nie wymagał żadnej niestandardowej specyfikacji instalacji.
ambar mishra

Odpowiedzi:

223

Możesz zainstalować go za pomocą binstar:

conda install -c menpo opencv
jonnycowboy
źródło
9
Próbowałem użyć tej metody do zainstalowania OpenCV, ale napotyka mnie problem polegający na tym, że kiedy wpisuję import cv, pojawia się błąd ładowania DLL nie powiodło się: Nie można znaleźć określonego modułu. Zastanawiałem się, czy napotkałeś ten problem podczas instalacji.
cogle
5
Pracował dla mnie w
systemie
1
Hmmm, chociaż nie pozwala mi to import cv2.cv(czy brakuje mi czegoś oczywistego?)
Andy Hayden
2
Działa to na OSX 10.10.5 z condą 13.8.4. Jedynym „drobnym” problemem jest to, że wymaga numpy 1.10.1, co jest w porządku, ale uruchomiłem aktualizację conda - wszystkie i niektóre biblioteki wymagały obniżenia wersji do 1.9 w celu uruchomienia.
mercergeoinfo
2
Działa to dobrze z Anacondą 2.7 na Win10 64bit, podczas gdy conda install opencvnie.
Anton Schwaighofer
117

conda install opencvobecnie działa dla mnie na UNIX / python2. Warto najpierw spróbować przed skonsultowaniem innych rozwiązań.

RussellStewart
źródło
3
Działa dla mnie trzy, na Ubuntu 14.04. :-) DZIĘKI!
Rafael_Espericueta
10
Nie z pythonem 3.4:Error: Unsatisfiable package specifications.
Andy Hayden
7
Użycie po prostu „conda install opencv” na Ubuntu 14.04 z Anacondą 2.7 i PyCharm generuje błąd, gdy używam „cv2.imshow („ name ”, img), który wskazuje, że pakiet musi zostać przebudowany z obsługą„ GTK + 2.x ”, więc nie wydaje się przydatny dla kogoś, kto używa PyCharm jako IDE na Ubuntu.
Phil Glau,
1
Czy conda search opencvzwraca wyniki dla Ciebie? To nie dla mnie.
user3731622,
1
Współpracuje z Ubuntu 18.04 i Python 3.6
Nagabhushan SN 5'19
113

To działało dla mnie (na Ubuntu i Conda 3.18.3):

conda install --channel https://conda.anaconda.org/menpo opencv3

Powyższe polecenie zostało mi pokazane, gdy uruchomiłem następujące polecenie:

anaconda show menpo/opencv3

To był wynik:

To install this package with conda run:
     conda install --channel https://conda.anaconda.org/menpo opencv3

Przetestowałem następujące w python bez błędów:

>>> import cv2
>>>
Joben R. Ilagan
źródło
6
Próbując wielu innych sposobów instalacji opencv3, to w końcu działało dla mnie na OSX 10.10.5
Merlin
2
W górę, proszę pana!
Działa
3
Pracowałem również dla systemu Windows 10
dshgna
1
Wspaniały. Działa cudownie dobrze. wypróbowałem wiele innych opcji i dzięki w pełni znalazłem to. Dziękuję bardzo. Windows 8.1 X64
Natarajan Raman
2
co ciekawe, instaluje cv2.pyd, który ma ~ 2,3 MB. Ale jeśli wejdziesz na stronę openCV i pobierzesz plik binarny, stamtąd opencv2.pyd ma> 44 MB. Ponadto oba pliki pyd przechodzą test „importowania”. Zastanawiam się więc, dlaczego repozytorium anakondy jest znacznie mniejsze?
aquagremlin
77

Podsumowałem moje w pełni działające rozwiązanie, OpenCV-Python - Jak zainstalować pakiet OpenCV-Python w Anaconda (Windows) . Niemniej jednak skopiowałem i wkleiłem ważne fragmenty tego postu.


W chwili pisania tego tekstu korzystałem z systemu Windows 8.1, 64-bitowego komputera, Anaconda / Python 2.x. (patrz uwagi poniżej - działa to również w systemie Windows 10 i prawdopodobnie również w języku Python 3.x).

  • UWAGA 1: jak wspomniano w @great_raisin (dziękuję) w sekcji komentarzy, wydaje się jednak, że to rozwiązanie działa również w systemie Windows 10.

  • UWAGA 2: prawdopodobnie będzie to również działać dla Anaconda / Python 3.x. Jeśli korzystasz z systemu Windows 10 i Anaconda / Python 3.x, a to rozwiązanie działa, dodaj komentarz poniżej. Dzięki! (Aktualizacja: z uwagi na komentarz „Praca w systemie Windows 10”)

  • UWAGA 3: w zależności od tego, czy korzystasz z Pythona 2.x czy 3.x, po prostu odpowiednio dostosuj printinstrukcję we fragmentach kodu. tj. w Pythonie 3.x byłoby print("hello"), aw Pythonie 2.x byłoby print "hello".

TL; DR

Aby w pełni korzystać z OpenCV z Anacondą (i Spyder IDE), musimy:

  1. Pobierz pakiet OpenCV z oficjalnej strony OpenCV
  2. Skopiuj i wklej cv2.pyddo katalogu Anaconda site-packages.
  3. Ustaw zmienne środowiskowe użytkownika, aby Anaconda wiedziała, gdzie znaleźć narzędzie FFMPEG.
  4. Przeprowadź testy, aby potwierdzić, że OpenCV i FFMPEG działają teraz.

(Przeczytaj szczegółowe instrukcje ...)

Warunek wstępny

Zainstaluj Anaconda

Anaconda to zasadniczo ładnie zapakowane IDE Pythona, które jest dostarczane z mnóstwem przydatnych pakietów, takich jak NumPy, Panda, Notebook IPython itp. Wydaje się, że jest zalecane wszędzie w środowisku naukowym. Sprawdź Anaconda, aby ją zainstalować.

Zainstaluj OpenCV-Python w Anaconda

Uwaga: pierwotnie próbowałem zainstalować pakiet OpenCV binstar.org, zgodnie z sugestią. Ta metoda nie obejmuje jednak kodeka FFMPEG - tzn. Możesz używać OpenCV, ale nie będziesz w stanie przetwarzać filmów.

Poniższa instrukcja jest dla mnie inspirowana tym filmem na YouTube OpenCV . Do tej pory działało zarówno na moim komputerze stacjonarnym, jak i laptopie, zarówno na komputerach 64-bitowych, jak i Windows 8.1.

Pobierz pakiet OpenCV

Najpierw przejdź do oficjalnej strony OpenCV, aby pobrać pełny pakiet OpenCV. Wybierz wersję, którą lubisz (2.x lub 3.x). Korzystam z języka Python 2.x i OpenCV 3.x - głównie dlatego, że w ten sposób konfiguruje się / opiera się samouczki OpenCV-Python .

W moim przypadku rozpakowałem pakiet (zasadniczo folder) prosto na mój dysk C ( C:\opencv).

Skopiuj i wklej plik cv2.pyd

Katalog Anaconda Site-packages (np. C:\Users\Johnny\Anaconda\Lib\site-packagesW moim przypadku) zawiera pakiety Python, które możesz zaimportować. Naszym celem jest skopiowanie i wklejenie cv2.pydpliku do tego katalogu (abyśmy mogli użyć import cv2w naszych kodach Python).

Aby to zrobić, skopiuj cv2.pydplik ...

Z tego katalogu OpenCV (część początkowa może się nieco różnić na twoim komputerze). W przypadku Pythona 3.x, po prostu zmień odpowiednio 2.xna 3.x.

# Python 2.7 and 32-bit machine:
C:\opencv\build\python\2.7\x84

# Python 2.7 and 64-bit machine:
C:\opencv\build\python\2.7\x64

Do tego katalogu Anaconda (część początkowa może się nieco różnić na twoim komputerze):

C:\Users\Johnny\Anaconda\Lib\site-packages

Po wykonaniu tego kroku będziemy mogli używać import cv2kodu Python. ALE wciąż musimy wykonać trochę więcej pracy, aby FFMPEG (kodek wideo) działał (aby umożliwić nam takie czynności, jak przetwarzanie filmów).

Ustaw zmienne środowiskowe

Kliknij prawym przyciskiem myszy „Mój komputer” (lub „Ten komputer” w systemie Windows 8.1) → kliknij lewym przyciskiem myszy Właściwości → kliknij lewym przyciskiem myszy kartę „Zaawansowane” → kliknij lewym przyciskiem myszy przycisk „Zmienne środowiskowe ...”.

Dodaj nową zmienną użytkownika, aby wskazywała na OpenCV (x86 dla systemu 32-bitowego lub x64 dla systemu 64-bitowego). Obecnie jestem na komputerze 64-bitowym.

| 32-bit or 64 bit machine? | Variable     | Value                                |
|---------------------------|--------------|--------------------------------------|
| 32-bit                    | `OPENCV_DIR` | `C:\opencv\build\x86\vc12`           |
| 64-bit                    | `OPENCV_DIR` | `C:\opencv\build\x64\vc12`           |

Dołącz %OPENCV_DIR%\bindo zmiennej użytkownika PATH.

Na przykład moja PATHzmienna użytkownika wygląda następująco ...

Przed:

C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts

Po:

C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts;%OPENCV_DIR%\bin

To już koniec! FFMPEG jest gotowy do użycia!

Testuj, aby potwierdzić

Musimy sprawdzić, czy możemy teraz to zrobić w Anaconda (za pośrednictwem Spyder IDE):

  • Zaimportuj pakiet OpenCV
  • Użyj narzędzia FFMPEG (do odczytu / zapisu / przetwarzania filmów)

Test 1: Czy możemy zaimportować OpenCV?

Aby potwierdzić, że Anaconda jest teraz w stanie zaimportować pakiet OpenCV-Python (a mianowicie cv2), wydaj je w konsoli IPython:

import cv2
print cv2.__version__

Jeśli paczka cv2zostanie zaimportowana OK bez błędów, a cv2wersja zostanie wydrukowana, wszyscy jesteśmy dobrzy! Oto migawka:

import-cv2-ok-in-anaconda-python-2.png
(źródło: mathalope.co.uk )

Test 2: Czy możemy użyć kodeka FFMPEG?

Umieść przykładowy input_video.mp4plik wideo w katalogu. Chcemy przetestować, czy możemy:

  • przeczytaj ten .mp4plik wideo i
  • napisz nowy plik wideo (może być .avilub .mp4itp.)

Aby to zrobić, musimy mieć testowy kod Python, nazwij go test.py. Umieść go w tym samym katalogu, co input_video.mp4plik przykładowy .

Tak test.pymoże wyglądać (wymieniłem tu zarówno kody nowszej, jak i starszej wersji - daj nam znać, który z nich działa / nie działa!).

(Nowsza wersja...)

import cv2
cap = cv2.VideoCapture("input_video.mp4")
print cap.isOpened()   # True = read video successfully. False - fail to read video.

fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter("output_video.avi", fourcc, 20.0, (640, 360))
print out.isOpened()  # True = write out video successfully. False - fail to write out video.

cap.release()
out.release()

(Lub starsza wersja ...)

import cv2
cv2.VideoCapture("input_video.mp4")
print cv2.isOpened()   # True = read video successfully. False - fail to read video.

fourcc = cv2.cv.CV_FOURCC(*'XVID')
out = cv2.VideoWriter("output_video.avi",fourcc, 20.0, (640,360))
print out.isOpened()  # True = write out video successfully. False - fail to write out video.

cap.release()
out.release()

Ten test jest BARDZO WAŻNY. Jeśli chcesz przetwarzać pliki wideo, musisz upewnić się, że Anaconda / Spyder IDE może korzystać z FFMPEG (kodek wideo). Uruchomienie go zajęło mi kilka dni. Ale mam nadzieję, że zajmie ci to znacznie mniej czasu! :)

Uwaga: Jeszcze jedna bardzo ważna wskazówka podczas korzystania z Anaconda Spyder IDE. Upewnij się, że sprawdziłeś bieżący katalog roboczy (CWD) !!!

Wniosek

Aby w pełni korzystać z OpenCV z Anacondą (i Spyder IDE), musimy:

  1. Pobierz pakiet OpenCV z oficjalnej strony OpenCV
  2. Skopiuj i wklej cv2.pyddo katalogu Anaconda site-packages.
  3. Ustaw zmienne środowiskowe użytkownika, aby Anaconda wiedziała, gdzie znaleźć narzędzie FFMPEG.
  4. Przeprowadź testy, aby potwierdzić, że OpenCV i FFMPEG działają teraz.

Powodzenia!

Atlas7
źródło
4
Genialna odpowiedź! Pamiętaj, że jeśli używasz środowisk conda, cv2.pydnależy je dodać do site-packagesfolderu środowiska (np C:\Users\cod3monk3y\Anaconda\envs\foo\Lib\site-packages\cv2.pyd.). Warto również zauważyć, że plik .pyd jest po prostu biblioteką DLL systemu Windows ze specyficznym interfejsem, umożliwiającym ładną grę w Pythonie.
cod3monk3y
kod, który napisałeś powyżej, wypisuje true, prawda dla mnie, ale wynik jest pustym plikiem wideo 6kb. Jednak poniższy kod poprawnie zapisuje się w pliku. (jak uzyskać
podział
1
Gdybym mógł to zwiększyć, zrobiłbym to, najlepszą odpowiedź kiedykolwiek. Chciałbym tylko dodać, jeśli zainstalowałeś Pythona, odinstaluj go, conda ma swój własny
Mickey Perlstein
1
Dzięki za to! Jeszcze jeden sugerowany test, który zajął mi trochę czasu. Po potwierdzeniu, że wideo można otworzyć, chciałem potwierdzić, że mogę wyodrębnić ramkę (ramkę 100) jako tablicę. W openCV 2.4.9, polecenie to brzmiało cap.set (cv2.cv.CV_CAP_PROP_POS_FRAMES, 100). W openCV 3.2.0 odpowiednik polecenia zmienił się na cap.set (cv2.CAP_PROP_POS_FRAMES, 100)
ollerend
1
Dziękuję panu za tę niesamowitą i dobrze wyjaśnioną odpowiedź. Ułatwiasz życie wielu początkującym!
Ibrahim Amer
29

Wygląda na to, że nie zawiera już strony, do której prowadzi link opencv. (Zabawne, pamiętam, że zostało to również uwzględnione w poprzednim punkcie).

W każdym razie instalacja OpenCV w Anaconda, choć niedostępna przez conda, jest dość trywialna. Musisz tylko pobrać jeden plik.

  1. Pobierz OpenCV ze strony http://opencv.org/downloads.html i rozpakuj
  2. Z wyodrębnionego folderu skopiuj plik z wyodrębnionego katalogu: opencv / build / python / 2.7 / (x86 lub x64, w zależności od wersji Anaconda) /cv2.pyd do katalogu pakietów witryn Anaconda, np. C: \ Anaconda \ Lib \ site-packages
  3. Aby FFmpeg opencvdziałał, musisz dodać do ścieżki katalog, w którym znajduje się FFmpeg (np. Opencv / sources / 3rdparty / ffmpeg). Następnie musisz znaleźć plik DLL w tym folderze (np. Opencv_ffmpeg_64.dll) i skopiować go lub zmienić jego nazwę na nazwę pliku zawierającą opencvinstalowaną wersję (np. Opencv_ffmpeg249_64) dla 2.4.9.

Teraz po pytaniu w Pythonie powinieneś być w stanie wpisać „import cv2” ... aby sprawdzić, czy to działa, wpisz „print cv2 .__ wersja__” i powinien wydrukować pobraną wersję OpenCV.

eculeus
źródło
7
Ktoś również stworzył pakiet binstar, który powinieneś móc pobrać teraz przez Condę: binstar.org/menpo/opencv/files
Ivo Flipse
czy możesz mi powiedzieć, jak pobrać opencv przez Conda? Pobrałem pakiet mac w powyższym linku, co mam teraz zrobić?
venuktan
@venuktan conda install opencv powinien to zrobić.
spacja
4
@ eculeus, czy mógłbyś rozwinąć nieco więcej na temat weryfikacji ffmpeg. Mogę czytać z mojej kamery internetowej, ale mam problemy z odczytem / zapisem plików wideo. Zajrzałem do tego katalogu 3rdparty / ffmpeg i zmieniłem nazwę dll na: opencv_ffmpeg300_64.dll Wspomniałeś, że ffmpeg powinien być na dobrej drodze. Czy masz na myśli ścieżkę Windows PATH lub sys.path w pythonie?
Paul
1
Pracował dla mnie. Dzięki
Indrajit,
21

W maju 2019 odpowiedź na MacOS jest następująca:

conda update freetype
conda install opencv -c conda-forge

To aktualizuje libfreetype.6.dylibzgodność z 24.0.0 i instaluje OpenCV 4.1.0.

Adam Erickson
źródło
czy to zainstaluje „cv2”?
Suisse
@AdamErickson czy to było w Anaconda Prompt uruchomionym jako administrator?
mLstudent33
2
@ mLstudent33 Polecenie zostało uruchomione w Bash, a instalacja Anaconda była w folderze lokalnym, więc nie sudobyło konieczne. Chciałbym uniknąć działa condajak sudochyba zarządzać całym systemie zainstalować dla wielu użytkowników, co ja również zrobić. W takim przypadku zwykle staram się aktywować środowisko conda, a następnie sudo ./conda ...z /binfolderu tego środowiska jako dodatkowe zabezpieczenie, ponieważ sudozmienia ono PATHnawet podczas korzystania z -Eflagi.
Adam Erickson
@AdamErickson to działało dla mnie, ale zamiast tego dostałem v3.4.2. Jakieś pomysły?
Brett
1
aktualizacja do powyższej: Myślę, że mam już zainstalowaną wcześniejszą wersję libopencv. Po usunięciu działa conda install opencvzainstalowana najnowsza wersja.
Brett
19

Możesz zainstalować OpenCV, uruchamiając następujące polecenia w wierszu polecenia Anaconda:

conda config --add channels conda-forge

conda install libopencv opencv py-opencv

Źródło:

https://github.com/conda-forge/opencv-feedstock

Thiago Falcao
źródło
2
(jest to duplikat istniejącej odpowiedzi, z edycjami, nie jestem pewien, co było pierwsze) repozytorium menpo nie jest już obsługiwane, github.com/menpo/conda-opencv3 ; teraz zalecane jest korzystanie z conda-forge github.com/conda-forge/opencv-feedstock
Michael
Jeśli używasz miniconda pod Ubuntu 18.04; etap „Rozwiązywanie środowiska” potrwa bardzo długo, jeśli masz zainstalowany najnowszy pakiet anakondy. stwórz czystą minicondę env bez masy anakondy (np. conda create --name abc python=2.7)
Oliver Zendel
17

Aby zainstalować OpenCV w Anaconda, uruchom wiersz polecenia Anaconda i zainstaluj OpenCV za pomocą

conda install -c https://conda.anaconda.org/menpo opencv3

Sprawdź, czy działa w konsoli Anaconda Spyder lub IPython

import cv2

Możesz również sprawdzić zainstalowaną wersję, używając:

cv2.__version__
Taiwo O. Adetiloye
źródło
To działało dla mnie w Win 10, 64-bitowym. Działa w Spyder.
pcomitz,
Działa dla opencv3 -> python [wersja = '2.7. * | 3.4. * | 3.5. *']. Błąd w Pythonie 3.7.
Nuhman
@AMC Nie korzystałem z niego. W każdym razie, czy istnieje metoda działania dla wersji 3.7?
Nuhman
1
@Nuhman Tak, możesz uzyskać opencv z oficjalnego kanału Anaconda, a także z Conda-Forge ( tutaj ).
AMC
14

Następujące instalacje opencvz conda-forge(uwaga: wypróbowano w systemie Windows)

conda config --add channels conda-forge
conda install opencv
Muneeb ul Hassan
źródło
4
repozytorium menpo nie jest już obsługiwane, github.com/menpo/conda-opencv3 ; teraz zalecane jest korzystanie z conda-forge github.com/conda-forge/opencv-feedstock
Michael
2
@ Michael naprawdę conda-forge jest w tym momencie właściwą odpowiedzią i jest zakopany w przestarzałych odpowiedziach. :(
eric.
Poszedłem dalej i dodałem aktualizację do tej odpowiedzi, aby ją usunąć menpo, i zaktualizowałem składnię instalacji opencvzgodnie z conda-forgeinstrukcjami. Sama odpowiedź nie uległa zasadniczej zmianie, podobnie jak w menpoprzypadku instalacji „nowszej” wersji opencv3, a my jesteśmy już na opencv4.
Michael
8

Aby zainstalować OpenCv z condą na Windows-64 i Python 3.5, jedyny, który działał dla mnie to:

conda install -c conda-forge opencv=3.1.0 
Crapsy
źródło
7

Miałem dokładnie ten sam problem i nie mogłem dostać conda do zainstalowania OpenCV. Udało mi się jednak zainstalować go za pomocą instalatora OpenCV, który znajduje się na tej stronie:

http://www.lfd.uci.edu/~gohlke/pythonlibs/

Jego pliki to pliki „Wheel” whl, które można zainstalować za pomocą pip, np

pip install SomePackage-1.0-py2.py3-none-any.whl

w oknie poleceń. Działa ze Spyderem bezpośrednio po wykonaniu tego polecenia dla mnie. Mam takie same doświadczenia z innymi pakietami, powyższa strona UC Irvine to kopalnia złota.

OnTheContrary
źródło
7

Wprowadziłem następujące polecenie w wierszu polecenia:

conda install -c menpo opencv=2.4.11

To działało dla mnie !!!

aavos
źródło
Dla mnie też działa!
Gu Wang,
@avos: Dziękuję bardzo
Rika
7

Myślę, że najłatwiejszą opcją, która powinna działać na różnych platformach i w różnych wersjach Anacondy, jest

#Run Anaconda Prompt as an Administrator (on Windows) & execute the command below
#(you may need to use   sudo   on a Unix-Based or Mac system 
#to have the needed permissions)

conda install -c conda-forge opencv
emmanuelsa
źródło
5

Podobnie jak inne, miałem problemy z Python 3.5.1 / Anaconda 2.4.0 na OS X 10.11 ..

Ale znalazłem tutaj kompatybilny pakiet:

https://anaconda.org/menpo/opencv3

Można go zainstalować za pomocą wiersza polecenia:

 conda install -c https://conda.anaconda.org/menpo opencv3

Działa jak urok. Pierwszy raz mam OpenCV do pracy na 3.x!

Dan Nguyen
źródło
5

W Linuksie, jak tu omówiono , najlepszym sposobem na zdobycie opencv jest obecnie loopbio w Conda-Forge:

conda install -c loopbio -c conda-forge -c pkgw-forge ffmpeg-feature ffmpeg gtk2 opencv

Jeśli masz „nowoczesny procesor”, istnieje również skompilowana wersja „umożliwiająca wszystkie współczesne rozszerzenia zestawu instrukcji procesora [...] i przeciwko libjpeg-turbo”:

conda install -c loopbio -c conda-forge -c pkgw-forge ffmpeg-feature ffmpeg gtk2 opencv-turbo`

Dwa z rozwiązań wymienionych w innych odpowiedziach nie działają bezwarunkowo:

  • Conda, przez które przechodzisz conda install opencvlub pip install opencv-pythonnie ma obsługi gtk2, więc nie możesz wyświetlać obrazów przez imshow.
  • Conda zbudowana przez Menpo ( conda install -c menpo opencv3) ma obsługę gtk2, ale
    • zbudowali tylko OpenCV 3.2 dla Python 3.5, a nie Python 3.6
    • Ubuntu 16.10 jest przestarzałe libpng12, co prowadzi do braku zależności i następującego błędu podczas próby import cv2: ImportError: libpng12.so.0: cannot open shared object file: No such file or directoryjak omówiono tutaj

EDYCJA: @Yamaneko wskazuje, że od 14 czerwca 2017 r. „Występuje problem z OpenCV w wersji 3.2.0 loopbio. Po cichu nie czyta ani nie zapisuje filmów. Jest to spowodowane kombinacją problemu OpenCV w połączeniu z stary GCC. Więcej szczegółów tutaj . Jest PR na drodze do rozwiązania problemu. ”

oulenz
źródło
1
+1 przyszedł tutaj tylko po to. Trzeba jednak pamiętać, że na dzień dzisiejszy istnieje problem z OpenCV w wersji 3.2.0 loopbio. Po cichu nie czyta ani nie pisze filmów. Jest to spowodowane kombinacją problemu OpenCV w połączeniu ze starym GCC. Więcej informacji tutaj . Na drodze jest rozwiązanie problemu.
Yamaneko
5

działa na systemie Windows anaconda3 10 Już go pobrałem na 5 grudnia 2019 r.

Po pierwsze, używając tego polecenia:

pip install opencv-contrib-python

po tym Windows poprosi o pozwolenie i spróbuje ponownie:

pip install opencv-contrib-python --user

spójrz na to to działa !!

openCV za pomocą anakondy openCV za pomocą anakondy

Kamal Hurnala
źródło
Czy istnieje jakiś powód, aby to zrobić zamiast instalować go z Conda-Forge? Nawiasem mówiąc, używanie środowiska podstawowego do programowania jest złym pomysłem, po prostu go nie dotykaj.
AMC
4

Rozwiązanie tylko dla systemu Windows . Instalacja pip OpenCV 3.x dla Python 3.x

Pobierz plik .whl ( cp MN, gdzie masz Python MN). contrib zawiera dodatkowe pakiety OpenCV. Na przykład, zakładając, że masz Python 3.6 i Windows 64-bit, możesz pobrać opencv_python ‑ 3.2.0 + contrib ‑ cp36 ‑ cp36m ‑ win_amd64.whl

W wierszu polecenia wpisz:

pip install opencv_python3.2.0+contribcp36cp36mwin_amd64.whl

Będziesz miał paczkę w conda list:opencv-python 3.2.0+contrib <pip>

Teraz możesz to przetestować (bez błędów):

>>> import cv2
>>>

Oryginalna strona źródłowa, na której wziąłem informacje, jest tutaj .

FooBar167
źródło
4

Łatwym i prostym rozwiązaniem jest instalacja Python3.5 przed instalacją opencv3

conda install python=3.5

śledzony przez

conda install --channel https://conda.anaconda.org/menpo opencv3 
salhin
źródło
1
nie ma opencv3, musi byćopencv=3.1.0
dashy
4

Jeśli conda install opencvlub conda install -c https://conda.binstar.org/menpo opencvnie działa, możesz spróbować skompilować ze źródła.

Pobierz źródło z http://opencv.org/downloads.html , postępuj zgodnie z instrukcją instalacji w http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html , (możesz skakać bezpośrednio do ostatniej części, „ Budowanie OpenCV ze źródła za pomocą CMake ... ), zmień cmakepolecenie w następujący sposób:

mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/**/env/opencv-2.4.10 -D BUILD_NEW_PYTHON_SUPPORT=ON -D PYTHON_EXECUTABLE=/home/**/env/anaconda/bin/python -D PYTHON_INCLUDE_DIR=/home/**/env/anaconda/include/python2.7 -D PYTHON_LIBRARY=/home/**/env/anaconda/lib/libpython2.7.so -D PYTHON_PACKAGES_PATH=/home/**/env/anaconda/lib/python2.7/site-packages -D PYTHON_NUMPY_INCLUDE_DIRS=/home/**/env/anaconda/lib/python2.7/site-packages/numpy/core/include ..

make -j4
make install

Znajdziesz cv2.so w anaconda/lib/python2.7/site-packages.

Następnie:

import cv2
print cv2.__version__

Wydrukuje się 2.4.10.

Moje środowisko to GCC 4.4.6, Python 2.7 (anaconda) i opencv-2.4.10.

liuyuyuil
źródło
3

Właśnie zainstalowałem conda 4.7.11 w Windows 10. OpenCV można łatwo zainstalować w Anaconda Navigator. Po uruchomieniu programu Navigator kliknij opcję Środowiska na lewym panelu. Z rozwijanego menu wybierz Niezainstalowany . Następnie wyszukaj py-opencv , zaznacz lewe pole wyboru, aby go zainstalować. Zainstaluje pakiet zależny libopencv . Używam import cv2w Spyder, aby uzyskać do niego dostęp.

wprowadź opis zdjęcia tutaj

kiatng
źródło
Nic w tym zakresie nie jest specyficzne ani unikalne dla Anaconda Navigator.
AMC
2

Poniższe polecenie również działa dla mnie. Korzystam z wbudowanego notebooka IPython w Anaconda.

conda install -c https://conda.binstar.org/menpo opencv
Felicia.H
źródło
2

Prawidłowe polecenie instalacji bieżącej wersji OpenCV 3.3 w systemie Windows Anaconda:

conda install -c conda-forge opencv

lub

conda install -c conda-forge/label/broken opencv

W wersji 3.2 użyj tego:

conda install -c menpo opencv3
Sean
źródło
1
conda install -c https://conda.anaconda.org/menpo opencv

Spróbuj tego

Kanwar Malik
źródło
1

Właśnie próbowałem na dwóch komputerach z Win32 Python 3.5. Na początku byłem w stanie conda install opencv, ale to nie działało ani nie działała wersja z menpp, ale to działało:

conda install -c https://conda.binstar.org/conda-forge opencv
hum3
źródło
1

Miałem kroki w repozytorium , które pomogą ci poprawnie zainstalować OpenCV.

Jeśli linki są uszkodzone, zobacz to.

Aby uzyskać wymagania i wymagania wstępne, postępuj zgodnie z tymi instrukcjami:

POTRZEBUJESZ SYSTEMU WINDOWS, aby rozpocząć ten projekt.

Windows 7 do 10

Postępuj dokładnie według kroków

  1. Zainstaluj Anaconda2 32/64 python 2

    lub

    Zainstaluj Anaconda3 32/64 python 3

    To zależy od informacji o systemie

    Po drodze musisz sprawdzić, czy wszystkie opcje ignorują czerwony tekst

    Następnie poczekaj, aż instalacja się zakończy ...

    Otwórz administratora CMD po zakończeniu instalacji

    Upewnij się, że anakonda-python jest skonfigurowany w CMD admin

  2. Wpisz: python

    To wyjdzie:

    C: \ WINDOWS \ system32> python Python 3.6.3 | Anaconda custom (64-bit) | (domyślnie, 15 października 2017 r., 03:27:45)

    [MSC v.1900 64 bit (AMD64)] w win32 Wpisz „pomoc”, „prawo autorskie”, „kredyty” lub „licencja”, aby uzyskać więcej informacji.

  3. Następnie należy zainstalować pakiety:

    Numpy

    OpenCV

    PyMySQL lub pymysql

    Zainstaluj i zaimportuj OpenCV

    conda install -c conda-forge opencv = (wersja opcjonalna)

    (kliknij tak, jeśli są aktualizacje)

    Zainstaluj i zaimportuj Numpy

    pip install numpy

    (kliknij tak, jeśli są aktualizacje)

    Zainstaluj i zaimportuj PyMySQL / pymysql

    pip zainstaluj PyMySQL lub pymysql

  4. Gdy cały pakiet zostanie całkowicie zainstalowany, musisz go zrestartować.

    ponownie przejdź do administratora CMD

    wpisz „python”

    import cv2 (cv2 to OpenCV)

    importuj Numpy lub Numpy

    import pymysql

    import os

    z PIL z obrazu

    jeśli wszystko jest w porządku .. jesteś gotowy do uruchomienia kodu !!

    Po zakończeniu wszystkich kroków możesz teraz przetestować kod w pythonie SPYDER, którego używam

Romelii Gaballo Albia
źródło
Chociaż ten link może odpowiedzieć na pytanie, lepiej jest dołączyć tutaj istotne części odpowiedzi i podać link w celach informacyjnych. Odpowiedzi zawierające tylko łącze mogą stać się nieprawidłowe, jeśli połączona strona ulegnie zmianie. - Z recenzji
Yaron
@Yaron. prawdopodobnie tak się stanie w przyszłości.
Romelii Gaballo Albia
Wydaje się to niepotrzebnie długie. Co ważniejsze, dlaczego miałbyś używać pipa do instalowania bibliotek takich jak NumPy?
AMC
1

Chociaż nie przez Condę, a jest to specyficzne dla Ubuntu, najłatwiejszym sposobem zainstalowania OpenCV ze wszystkimi wbudowanymi modułami contrib, takimi jak SIFT i SURF, jest użycie:

pip install opencv-contrib-python

Obsługuje Python2.7 + i Python 3.4+

Jeśli zdecydujesz się nie mieć wbudowanych wkładów, możesz zamiast tego zrobić:

pip install opencv-python

Musisz jednak zainstalować poniższe zależności przed uruchomieniem tych poleceń:

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

To jest dobry samouczek na temat ustawiania OpenCV na Ubuntu: https://medium.com/@debugvn/installing-opencv-3-3-0-on-ubuntu-16-04-lts-7db376f93961

MetalloyD
źródło
0

Napotkałem ten sam problem, ale rozwiązałem go teraz. Oto co zrobiłem:

Najpierw wpisz conda install -c https://conda.binstar.org/menpo opencvw wierszu polecenia, a następnie znajdź ścieżkę Anaconda\pkgs\opencv-2.4.9.1-np19py27_0\Lib\site-packages. Teraz skopiuj wszystkie znajdujące się tutaj pliki Anaconda\Lib\site-packages. Teraz będziesz mógł używać OpenCV z Pythonem.

pan Fasola
źródło
0

Chciałem tylko zaktualizować genialną odpowiedź od Atlas7 .

Jeśli używasz OpenCV 3, zmień kod testowy na następujący:

import cv2
cap=cv2.VideoCapture("input_video.mp4")
print cap.isOpened()   # True = read video successfully. False - fail to read video.

fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))
print out.isOpened()  # True = write out video successfully. False - fail to write out video.

cap.release()
out.release()
Phoenix666
źródło