Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 OpenCV를 사용하여 프레임을 추출하는 프로그램?

<시간/>

OpenCV(오픈 소스 컴퓨터 비전)는 기본적으로 머신 러닝과 컴퓨터 비전을 위해 개발된 오픈 소스 프로그래밍 라이브러리입니다. 컴퓨터 비전 응용 프로그램에서 작업하고 상용 제품에서 기계 학습 사용을 강화하기 위한 공통 인프라를 제공합니다.

컴퓨터 비전과 머신 러닝을 위한 25000개 이상의 최적화된 알고리즘은 모두 고전적인 알고리즘과 최첨단 알고리즘입니다. 많은 알고리즘을 통해 얼굴 감지 및 재구성, 개체 식별, 비디오에서 인간의 행동 분류, 카메라 움직임 추적, 이미지를 결합하여 전체 장면의 고해상도 이미지 생성 등을 포함한 다양한 목적으로 라이브러리를 사용할 수 있습니다.

이 연습에서는 프레임별 비디오 처리를 구현합니다. 입력 비디오는 라이브 카메라 비디오 또는 로컬 컴퓨터에 저장된 비디오일 수 있습니다. 로컬 시스템에 저장된 비디오에서 프레임을 만든 다음 로컬 드라이브에 저장합니다.

opencv는 표준 파이썬 라이브러리가 아니므로 설치해야 합니다. pip를 사용하여 매우 쉽게 설치할 수 있습니다.

█ | PIP 설치 OpenCV의-pythonCollecting의 OpenCV의-pythonDownloading https://files.pythonhosted.org/packages/49/4b/ad55a2e2c309fb698e1283e687129e0892c7864de9a4424c4ff01ba0a3bb/opencv_python-4.0.0.21-cp36-cp36m-win32.whl (22.1MB) 100 %
pip install opencv-python
Collecting opencv-python
Downloading https://files.pythonhosted.org/packages/49/4b/ad55a2e2c309fb698e1283e687129e0892c7864de9a4424c4ff01ba0a3bb/opencv_python-4.0.0.21-cp36-cp36m-win32.whl (22.1MB)
100% |████████████████████████████████| 22.1MB 141kB/s
Requirement already satisfied: numpy>=1.11.3 in c:\python\python361\lib\site-packages (from opencv-python) (1.13.0)
Installing collected packages: opencv-python
Successfully installed opencv-python-4.0.0.21

내 비디오 파일은 f:드라이브에 저장되어 있는데, 이 드라이브를 프레임(썸네일)으로 변환한 다음 내가 선택한 위치에 저장하고 싶습니다.

Python에서 OpenCV를 사용하여 프레임을 추출하는 프로그램?

코드 :동영상 파일을 읽어서 프레임을 추출하는 프로그램입니다.

#Import libraries
import cv2
import os
#Function to extract frames
def extractFrames(pathIn, pathOut):
   #directory path, where my video images will be stored
   os.mkdir(r'c:/users/rajesh/Desktop/data')
   #Capture vidoe from video file
   cap = cv2.VideoCapture(pathIn)
#Counter Variable
count = 0

while (cap.isOpened()):
   # Capture frame-by-frame
   ret, frame = cap.read()
   if ret == True:
      print('Read %d frame: ' % count, ret)
      # save frame as JPEG file
      cv2.imwrite(os.path.join(pathOut, "frame{:d}.jpg".format(count)), frame)
      count += 1
   else:
      break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
def main():
   extractFrames(r'f:/I Miss You.mp4' , 'data')
if __name__=="__main__":
   main()

출력

내 데스크탑(대상 경로)에 데이터 폴더가 생성되고 폴더 안에 동영상의 프레임이 저장되는 것을 볼 수 있습니다.

Python에서 OpenCV를 사용하여 프레임을 추출하는 프로그램?