我有一张二进制图像中的网格(可能会旋转)。如何使用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
网格非常规则,您应该能够在频率域中发现峰值。 - Shai