请有人解释如何识别彼此不完全分开的轮廓的方形。例如,我需要识别下面图像中的方块数以及它们边缘的x,y坐标。我尝试通过this问题,但它对我不起作用。
因此,请使用简单的代码示例解释一下。
这是我可以生成的图像,请您解释如何识别此图像中的上方。
所以请善意解释一下。
答案 0 :(得分:5)
你必须使用事实,每个方块的红色分量等于255,并做阈值。这就是我所做的:
进行红色分割:
做扩张(去除洞):
代码:
Mat src = imread("input.png"), red;
extractChannel(src, red, 2);
threshold(red, red, 254, 255, THRESH_BINARY);
Mat element = getStructuringElement(MORPH_RECT, Size( 2, 2 ), Point( 1, 1 ));
dilate(red, red, element);