hier eine Möglichkeit, fft
in 1D über die x- und y fehlt mit Projektion:
Zuerst werde ich das Bild ein wenig verwischen die hohe Freq Lärm durch Faltung mit einem Gaußschen zu glätten:
m=double(imread('print5.jpg'));
m=abs(m-max(m(:))); % optional line if you want to look on the black square as "signal"
H=fspecial('gaussian',7,1);
m2=conv2(m,H,'same');
dann nehme ich die ff t eines Vorsprungs jeder Achse:
delta=1;
N=size(m,1);
df=1/(N*delta); % the frequency resolution (df=1/max_T)
f_vector= df*((1:N)-1-N/2); % frequency vector
freq_vec=f_vector;
fft_vecx=fftshift(fft(sum(m2)));
fft_vecy=fftshift(fft(sum(m2')));
plot(freq_vec,abs(fft_vecx),freq_vec,abs(fft_vecy))
So können wir beide Achsen sehen einen Peak bei 0,07422 ergeben, die sich auf einen Zeitraum von 1/0,07422 Pixel oder ~ 13.5 Pixel übersetzen.
Eine bessere Möglichkeit, auch die Winkel Informationen zu bekommen, ist 2D zu gehen, das heißt:
ml= log(abs(fftshift (fft2(m2)))+1);
imagesc(ml)
colormap(bone)
und dann Werkzeuge wie einfache Geometrie oder regionprops gelten, wenn Sie möchten, können Sie bekommen der Winkel und die Größe der Quadrate. Die Größe des Quadrats ist 1/die Größe des großen gedrehten Quadrats auf dem Hintergrund (ein bisschen unscharf, weil ich das Bild verwischt habe, also versuche, das ohne das zu tun), und der Winkel ist atan(y/x)
. Der Abstand zwischen den Quadraten beträgt 1/der Abstand zwischen den starken Spitzen im mittleren Teil zur Bildmitte.
so, wenn Sie Schwelle ml
richtig sagen Bild
imagesc(ml>11)
Sie die zentralen Spitzen für das zugreifen kann ...
noch ein weiterer Ansatz wird morphologische Operation auf einem binären Bild, zum Beispiel Ich schwelle das unscharfe Bild und verkleinere Objekte zu Punkten. Es entfernt Pixel, so dass Objekte ohne Löcher bis zu einem Punkt schrumpfen:
BW=m2>100;
BW2 = bwmorph(BW,'shrink',Inf);
figure, imshow(BW2)
Dann praktisch Sie einen Pixel pro Gitterplatz Gitter haben! so können Sie es auf der Amro füttern Lösung Hough-Transformation verwenden oder es mit fft analysieren oder einen Block passen, etc ...
Try loo: zurück, so dass das Gitter mit den XY-Achsen-ausgerichtet ist, ist das Bild gedreht König und der Frequenzinhalt: 'fft2' das Gitter ist sehr regelmäßig, Sie sollten Spitzen im Frequenzgebiet aufspüren können. – Shai
Wenn Sie alle Informationen aus den obigen Kommentaren in Ihre Frage bearbeiten, sollten Sie sie wieder öffnen können. –
Wow, das hat in kurzer Zeit viele Downvotes angezogen. Ich verstehe, warum es geschlossen war, aber hat es wirklich verdient -20 downvotes ... – Amro