本节介绍一种利用传统计算机视觉方法来实现图片边缘检测的方法。
什么是边缘检测?
边缘检测是通过一些算法来识别图像中物体之间,或者物体与背景之间的边界,也就是边缘。
边缘通常是图像中灰度变化显著的地方,标志着不同区域的分界线。
在一张图像中,边缘可以是物体的实际边界,也可以是纹理、颜色或亮度等特征变化比较明显的位置。边缘检测有助于提取图像的结构信息,是许多计算机视觉和图像处理任务的基础,例如物体识别、图像分割和目标跟踪。
比如下面这张图片,我用红笔粗略的画出了一些物体的边缘,猫耳朵和背景很明显的边缘,椅子和背景以及椅子和猫咪的边缘等。
常见的边缘检测算法
常见的边缘检测算法包括:
-
Sobel算子: 通过卷积图像和Sobel核,检测图像中的垂直和水平边缘。
-
Prewitt算子: 类似于Sobel,也是一种常用的边缘检测方法。
-
Canny边缘检测: 结合了多个步骤,包括高斯平滑、梯度计算和非极大值抑制,是一种广泛使用的边缘检测算法。
-
Laplacian算子: 通过对图像进行拉普拉斯运算,突出图像中的边缘。
-
基于机器学习的方法: