【发布时间】:2013-05-04 18:58:00
【问题描述】:
我在二进制图像中有一个网格(可能会旋转)。如何使用 MATLAB 知道该网格的近似公式?
示例图片:
(来源:sjtu.edu.cn)
有时这些黑点会丢失,所以我需要公式或“一种方法”来估计这些黑点的可能中心。
我尝试过使用regionprops,它可以帮助我找到这些现有黑点的中心,但不知道黑点是否缺失
clear all
im = imread('print5.jpg');
im = im2bw(im);
[sy,sx] = size(im);
im = imcomplement(im);
im(150:200,100:150) = 0; % let some dots missing!
im = imclearborder(im);
st = regionprops(im, 'Centroid');
imshow(im) hold on;
for j = 1:numel(st)
px = round(st(j).Centroid(1,1));
py = round(st(j).Centroid(1,2));
plot(px,py,'b+')
end
【问题讨论】:
-
试试看广告频率内容:
fft2网格很规则,你应该可以在频域中发现峰值。 -
如果您将上述 cmets 中的所有信息编辑到您的问题中,您应该能够重新打开它。
-
哇,这在短时间内吸引了很多反对票。我明白为什么它被关闭了,但它真的值得 -20 票否决...
-
@Amro 如果您查看首页,您会发现问题在一个多小时内没有更新,这可能就是他们这样做的原因。无论如何,通常会从“最新问题”部分中删除带有-3/-4 否决票的问题,以停止进一步的否决我相信,但由于这个故障,这个问题仍在显示:/
-
我从 cmets 添加了 OP 的代码和描述。这应该会减慢盲目投票的人。那些做过的人,请重新考虑..