【学习笔记】边缘检测与轮廓检测
轮廓的定义
轮廓是一系列相连的点组成的曲线,代表了物体的基本外形。
区别
谈起轮廓不免想到边缘,它们确实很像。简单的说,轮廓是连续的,边缘并不全都连续(下图)。其实边缘主要是作为图像的特征使用,比如可以用边缘特征可以区分脸和手,而轮廓主要用来分析物体的形态,比如物体的周长和面积等,可以说边缘包括轮廓。
1.检测目的和对象不同:
- 边缘检测主要是为了找到图像中颜色、亮度变化明显的点,反映在图像矩阵上,就是要找到相对周围其他像素点,像素值或者梯度值变化明显的像素点。
- 轮廓检测就是要找到一个物体的边界,确定物体的形状。物体的轮廓一定是闭合的、连续的,而图像的边缘不一定是闭合的、连续的。
2.检测手段不同:
- 边缘检测主要使用sobel算子、Canny算子、Laplacian算子等检测像素间的梯度变化来标识边缘。
- 轮廓检测主要使用
cv2.findcontours()
找到物体的轮廓。
3.检测结果不同:
- 边缘检测先检测出每个像素点的梯度值,然后对梯度值进行阈值处理获得一个与原图宽高一致的二值图像。
- 轮廓检测获得的是物体轮廓中各点的坐标集合和轮廓间的层次关系(包含关系)。

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 亦晓白笔记!