Sto tentando di estrarre la firma del radon per riconoscere i modelli di abbigliamento (a righe, a quadri, irregolari e senza motivo) come fatto in 1.Elaborazione immagini - Utilizzo della trasformazione radon per il riconoscimento di modelli in MATLAB
Algoritmo da attuare:
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.
Ho fatto quanto segue:
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');
Credo che il mio errore sta nei primi 2 passi. Non sono sicuro di come eseguire il Radon solo sulla massima area del disco.
I miei risultati sono mostrati sulla destra, mentre dall'articolo (di seguito indicato) è mostrato sulla sinistra.
Tuttavia, i miei risultati dovrebbe almeno Mostra 2 picchi distinti come mostrati nei risultati del acticle, ma non lo fanno.
Qualsiasi assistenza è apprezzata.
Fonte di Algoritmo: "Assistive Abbigliamento Pattern Recognition per non vedenti o ipovedenti persone" di Xiaodong Yang, studente membro, IEEE, Shuai Yuan, e Yingli Tian, Senior Member, IEEE
Questa figura dall'articolo sembra più un doodle e meno una vera cifra scientifica. Sei sicuro che sia preso sul serio? Sei sicuro che la gamma theta sia la stessa? –
La cosa principale da prendere dal grafico dell'articolo è i 2 picchi dominanti. Questo dovrebbe essere presente anche nei miei risultati ma non lo è. Credo che il mio errore risieda nel primo passo dell'algoritmo 1 ma non sono sicuro di come farlo in matlab – User404
Non posso aiutarti con il processo di elaborazione delle immagini, ma dovresti pre-allocare vararray con 'vararray = zeros (1 , size (theta, 2)); 'prima del ciclo e usa' vararray (j) 'all'interno del ciclo, per la velocità. –