Я пытаюсь извлечь Подпись Радона, чтобы распознать образцы одежды (полосатые, плед, нерегулярные и без рисунков), как это сделано в 1.
Алгоритм, который будет реализован:
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.
Я сделал следующее:
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');
Я считаю, что моя ошибка заключается в первых двух шагах. Я не уверен, как выполнять Radon только на максимальной площади диска.
Мои результаты показаны справа, а из статьи (см. ниже) показано слева.
Однако мои результаты должны, по крайней мере, показывать 2 отличных пика, как показано в результатах действия, но они этого не делают.
Любая помощь приветствуется.
Источник алгоритма: "Признание вспомогательной одежды для людей с ослабленным зрением" Xiaodong Yang, учащийся, IEEE, Shuai Yuan и YingLi Tian, старший член IEEE