opencv 学习第二课 摄像头、外部视频读取、处理、显示、写入 代码注释版 保证你每一行都能读懂

 1. 使用摄像头捕捉图像,将其转换为灰度帧后,输出视频图像

import numpy as np 
import cv2 as cv 

cap = cv.VideoCapture(0)

while(True):
	# 一帧一帧的捕捉
	ret,frame = cap.read()
	# 将每一帧从RGB转换成灰度
	gray = cv.cvtColor(frame,cv.COLOR_BGR2GRAY)
	#显示捕捉的结果帧
	cv.imshow('frame',gray)
	#按q退出
	if cv.waitKey(1) & 0xFF==ord('q'):
		break

#释放摄像头
cap.release()
#释放所有窗口
cv.destroyAllWindows()

 2.  读取外部的彩色视频,将其转换为灰度帧后显示视频

import numpy as np 
import cv2 as cv 

cap = cv.VideoCapture('D:/test.mp4')

#播放视频
while(cap.isOpened()):
	# 一帧一帧的捕捉
	ret,frame = cap.read()
	# 将每一帧从RGB转换成灰度
	gray = cv.cvtColor(frame,cv.COLOR_BGR2GRAY)
	#显示捕捉的结果帧
	cv.imshow('frame',gray)
	#按q退出,参数为1ms播放速度较快,一般设为25毫秒
	if cv.waitKey(25) & 0xFF==ord('q'):
		break

#释放视频
cap.release()
#释放所有窗口
cv.destroyAllWindows()

 3. 摄像头捕捉彩色图像,设置输出视频的格式,将捕捉到的帧镜像化后输出到程序所在目录

import numpy as np 
import cv2 as cv 

# 打开摄像头
cap = cv.VideoCapture(0)
# 写入视频的格式为XVID
fourcc = cv.VideoWriter_fourcc(*'XVID')
# 第三个参数为fps 第四个参数为视频大小
out=cv.VideoWriter('output.avi',fourcc,20.0,(640,480))

while(cap.isOpened()):
	ret,frame = cap.read()
	if ret==True:
		# 将帧水平翻转(参数为1)
		frame = cv.flip(frame,1)
		# 将帧写入output.avi
		out.write(frame)
		# 窗口显示处理过的帧
		cv.imshow('frame',frame)
		if cv.waitKey(1) & 0xFF == ord('q'):
			break
	else:
		break

# 释放摄像头
cap.release();
# 释放输出的视频
out.release();
# 释放所有窗口
cv.destroyAllWindows()

 

参考文献:https://docs.opencv.org/4.0.1/d2/de8/group__core__array.html#gaca7be533e3dac7feb70fc60635adf441


 我要成为一名优秀的图像处理专家!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章