如何在灰色区域增长明亮像素?
输入:图像
输出:图像
我的回答比我平时的努力要少一些帮助,但很难用这么少的努力来激发对问题的热情......
您可以使用OpenCV findContours()
来解决您的问题 - 此处的文档。您需要确保使用检索模式CV_RETR_TREE
。
然后,您需要编写一个循环,遍历找到的所有轮廓。在循环中,您需要寻找一个轮廓:
- a( 颜色为
white
并且, - b( 其父母有颜色
grey
。
这里有一个关于层次结构如何工作的体面解释。
Mat im = imread("ask.png", 0);
Mat mat;
mat = im==255;
findContours( mat, contours, hierarchy, RETR_TREE, CHAIN_APPROX_SIMPLE);
for( size_t i = 0; i< contours.size(); i++ )
{
floodFill(mat, contours[i].at(0), 255, 0, Scalar(128), Scalar(255), FLOODFILL_FIXED_RANGE);
}
mat = mat==255; // output image