轮廓的定义

轮廓是一系列相连的点组成的曲线,代表了物体的基本外形。

区别

​ 谈起轮廓不免想到边缘,它们确实很像。简单的说,轮廓是连续的,边缘并不全都连续(下图)。其实边缘主要是作为图像的特征使用,比如可以用边缘特征可以区分脸和手,而轮廓主要用来分析物体的形态,比如物体的周长和面积等,可以说边缘包括轮廓。

1.检测目的和对象不同:

  • 边缘检测主要是为了找到图像中颜色、亮度变化明显的点,反映在图像矩阵上,就是要找到相对周围其他像素点,像素值或者梯度值变化明显的像素点。
  • 轮廓检测就是要找到一个物体的边界,确定物体的形状。物体的轮廓一定是闭合的、连续的,而图像的边缘不一定是闭合的、连续的。

2.检测手段不同:

  • 边缘检测主要使用sobel算子、Canny算子、Laplacian算子等检测像素间的梯度变化来标识边缘。
  • 轮廓检测主要使用cv2.findcontours()找到物体的轮廓。

3.检测结果不同:

  • 边缘检测先检测出每个像素点的梯度值,然后对梯度值进行阈值处理获得一个与原图宽高一致的二值图像。
  • 轮廓检测获得的是物体轮廓中各点的坐标集合和轮廓间的层次关系(包含关系)。
img

特别感谢:opencv-python详解轮廓-CSDN博客