[OpenCV] 图像分割之利用 cv2.distanceTransform 提取前景

您所在的位置:网站首页 码农的前途 [OpenCV] 图像分割之利用 cv2.distanceTransform 提取前景

[OpenCV] 图像分割之利用 cv2.distanceTransform 提取前景

2024-07-10 20:33| 来源: 网络整理| 查看: 265

当图像内的各个子图没有连接时,可以直接使用形态学的腐蚀操作确定前景对象,但是如果图像内的子图连接在一起时,就很难确定前景对象了。此时,借助于距离变换函数 cv2.distanceTransform()可以方便地将前景对象提取出来。 距离变换函数 cv2.distanceTransform()计算二值图像内任意点到最近背景点的距离。一般情况下,该函数计算的是图像内非零值像素点到最近的零值像素点的距离,即计算二值图像中所有像素点距离其最近的值为 0 的像素点的距离。当然,如果像素点本身的值为 0,则这个距离也为 0。 距离变换函数 cv2.distanceTransform()的计算结果反映了各个像素与背景(值为 0 的像素点)的距离关系。通常情况下: 如果前景对象的中心(质心)距离值为 0 的像素点距离较远,会得到一个较大的值。 如果前景对象的边缘距离值为 0 的像素点较近,会得到一个较小的值。 如果对上述计算结果进行阈值化,就可以得到图像内子图的中心、骨架等信息。距离变换函数 cv2.distanceTransform()可以用于计算对象的中心,还能细化轮廓、获取图像前景等,有多种功能。 以上内容摘自《OpenCV轻松入门》



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3