OpenCV学习(python)
cv.VideoCapture(0)
打开和电脑连接的相机,参数代表摄像头编号,如果有多个摄像头编号为0.1.2.3…
ret ,frame = capture.read()
读取摄像头获取到视频的每一帧,frame就是每一帧的图像
cv.flip(image, 1)
镜像图像,左右翻转
cv.imshow(“win”,image)
在窗口win显示图像image
np.array(image)
返回image图像的数据信息,是numpy库中的函数,需要
import numpy as np
cv.imwrite(“address”, image)
将图像保存在所需要的地址address中,例如“D:/image.png”
检测函数运行时间
t1 = cv.getTickCount()
函数运行
t2 = cv.getTickCount()
time = (t2-t1)/cv.getTickFrenquency()
getTickCount用来获取CPU当前转的圈数,getTickFrequency用来获取CPU转的频率,time单位为ms
image.shape()
获取图像大小和通道数信息
inRange的使用
没写
cv.add(image1,image2)
将两个图像合并并返回新图像,合并方式为将两个图像数组中的每一个对应的值相加
cv.subtract(image1,image2)
将两个图像数组对应的值相减,image1-image2
另外:
cv.divide(image1,image2) 1/2相除
cv.multiply(image1,image2) 相乘
cv.mean(image) 算图像每个通道的均值
cv.meanStdDev(image) 算三个通道的均值和方差,第一个行是均值,第二行是方差
通过均值和方差可以判断图像是否有效
通过计算输出均值方差,将均值和方差在一定范围内的图像视为有效,从而排除偶尔出现的无效图像(例如均值和方差都为0就说明根本没有读取到图像,这一帧就是无效的)
cv.bitwise_and(image1,image2)
将两张图片进行逻辑与运算,如果其中一张是黑白掩码图像,会将黑色部分的图像全都置黑,白色部分的图像保留(注意此处逻辑1不是数值1,应该是两者之中较大的值)
其他:
cv.bitwise_or(image1,image2) 逻辑或
cv.bitwise_not(image1) 逻辑非