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

50 篇文章 1 订阅
14 篇文章 0 订阅

 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


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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值