Словарь симуляции в Octave / Matlab для разреженного восстановления - PullRequest
0 голосов
/ 17 октября 2018

Я хочу выполнить классификацию изображения RGB с использованием разреженного восстановления, а сейчас я хочу создать несколько случайных выборочных выборок.Таким образом, я нашел следующий код и, поскольку я очень новичок в октаве, я не понимаю код должным образом.
Было бы неплохо, если бы кто-то мог дать команду для разделов после изменения формы изображения.

вот код:

A = imread('demo2.jpg');
B = (A(301:800, 1:400,:));

figure(1)
image(B); axis on; axis equal

%3dim plot 
D1 = B(1:50,1:50,:);
D2 = B(1:50,151:200,:);
D3 = B(151:200,351:400,:);
figure(2); %Pflanze
image(D1); axis on; axis equal 
figure(3); %Haar
image(D2); axis off; axis equal
figure(4); %Haut
image(D3); axis off; axis equal

%sampling at random N per class
N = 50;
idx2d_D1 = ceil(rand(N,2)*50);
idx2d_D2 = ceil(rand(N,2)*50);
idx2d_D3 = ceil(rand(N,2)*50);

test_vec_D1 = zeros(N,3);
for k=1:N
 test_vec_D1(k,1) = D1(idx2d_D1(k,1),idx2d_D1(k,2),1);
 test_vec_D1(k,2) = D1(idx2d_D1(k,1),idx2d_D1(k,2),2);
 test_vec_D1(k,3) = D1(idx2d_D1(k,1),idx2d_D1(k,2),3);
 end
test_vec_D2 = zeros(N,3);
for k=1:N
test_vec_D2(k,1) = D2(idx2d_D2(k,1),idx2d_D2(k,2),1);
test_vec_D2(k,2) = D2(idx2d_D2(k,1),idx2d_D2(k,2),2);
test_vec_D2(k,3) = D2(idx2d_D2(k,1),idx2d_D2(k,2),3);
end
test_vec_D3 = zeros(N,3);
for k=1:N
test_vec_D3(k,1) = D3(idx2d_D3(k,1),idx2d_D3(k,2),1);
test_vec_D3(k,2) = D3(idx2d_D3(k,1),idx2d_D3(k,2),2);
test_vec_D3(k,3) = D3(idx2d_D3(k,1),idx2d_D3(k,2),3);
end

 figure(5)
 %pointset
 X1 = [test_vec_D1'];
 X2 = [test_vec_D2'];
 X3 = [test_vec_D3'];

 plot3(X1(1,:), X1(2,:), X1(3,:),'bo'); axis on; grid on; hold on
 plot3(X2(1,:), X2(2,:), X2(3,:),'go'); 
 plot3(X3(1,:), X3(2,:), X3(3,:),'ro'); hold off;
 title('blau-Pflanze, grün-Haar, rot-Haut')

1 Ответ

0 голосов
/ 17 октября 2018

Я нарисовал процесс и наконец понял, как работает этот код.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...