cv2.VideoCapture에서 동영상을 로드할 수 없는 경우 해결

하고 싶은 일



Python에서 OpenCV를 사용하여 AVI 형식의 동영상을 한 프레임씩로드하고 싶습니다

부딪힌 문제



cv2.VideoCapture의 read 메서드를 호출하여 동영상의 프레임을 읽고 cv2.imshow로 그렸지만 일면 검게 변하고 제대로 표시되지 않음

실행된 스크립트의 이미지
cap = cv2.VideoCapture('test.avi')
ret, frame = cap.read()
cv2.imshow('frame', frame)

동영상은 다른 소프트웨어에서 재생할 수 있습니다.

실행 환경



파이썬 설정



Windows10(64bit)에, Anaconda 3를 인스톨 해, Python 2.7의 가상 환경을 구축했다. 가상 환경에는 matplotlib, numpy, pyqt 등의 라이브러리를 설치했다. 아래에서는 Anaconda의 설치 경로를 C:\Anaconda, 가상 환경의 이름을 py27로 지정합니다. 이 때 가상 환경 설정 파일은 C:\Anaconda\envs\py27에 저장됩니다.

Python 스크립트는 Anaconda에서 시작한 jupyter notebook에서 편집하고 실행하고 있습니다.

파이썬에서 OpenCV를 호출하는 설정



OpenCV의 공식 사이트에서 windows용의 바이너리 세트가 들어간 zip 파일(예를 들면 opencv3.3.0.zip)을 다운로드해 전개한다. 펼친 zip 파일의 build\python\2.7\x64\cv2.pydC:\Anaconda\envs\py27\Lib\site-packages에 복사합니다. 이제 OpenCV의 기본 기능을 사용할 수 있게 된다.

(better 방법이 있다면 알려주세요)

해결 방법



OpenCV를 설치할 때 다운로드 한 zip 파일 (이전 opencv3.3.0.zip)에서 \build\bin의 아래 파일을 확인하십시오.
  • opencv_ffmpeg330.dll
  • opencv_ffmpeg330_64.dll

  • 이번에는 64bit 환경이므로 opencv_ffmpeg330_64.dll를 선택하고 C:\Anaconda\envs\py27\Library\bin에 복사합니다.

    이상.

    면책 조항



    이 기사의 내용은 부정확할 수 있습니다. 이 기사의 내용이나 그 이용 등에 의해 발생한 어떠한 손해에 대해서도 책임을 지지 않습니다.

    참고문헌



    [1] h tps : // s t c ゔ ぇ rf ぉ w. 코 m / 쿠에 s 치온 s / 11699298 / 오페인 cv - 2-4 - ぃ로 오카 p 트레 - t를 r 킨 g 온 - 우드 ws

    좋은 웹페이지 즐겨찾기