图像处理读取和写入
import cv2
#默认bgr
im=cv2.imread('1.jpg')
#打印图像维度
print(im.shape)
#截取x(20)y(20)到x(40)y(40)内的像素
im=im[20:40:,20:40,::]
#写入图像
cv2.write('2.jpg',im)
**
视屏处理读和写
**
import cv2
#输入数字就是获取摄像的流
videocapture=cv2.VideoCapture('a.mp4')
#帧率
fsp=30
#获取视屏的长宽
size=(int(videcapture.get(cv2.CAP_PROP_FRAME_WIDTH)),int(videocapture.get(cv2.CAP_PROP_FRAME_HEIGHT)))
#读取图像读取失败success将返回False,frame是具体的数据
success,frame=videocapture.read()
#设置写入对象参数1为保存路径,参数2为编码格式‘D’,'I,'V','A',表示的是编码格式这里为MP4,参数3为帧率,参数4为视屏的长和宽**加粗样式**
#设置长度为10秒
length=fps*10
videowriter=cv2.VideoWriter('b.mp4',cv2.VideoWriter_fourcc(),fps,size)
while success and >0:
videowriter.write(frame)
success.frame=video.read()
length-=1
#释放视屏,摄像头一定记得注意。不然不会关闭
videocapture.release()
图像切片
***切片用[x,y,(bgr)]表示
每个元素都能支持数组相应的切片操作
注意不是所有格式图片都被opncv支持,记得查看相关文档。默认是bgr格式。
#实例代码***
im=cv2.imread('test.jpg')
#这里相当与读取20行的整行的bgr值设置为黑色,没有指定相对的值的话等于0:-1:0
im[20::,::,:::]=255
#读取20.40-20.40内矩形区域的像素。
im[20:40:,20:40:,::]
#镜像图像
im[::-1,::-1,::-1]