0032-使用OpenCV对图像作边缘检测(Canny、Sobel、Laplace)

边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。 这些包括(i)深度上的不连续、(ii)表面方向不连续、(iii)物质属性变化和(iv)场景照明变化。 边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。

OpenCV提供了相关函数来实现各种边缘检测算子,具体的各种边缘检测的算子的算法原理请大家自行百度,下面分别介绍并给出示例代码。

一、Canny边缘检测算子
OpenCV提供了Canny函数来实现Canny边缘检测算子,函数原型如下
C++: void Canny(InputArray image, OutputArray edges, double threshold1, double threshold2, int apertureSize=3, bool L2gradient=false )
参数意义如下
image:输入图像,其类型要求只能是8位的
edges:边缘输出,其类型要求是单通道的8位图像,和输入图像有相同的大小。
threshold1:第一个滞后性阈值。
threshold2:第二个滞后性阈值。
apertureSize

你可能感兴趣的:(OpenCV下的边缘检测技术)