我目前正在开展一个我需要找到的项目
堆积的方形瓦片,不重叠,
我目前正在开展一个项目
我需要确定方向,位置(中心)和颜色
每块方砖这些方向和位置
将被用作要拾取的机器人的输入
并且机器人将在特定位置对它们进行排序。
我正在使用Matlab,我应该使用TCP / IP传输数据。
我正在尝试边缘检测(canny,sobel),
找到了边界,使用阈值和FCM进行分割但是
我还没有找到一种可靠的方法来确定那些瓷砖
没有重叠,我试图使用模板形状匹配,但
我不知道该怎么做。这需要实时完成
因为我将使用从USB相机拍摄的帧
附在PC上。我想知道是否有人可以提供
可靠的方案?这是一个示例图像。
我想知道是否有人可以提供
确定方形瓷砖的可靠解决方案
哪些没有重叠?以下是示例图片overlapped Tiles
答案 0 :(得分:0)
您已将图像分为图块和背景。所以现在只需标记所有连接的组件。拿每一个并测试单个瓷砖。如果您知道瓷砖的大致尺寸,请先按区域排除。然后计算质心和最左边,右边,顶部和底部。如果是瓷砖,则顶部底部和左右的交点将近似在质心中,并且半角将垂直于瓷砖边缘。所以旋转,取边界框,并计算未设置的像素,对于矩形瓷砖,它应该几乎为零。
(如果瓷砖/背景分离有点冒险,你可能需要进行一两个形态学操作来清理图像。)
查看二进制图像处理库http://malcolmmclean.github.io/binaryimagelibrary 1
答案 1 :(得分:0)
感谢您的快速重播。我已经做了一些形态学操作,发现连接组件,下面是我在matlab中的代码,每块瓷砖都有2.5 * 2.5厘米的面积
a = imread('origenal image.jpg');
I = rgb2gray(a);
imshow(I)
thresold = graythresh(I);
se1=strel('diamond',2);
I1=imerode(I,se1);
figure(1)
imshow(I1);
bw = imclose(I1 , ones(25) );
imshow(bw)
CC = bwconncomp(bw);
L = labelmatrix(CC);