Opencv 基本操作五 各种连通域处理方法

您所在的位置:网站首页 区域联通算法有哪些 Opencv 基本操作五 各种连通域处理方法

Opencv 基本操作五 各种连通域处理方法

2024-07-12 06:11| 来源: 网络整理| 查看: 265

在深度学习中,尤其是语义分割模型部署的结果后处理中,离不开各类形态学处理方法,其中以连通域处理为主;同时在一些传统的图像处理算法中,也需要一些形态学、连通域处理方法。为此,整理了一些常用的连通域处理函数:查找图像中最大的连通域、删除图像中小面积的连通域、删除图像中的黑色连通域、获取形状的骨架。关于博文代码中连通域处理中的图像D:/Img_data/15.bmp,如下所示,各位如果要运行出一样的效果的话可以用下图进行测试。 在这里插入图片描述

1、查找图像中最大的连通域

该功能基于connectedComponents函数实现,具体包含4步: 1、通过connectedComponents将每一个连通域的像素用相同的label值标记结果出入Mat labels中 2、然后遍历mat即可找出面积最大的连通域的label值 3、最后遍历Mat labels将像素值不等于最大的连通域的label值的置0即可。

1.1 函数实现

函数命名为findLargesrArea,传入CV_8UC1型的mat,返回结果也为CV_8UC1类型

//找图图中最大的连通域 Mat findLargesrArea(Mat srcImage) { Mat temp; Mat labels; srcImage.copyTo(temp); //1. 标记连通域 int n_comps = connectedComponents(temp, labels, 4, CV_16U); vector histogram_of_labels; for (int i = 0; i


【本文地址】


今日新闻


推荐新闻


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