视频处理
Videocapture:VideoCapture(args):如果args=0,则打开摄像头。如果args=路径, 则打开视频源
摄像头设置和查询:
调用摄像头读取图像数据,以及使用
cap.set( propId , value )
cap.get( propId )
图片合成视频:
视频分解图片:
normalize:归一化函数
为了消除指标之间的影响,需要对数据进行标准化处理,以解决数据指标之间的可比性
cv2.normalize(src[, dst[, alpha[, beta[, norm_type[, dtype[, mask]]]]]])
src:输入数组
dst:与src大小相同的输出数组
alpha:下限边界
beta:上限边界
norm_type:NORM_MINMAX NORM_INF NORM_L1 NORM_L2
dType:当输出为负时,输出数组具有与src相同的类型。否则,具有与src相同的信道数和深度
mask:掩膜
画图
cv2.rectangle():若将五改为-1,则填充整个矩形
cv2.circle:要画圆的话,只需要指定圆形的中心点坐标和半径大小,颜色和粗细
cv2.ellispe:一个参数是中心点的位置坐标。下一个参数是长轴和短轴的长度。椭圆沿逆时针方向旋转的角度。椭圆弧沿顺时针方向起始的角度和结束角度,如果是 0 到 360,就是整个椭圆。
图像金字塔
我们对同一图像的不同分辨率的子图像处理。比如我们在一幅图像中查找某个目标比如脸,我们不知目标在图像中的尺寸大小。这种情况下我们创建一组图,这些图像是具有不同分率的原始图像。我们把组图像叫做图像字塔简单来就是同一图像的不同分率的子图集合。如果我们把大的图像放在底部最小的放在顶部。看来像一座金字塔,故而得名图像金字塔。
图像金字塔:高斯金字塔和拉普拉斯金字塔
向下采样:将图像缩小,图像信息丢失
向上采样:将图像放大,图像会变模糊
向下采样和向上采样不是可逆的,无法将图像变为原始图像。
向下采样函数:cv2.pyrDown(原始图像)
向上采样函数:cv2.pyrUP
拉普拉斯金字塔:
opencv删除窗口:
删除所有窗口 :cv2.destroyAllWindow() 删除指定窗口:cv2.destroyWindow(“original”)
waitKey(x):参数为等待键盘触发的时间。单位为毫秒。如不输入参数,则输入任意键退出。
setMouseCallback():
event为事件
x,y代表鼠标位于窗口的(x,y)位置
flags:代表鼠标的拖曳事件以及鼠标和键盘联合的事件。共有32种
param:函数指针,标识所相应的事件函数。
namewindow
WINDOW_NORMAL 用户可以改变窗口的大小;
WINDOW_AUTOSIZE 窗口大小会根据显示图像自动调整,用户必能手动改变窗口大小;
WINDOW_OPENGL 支持OpenGL。