opecv自带案例解读系列,又更新一篇,欢迎查阅
opencv吧
全部回复
仅看楼主
level 11
夕西行 楼主
算半成品,其中int nLabels = connectedComponents(bw, labelImage);//0、255的bw图变成0、1的labelImage
中nLabels不是连通域的个数,因为阈值位0,nLabels是2。对nLabels理解不透彻。
这个案例引导我收集的下一步知识是:0、1的二值图,区域的交集、并集等。类似halcon中Region的那种bool感觉。有对opencv中区域的交集、并集有了解的,欢迎留言。
2020年02月26日 10点02分 1
level 11
夕西行 楼主
【更正】nLabels是 labelImage中数据有几种。其中0就是背景。加入有三个连通域,那么nlabels就是4。labelImage中有0,1,2,3. 123就是三个连通域的标识。
2020年02月27日 01点02分 2
level 11
夕西行 楼主
【知识点】
二值图中不同连通域显示不同的颜色,主要是connectedComponents()函数的使用。
int connectedComponents(InputArray image, OutputArray labels,int connectivity = 8, int ltype = CV_32S);
image是threshold得到的二值图,得到的labels是32位 short int(短整型)元素的矩阵(图)。
假如image中有2个连通域,那么labels是只有0、1、2这三种数的矩阵(0标识背景,1、2标识2个连通域),返回值是3(三种数据)。
2020年02月27日 08点02分 3
1