python+opencv 비디오 프레임 추출 예제 코드 구현

1.데이터 세트 약술:
       주류 가 방대 한 COCO,VOC 데이터 세트 가 있 지만 과학 연구자 들 은 특수 분야 에서 요구 하 는 데이터 세트 가 필요 하기 때문에 인공 적 으로 현장 채집 하 는 방식 으로 데이터 세트 이미 지 를 수집한다.사진 을 찍 어 이미 지 를 수집 하 는 것 은 너무 번 거 롭 기 때문에 카메라 의 불규칙 한 이동 회전 과 원근 당 김 을 통 해 영상 을 녹화 하 는 경우 가 많다.그 다음 에 영상 프레임 을 추출 하 는 방식 으로 대량의 이미 지 를 얻 은 다음 에 이 이미 지 를 인공 적 으로 표시 처리 합 니 다.
        블 로 거들 은 수중 에서 동 영상 을 녹화 하 는 것 을 예 로 들 어 이런 이미지 가 인터넷 에 거의 존재 하지 않 을 때 관련 기술자 에 게 실제 촬영 과 채집 을 요구 하고 다음 그림 은 바로 채집 한 동 영상 이다.
微信截图_20210609094832
        프로젝트 의 요구 에 부합 되 지 않 는 데이터 증 가 를 피하 기 위해 블 로 거들 은 기술자 에 게 영상 을 녹화 할 때 카 메 라 를 최대한 이동,회전 과 원근 조절 등 을 하도록 요구한다.이렇게 프레임 을 뽑 은 후의 이미 지 는 더욱 일반화 성 을 가지 고 있다.
2.코드 소개:
다음은 프레임 수 를 간격 으로 하 는 방법 으로 영상 프레임 을 뽑 는 것 이다.블 로 거들 은 개인 적 으로 이런 방식 으로 간격 을 조절 하 는 것 이 더욱 편리 하고 개인 적 인 습관 에 부합된다 고 생각한다.

import cv2
from PIL import Image
import numpy as np


cap = cv2.VideoCapture("D:/Download/ANMR0005.mp4")  #       
isOpened = cap.isOpened  #       
#       
fps = cap.get(cv2.CAP_PROP_FPS)

imageNum = 0
sum=0
timef=15  # 15       

while (isOpened):

    sum+=1

    (frameState, frame) = cap.read()  #          

    if frameState == True and (sum % timef==0):

        #     ,BGRtoRGB
        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
        #    Image
        frame = Image.fromarray(np.uint8(frame))

        frame = np.array(frame)

        # RGBtoBGR  opencv    
        frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)

        imageNum = imageNum + 1
        fileName = 'D:/Download/video_image/image' + str(imageNum) + '.jpg'  #     
        cv2.imwrite(fileName, frame, [cv2.IMWRITE_JPEG_QUALITY, 100])
        print(fileName + " successfully write in")  #       

    elif frameState == False:
        break

print('finish!')
cap.release()
3.코드 효과:
pycharm 에서 py 파일 을 실행 한 후 결과 상자 에 표 시 된 내용:
微信截图_20210609094832
비디오 프레임 에서 얻 은 그림 을 지정 한 폴 더 에 저장 합 니 다:
微信截图_20210609094832
프레임 을 추출 하여 얻 은 그림 예제:
微信截图_20210609094832  
4.관련 설명:① 본 코드 는 비디오 녹화,opencv 에 대한 이해 와 사내 의 프로젝트 코드 영감 에 따라 작 성 됩 니 다.
사내 프로젝트 코드 주소
② 본 데이터 세트 는 개인 폐 원 에 속 하 며 공개 하지 않 습 니 다.
여기 서 python+opencv 가 영상 추출 프레임 을 실현 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 python opencv 영상 추출 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기