Ich versuche die Radon-Signatur zu extrahieren, um Muster von Kleidung (gestreift, kariert, unregelmäßig und musterlos) zu erkennen, wie in 1 getan.Bildverarbeitung - Verwenden von Radon-Transformation zur Mustererkennung in MATLAB
Algorithmus implementiert werden:
img = imread('plaid.jpg');
grey = rgb2gray(img);
img2 = edge(grey, 'sobel');
vararray=zeros(1,size(theta,2));
theta = -89:90;
for j = 1: size(theta,2)
[R3,xp3] = radon (img2,theta(j));
vararray(j) = var(R3);
end
vararray = vararray/norm(vararray);
figure(1), bar(theta,vararray),title('Radon Signature');
Ich glaube, dass meine Fehler in den ersten 2 Stufen liegt:
1. Use sobel operator to compute the gradient map as f(x,y).
2. Perform Radon transform based on maximum disk area.
3. Compute the variance of r under all theta directions.
4. Employ L2-norm to normalize the feature vector.
5. Plot Radon Signature as a bar chart of var(r) for all theta values.
ich folgendes getan haben. Ich bin mir nicht sicher, wie man Radon nur auf dem maximalen Plattenbereich ausführt.
Meine Ergebnisse werden auf der rechten Seite angezeigt, während aus dem Artikel (siehe unten) auf der linken Seite angezeigt wird.
jedoch meine Ergebnisse sollten zumindest zeigen zwei unterschiedliche Peaks, wie in der die jeweilige Artikel die Ergebnisse gezeigt, aber sie tun es nicht.
Jede Hilfe wird geschätzt.
Quelle Algorithmus: "Assistive Kleidung Mustererkennung für Sehgeschädigte" von Xiaodong Yang, Student Mitglied, IEEE, Shuai Yuan, und YingLi Tian, Senior Member, IEEE
Diese Figur aus dem Artikel scheint mehr ein Gekritzel und weniger eine tatsächliche wissenschaftliche Figur. Sind Sie sicher, dass es ernst genommen werden soll? Sind Sie sicher, dass der Theta-Bereich derselbe ist? –
Die Hauptsache aus der Graphik des Artikels sind die 2 dominanten Peaks. Dies sollte auch in meinen Ergebnissen vorhanden sein, ist es aber nicht. Ich glaube, mein Fehler liegt im ersten Algorithmus Schritt 1, aber ich bin mir nicht sicher, wie dies in Matlab zu tun – User404
Ich kann nicht mit dem Bildverarbeitung Zeug helfen, aber Sie sollten vararray mit 'vararray = Nullen (1 , Größe (Theta, 2)); 'vor der Schleife und verwenden Sie' Vararray (j) 'innerhalb der Schleife, für Geschwindigkeit. –