使用openCV计算二进制映像中的已连接组件

时间:2018-10-18 11:55:29

标签: opencv image-processing

如何在二进制映像中找到已连接组件的数量? 我不需要其像素的遮罩或其他属性。 我知道我可以使用标签,然后计算所有斑点,但这似乎是多余的。

2 个答案:

答案 0 :(得分:3)

在计数之前,您需要知道哪些是连接的组件。

您可以直接从cv::connectedComponents获取该号码:

cv::Mat1b bw; // your black and white image

cv::Mat1i labels;
int n_labels = cv::connectedComponents(bw, labels);

// Note that one label is the background
int n_connected_components = n_labels - 1;

答案 1 :(得分:2)

如果您有一个好的种子填充算法,则可以在每次遇到前景像素时扫描图像并开始使用背景色进行填充。

成分数是馅料数。