OpenCV3 Python语言实现 笔记1

一、

python和numpy表示一幅图像

img = numpy.zeros((3,3), dtype=numpy.uint8)

二、

一个opencv图像是.array类型的二维或三维数组

使用numpy.array访问图像数据
1.单像素操作:获取指定位置(150,120,0)像素: image.item(150,120,0)
             设置B通道位置(150,120)像素为255: image.itemset((150,120,0),255)
2.数组索引: 所有G通道值设为0: img[:,:,1] = 0
3.设定感兴趣区域: my_roi = img[0:100, 0:100]
                  img[300:400,300:400] = my_roi
4.获得图像属性: img.shape 返回(宽,高,通道数)
                img.size 返回像素大小
                img.dtype 返回数据类型

三、

视频读/写

1.视频读:cv2.VideoWriter

import cv2

videoCapture = cv2.VideoCapture('MyInputVid.avi')
fps = videoCapture.get(cv2.CAP_PROP_FPS)
size = (int(videoCapture.get(cv2.CAP_PROP_FRAME_WIDTH)),
        int(videoCapture.get(cv2.CAP_PROP_FRAME_HEIGHT)))
videoWriter = cv2.VideoWriter(
    'MyOutputVid.avi', cv2.VideoWriter_fourcc('I','4','2','0'), fps, size)#其他编码器PIM1,XVID,THEO,FLV1

success, frame = videoCapture.read()
while success: # Loop until there are no more frames.
    videoWriter.write(frame)
    success, frame = videoCapture.read()
2.摄像头:

cameraCapture = cv2.VideoCapture(0)
size = (int(cameraCapture.get(cv2.CAP_PROP_FRAME_WIDTH)),
        int(cameraCapture.get(cv2.CAP_PROP_FRAME_HEIGHT)))
success, frame = cameraCapture.read()
cameraCapture.release()
cameraCapture.isOpened()#是否正确打开
#同步一组摄像头:
success0=cameraCapture0.grab()
success0=cameraCapture1.grab()
if success0 and success1:
    frame0 = cameraCapture0.retrieve()
    frame1 = cameraCapture1.retrieve()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值