图像及视频的灰度处理,及将彩色的图像及视频转化为黑白的图像及视频。
以下先来介绍图片的灰度处理
图片的灰度处理由固定的函数,直接使用即可。
img=cv2.imread('E:\Anaconda\Anaconda3.8\Jiu.jpg',cv2.IMREAD_GRAYSCALE)
如图,图像进行灰度处理过后,出片像素值不变,但是图片的三通道变为了单通道。
之后键入输出指令图片变为黑白照片
接着可以将生成的黑白照片保存,代码如下
接下来是视频的读取
cv2.VideoCapture可以捕获摄像头,用数字来控制不同设备,例如0,1。
如果是视频文件,直接指定好路径即可。
以上是视频的读取与检查视频能否打开的代码块。
确认视频可以正常打开后,即可对视频信息进行读取。对视频的读取其实就是对视频中图片的逐帧遍历,并且在便利的过程中对其进行逐帧的灰度处理。代码行如下:
#############################################################
while open:
ret,frame = img.read()
if frame is None:
break
if ret == True:
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('result',gray)
if cv2.waitKey(100)&0xFF == 27:
break
img.release()
cv2.destroyAllWindows()
#############################################################
其中 if cv2.waitKey(100)&0xFF == 27:中100可调,控制视频的播放速度,0xFF==27是表示按Esc键退出相应的视频。
现在读者发现这个文章有一个bug,读者可能已经发现了,就是并没有给出一个读取原视频的代码,今天太晚了,编者明天会将其研究明白后补上。
图片与视频的灰度处理就这么多内容,下一章将向大家讲述另外一些图像处理的方法。