一、视频处理

1.1 OpenCV指定视频编解码器的常用选项OpenCV零碎知识点

注意,帧速率和帧大小也必须指定,这些属性可以通过VideoCapture类的get()函数得到。但是摄像头的帧速率准确值不能通过get()方法返回,所以对于摄像头创建合适的VideoWriter类,要么对帧速率做出假设,要么用计时器来测量。

二、处理图像

2.1 傅里叶变换

  • 幅度谱:图像的幅度谱时另一种图像,幅度谱图像呈现了原始图像再变化方面的一种表示:把一幅图像中最明亮的像素放到图像中央,然后逐渐变暗,在边缘上的像素最暗,这样可以发现图像中有多少亮的像素和暗的像素,以及它们分布的百分比。

2.2 滤波器

  • 高通滤波器:用来检测图像的某个区域,然后根据像素和周围像素的亮度差值来提升该像素的亮度的滤波器,注意,滤波器中的所有值加起来为0
  • 低通滤波器:在像素与周围像素的亮度差值小于一个特定值时,平滑该像素的亮度,主要用于去噪和模糊化。
  • 核:一组权重的集合,它会应用在源图像的一个区域,并由此生成目标图像的一个像素。比如,大小尾7的核意味着每49(7*7)个源图像的像素会产生目标图像的一个像素。
  • 锐化、边缘检测以及模糊等滤波器都使用了高度对称的核,但是有时不对称的核也会得到一些有趣的效果。

2.3 边缘&轮廓检测

Canny边缘检测算法非常复杂,有5个步骤:

用高斯滤波器对图像进行去噪、计算梯度、在边缘上使用非最大抑制(NMS)、在检测到的边缘上使用双阈值去除假阳性,最后还会分析所有的边缘及其之间的连接,以保留真正的边缘并消除不明显的边缘。

轮廓检测
OpenCV零碎知识点

相关文章: