Şimdi tamamen çalışan çözümüm olan OpenCV-Python - Anaconda'ya (Windows) OpenCV-Python paketini nasıl yükleyeceğim özetledim . Yine de önemli parçaları kopyalayıp bu yazıya yapıştırdım.
Yazma sırasında Windows 8.1, 64 bit makine, Anaconda / Python 2.x kullanıyordum. (aşağıdaki notlara bakın - bu, Windows 10 ve muhtemelen Python 3.x için de geçerlidir).
NOT 1: yorum bölümünde @great_raisin (teşekkür ederim) tarafından belirtildiği gibi , bu çözüm Windows 10 için de işe yarıyor gibi görünüyor.
NOT 2: Bu muhtemelen Anaconda / Python 3.x için de çalışacaktır. Windows 10 ve Anaconda / Python 3.x kullanıyorsanız ve bu çözüm işe yarıyorsa, lütfen aşağıya bir yorum ekleyin. Teşekkürler! (Güncelleme: "Windows 10 üzerinde çalışma" yorumundan not alın)
NOT 3: Python 2.x veya 3.x kullanıp kullanmadığınıza bağlı olarak, print
ifadeyi kod snippet'lerinde uygun şekilde ayarlayın . yani Python 3.x'de olurdu print("hello")
ve Python 2.x'de olurdu print "hello"
.
TL; DR
OpenCV'yi Anaconda (ve Spyder IDE) ile tam olarak kullanmak için şunları yapmamız gerekir:
- Resmi OpenCV sitesinden OpenCV paketini indirin
cv2.pyd
Anaconda site paketleri dizinine kopyalayıp yapıştırın .
- Kullanıcı çevre değişkenlerini Anaconda'nın FFMPEG yardımcı programını nerede bulacağını bileceği şekilde ayarlayın.
- OpenCV ve FFMPEG'in çalıştığını doğrulamak için bazı testler yapın.
(Ayrıntılı talimatlar için okumaya devam edin ...)
Önkoşul
Anaconda'yı yükle
Anaconda aslında NumPy, Pandas, IPython Notebook, vb. Yüklemek için Anaconda'ya göz atın .
AnaConda OpenCV-Python Kurulumu
Dikkatli Not: Başlangıçta önerildiği gibi binstar.org OpenCV paketini yüklemeyi denedim. Ancak bu yöntem FFMPEG kodekini içermez - yani OpenCV'yi kullanabilirsiniz, ancak videoları işleyemezsiniz.
Aşağıdaki talimatlar benim için bu OpenCV YouTube videosundan esinlenmiştir . Şimdiye kadar hem masaüstü hem de dizüstü bilgisayarımda, hem 64 bit makinelerde hem de Windows 8.1'de çalıştım.
OpenCV Paketini İndir
İlk olarak, tüm OpenCV paketini indirmek için resmi OpenCV sitesine gidin . Beğendiğiniz bir sürüm seçin (2.x veya 3.x). Python 2.x ve OpenCV 3.x kullanıyorum - esas olarak bu OpenCV-Python Öğreticileri kurulum / tabanlı olduğu için.
Benim durumumda, paketi (esasen bir klasör) doğrudan C sürücüme çıkardım ( C:\opencv
).
Cv2.pyd dosyasını kopyalayıp yapıştırın
Anaconda Site paketleri dizini (örneğin C:\Users\Johnny\Anaconda\Lib\site-packages
benim durumumda) içe aktarabileceğiniz Python paketlerini içerir. Amacımız cv2.pyd
dosyayı kopyalayıp bu dizine yapıştırmaktır (böylece import cv2
Python kodlarımızda kullanabilirsiniz.).
Bunu yapmak için cv2.pyd
dosyayı kopyalayın ...
Bu OpenCV dizininden (başlangıç kısmı makinenizde biraz farklı olabilir). Python 3.x için, sanırım, sadece değiştirmek 2.x
için 3.x
buna göre.
# 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
Bu Anaconda dizinine (başlangıç kısmı makinenizde biraz farklı olabilir):
C:\Users\Johnny\Anaconda\Lib\site-packages
Bu adımı gerçekleştirdikten sonra artık import cv2
Python kodunda kullanabileceğiz . AMA FFMPEG'in (video codec bileşeni) çalışmasını sağlamak için hala biraz daha fazla iş yapmamız gerekiyor (video işleme gibi şeyler yapmamızı sağlamak için).
Çevresel Değişkenleri Ayarlama
"Bilgisayarım" üzerine sağ tıklayın (veya Windows 8.1'de "Bu PC") → Özellikler'e sol tıklayın → "Gelişmiş" sekmesine sol tıklayın → "Ortam Değişkenleri ..." düğmesine sol tıklayın.
OpenCV'ye işaret etmek için yeni bir Kullanıcı Değişkeni ekleyin (32 bit sistem için x86 veya 64 bit sistem için x64). Şu anda 64 bit bir makinedeyim.
| 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` |
%OPENCV_DIR%\bin
Kullanıcı Değişkeni'ne ekleyin PATH
.
Örneğin, PATH
kullanıcı değişkenim şöyle görünüyor ...
Önce:
C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts
Sonra:
C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts;%OPENCV_DIR%\bin
İşte bitti! FFMPEG kullanıma hazır!
Onaylamak için test edin
Bunları şimdi Anaconda'da (Spyder IDE aracılığıyla) yapıp yapamayacağımızı test etmemiz gerekiyor:
- OpenCV paketini içe aktar
- FFMPEG yardımcı programını kullanın (videoları okumak / yazmak / işlemek için)
Test 1: OpenCV'yi alabilir miyiz?
Anaconda'nın artık OpenCV-Python paketini (yani, cv2
) içe aktarabildiğini doğrulamak için , IPython konsolunda şunları verin:
import cv2
print cv2.__version__
Paket cv2
hatasız olarak içe aktarılırsa ve cv2
sürüm yazdırılırsa, o zaman hepimiz iyiyiz! İşte bir anlık görüntü:
(kaynak: mathalope.co.uk )
Test 2: FFMPEG kodekini kullanabilir miyiz?
input_video.mp4
Bir dizine örnek bir video dosyası yerleştirin. Şunları yapıp yapamayacağımızı test etmek istiyoruz:
- bu
.mp4
video dosyasını okuyun ve
- yeni bir video dosyası yazmak (olabilir
.avi
veya .mp4
vs.)
Bunu yapmak için bir test Python koduna ihtiyacımız var, onu arayın test.py
. Örnek input_video.mp4
dosyayla aynı dizine yerleştirin .
Bu neye test.py
benzeyebilir (Burada hem yeni hem de eski sürüm kodlarını listeledim - hangisinin sizin için çalıştığını / sizin için çalışmadığını bize bildirin!).
(Daha yeni versiyon...)
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()
(Veya eski sürüm ...)
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()
Bu test ÇOK ÖNEMLİDİR. Video dosyalarını işlemek istiyorsanız Anaconda / Spyder IDE'nin FFMPEG'i (video codec'i) kullanabildiğinden emin olmanız gerekir. Çalışması günlerimi aldı. Ama umarım daha az zaman alır! :)
Not: Anaconda Spyder IDE kullanırken çok önemli bir ipucu daha. Geçerli çalışma dizinini (CWD) kontrol ettiğinizden emin olun !!!
Sonuç
OpenCV'yi Anaconda (ve Spyder IDE) ile tam olarak kullanmak için şunları yapmamız gerekir:
- Resmi OpenCV sitesinden OpenCV paketini indirin
cv2.pyd
Anaconda site paketleri dizinine kopyalayıp yapıştırın .
- Kullanıcı çevre değişkenlerini Anaconda'nın FFMPEG yardımcı programını nerede bulacağını bileceği şekilde ayarlayın.
- OpenCV ve FFMPEG'in çalıştığını doğrulamak için bazı testler yapın.
İyi şanslar!