필자는 현재 완벽하게 작동하는 솔루션 인 OpenCV-Python-OpenCV-Python 패키지를 Anaconda (Windows)에 설치하는 방법을 요약했습니다 . 그럼에도 불구하고 나는이 게시물에 중요한 부분을 복사하여 붙여 넣었습니다.
글을 쓸 당시에는 Windows 8.1, 64 비트 시스템, Anaconda / Python 2.x를 사용하고있었습니다. (아래 참고 참조-이것은 Windows 10 및 Python 3.x에서도 작동합니다).
참고 1 : 코멘트 섹션에서 @great_raisin (감사합니다)에서 언급 했듯이이 솔루션은 Windows 10에서도 작동하는 것으로 보입니다.
참고 2 : 이것은 아마도 Anaconda / Python 3.x에서도 작동합니다. Windows 10 및 Anaconda / Python 3.x를 사용하고 있는데이 솔루션이 작동하면 아래에 의견을 추가하십시오. 감사! (업데이트 : "Windows 10에서 작업하기"주석에서 언급)
참고 3 : Python 2.x 또는 3.x 사용 여부 print
에 따라 코드 스 니펫에서 명령문을 적절하게 조정하십시오 . 즉, Python 3.x print("hello")
에서는이고, Python 2.x에서는 그렇습니다 print "hello"
.
TL; DR
Anaconda 및 Spyder IDE와 함께 OpenCV를 완전히 사용하려면 다음을 수행해야합니다.
- 공식 OpenCV 사이트 에서 OpenCV 패키지를 다운로드 하십시오
- 를
cv2.pyd
Anaconda 사이트 패키지 디렉토리에 복사하여 붙여 넣습니다 .
- Anaconda가 FFMPEG 유틸리티를 찾을 위치를 알 수 있도록 사용자 환경 변수를 설정하십시오.
- OpenCV 및 FFMPEG가 작동하는지 확인하기 위해 몇 가지 테스트를 수행하십시오.
(자세한 지침은 다음을 읽으십시오 ...)
전제 조건
아나콘다 설치
Anaconda는 기본적으로 NumPy, Pandas, IPython Notebook 등과 같은 유용한 패키지와 함께 제공되는 멋지게 패키지 된 Python IDE입니다. 과학 커뮤니티의 모든 곳에서 권장되는 것으로 보입니다. Anaconda 를 확인하여 설치하십시오.
Anaconda에 OpenCV-Python 설치
주의 사항 : 원래 제안대로 binstar.org OpenCV 패키지 설치를 시도했습니다. 그러나이 방법에는 FFMPEG 코덱이 포함되어 있지 않습니다. 즉, OpenCV를 사용할 수 있지만 비디오를 처리 할 수는 없습니다.
다음은 저에게 효과적입니다 . 이 OpenCV YouTube 비디오에서 영감을 얻었습니다 . 지금까지 64 비트 컴퓨터와 Windows 8.1 모두 데스크톱과 랩톱 모두에서 작동했습니다.
OpenCV 패키지 다운로드
먼저 공식 OpenCV 사이트 로 이동 하여 전체 OpenCV 패키지를 다운로드하십시오. 원하는 버전 (2.x 또는 3.x)을 선택하십시오. 저는 Python 2.x와 OpenCV 3.x를 사용하고 있습니다. 주로 OpenCV-Python Tutorials 가 설정 / 기반 이되기 때문 입니다.
필자의 경우 패키지 (기본적으로 폴더)를 C 드라이브 ( C:\opencv
)로 바로 추출했습니다 .
cv2.pyd 파일을 복사하여 붙여 넣기
Anaconda Site-packages 디렉토리 (예 : C:\Users\Johnny\Anaconda\Lib\site-packages
필자의 경우)에는 가져올 수있는 Python 패키지가 포함되어 있습니다. 우리의 목표는cv2.pyd
파일 하여이 디렉토리에import cv2
것입니다 (파이썬 코드에서 사용할 수 있도록 ).
이렇게하려면 cv2.pyd
파일을 하십시오.
이 OpenCV 디렉토리에서 시작 부분은 시스템과 약간 다를 수 있습니다. Python 3.x의 경우 2.x
에 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
이 Anaconda 디렉토리 (시작 부분은 컴퓨터에서 약간 다를 수 있음) :
C:\Users\Johnny\Anaconda\Lib\site-packages
이 단계를 수행 한 후에는 사용할 수있게됩니다 import cv2
는 파이썬 코드에서 있습니다. 그러나 FFMPEG (비디오 코덱)가 작동하도록하려면 비디오 처리와 같은 작업을 수행하기 위해 약간의 작업이 더 필요합니다.
환경 변수 설정
"내 컴퓨터"(또는 Windows 8.1의 경우 "이 PC")를 마우스 오른쪽 버튼으로 클릭 → 속성을 마우스 왼쪽 버튼으로 클릭 → "고급"탭을 마우스 왼쪽 버튼으로 클릭하고 → "환경 변수 ..."버튼을 마우스 왼쪽 버튼으로 클릭합니다.
OpenCV를 가리 키도록 새 사용자 변수를 추가하십시오 (32 비트 시스템의 경우 x86 또는 64 비트 시스템의 경우 x64). 현재 64 비트 컴퓨터를 사용하고 있습니다.
| 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
사용자 변수에 추가 하십시오 PATH
.
예를 들어, 내 PATH
사용자 변수는 다음과 같습니다.
전에:
C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts
후:
C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts;%OPENCV_DIR%\bin
이것이 우리가 한 것입니다! FFMPEG를 사용할 준비가되었습니다!
확인 테스트
이제 Anaconda에서 Spyder IDE를 통해 이러한 작업을 수행 할 수 있는지 테스트해야합니다.
- OpenCV 패키지 가져 오기
- FFMPEG 유틸리티를 사용하여 비디오 읽기 / 쓰기 / 처리
테스트 1 : OpenCV를 가져올 수 있습니까?
Anaconda가 이제 OpenCV-Python 패키지 (즉, cv2
) 를 가져올 수 있는지 확인하려면 IPython 콘솔에서 다음을 발행하십시오.
import cv2
print cv2.__version__
패키지를 cv2
오류없이 반입하고 cv2
버전을 인쇄하면 모두 정상입니다 ! 스냅 샷은 다음과 같습니다.
(출처 : mathalope.co.uk )
테스트 2 : FFMPEG 코덱을 사용할 수 있습니까?
샘플 input_video.mp4
비디오 파일을 디렉토리에 배치하십시오. 우리는 우리가 할 수 있는지 테스트하고 싶습니다 :
- 이
.mp4
비디오 파일을 읽고
- 새 비디오 파일 작성 (
.avi
또는 .mp4
등)
이를 위해서는 테스트 파이썬 코드가 필요합니다 test.py
. 샘플 input_video.mp4
파일 과 동일한 디렉토리에 배치 하십시오.
이것은 test.py
다음과 같이 보일 수 있습니다 (여기에서 최신 및 이전 버전 코드를 모두 나열했습니다-어떤 코드가 작동하는지 / 작동하지 않는지 알려주십시오!).
(최신 버전 ...)
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()
(또는 이전 버전 ...)
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()
이 테스트는 매우 중요합니다. 비디오 파일을 처리하려면 Anaconda / Spyder IDE가 FFMPEG (비디오 코덱)를 사용할 수 있는지 확인해야합니다. 작동시키는 데 며칠이 걸렸습니다. 하지만 시간이 덜 걸리기를 바랍니다! :)
참고 : Anaconda Spyder IDE를 사용할 때 한 가지 더 중요한 팁입니다. 현재 작업 디렉토리 (CWD)를 확인하십시오 !!!
결론
Anaconda 및 Spyder IDE와 함께 OpenCV를 완전히 사용하려면 다음을 수행해야합니다.
- 공식 OpenCV 사이트 에서 OpenCV 패키지를 다운로드 하십시오
- 를
cv2.pyd
Anaconda 사이트 패키지 디렉토리에 복사하여 붙여 넣습니다 .
- Anaconda가 FFMPEG 유틸리티를 찾을 위치를 알 수 있도록 사용자 환경 변수를 설정하십시오.
- OpenCV 및 FFMPEG가 작동하는지 확인하기 위해 몇 가지 테스트를 수행하십시오.
행운을 빕니다!