목차
1. 파일에서 비디오를 읽고 재생하십시오.
OpenCV에서는 비디오를 가져와야 하며 VideoCapture 개체를 생성하고 읽고 싶은 비디오 파일을 지정해야 합니다.
(1) 영상을 읽을 객체를 생성합니다.
cap = cv.VideoCapture(filepath) 매개변수: 비디오 파일 경로
(2) 동영상의 특정 속성
(3) 이미지가 성공적으로 읽혔는지 확인합니다.
(4) 비디오 프레임 가져오기
(5) 이미지를 표시하려면 cv.imshow를 호출합니다. 이미지를 표시할 때 cv.waitkey()를 사용하여 적절한 지속 시간을 설정합니다. 너무 낮으면 비디오가 매우 빠르게 재생되고, 너무 높으면 재생됩니다. 매우 천천히 일반적으로 25ms 로 설정됩니다.
(6) cap.release()를 호출하여 비디오를 공개합니다.
1.2 코드 구현
import numpy as np
import cv2 as cv
#获取视频对象
cap = cv.VideoCapture(r'E:\All_in\opencv\video.mp4')
#判断是否读取成功
while(cap.isOpened()):
#获取某一帧图像
ret , frame = cap.read()
#获取成功显示图像
if ret == True:
cv.imshow('frame',frame)
#每一帧间隔25ms
if cv.waitKey(25)& 0xFF == ord('q'):
break
#释放视频对象
cap.release()
cv.destroyWindow()
1.3 효과 표시
2. 영상을 저장하세요
2.1 코드 구현
import cv2 as cv
import numpy as np
#读取视频
cap = cv.VideoCapture(r'E:\All_in\opencv\video.mp4')
#获取图像的属性(宽和高),并将其转化为整数
frame_width = int(cap.get(3))
frame_height = int(cap.get(4))
#创建保存图像的对象 , 设置编码格式,帧率,图像的宽 高等
'''函数第一个参数为输出文件路径,因为我们想保存为AVI格式,所以要指定编码格式为'M','J','P','G'(MJPEG压缩)
,帧率设置为10,视频帧的宽高设置为前面获取到的frame_width和frame_height。'''
out = cv.VideoWriter('outpy.avi',cv.VideoWriter_fourcc('M','J','P','G'),10,(frame_width,frame_height))
while(True):
#获取视频中每一帧图像
ret ,frame= cap.read()
if ret==True:
#将每一帧图像写入输出文件中
out.write(frame)
else:
break
#释放资源
cap.release()
out.release()
cv.destroyAllWindows()