そのため、最近、 for ループの代わりにインデックスを使用して作業しようとしています。
だから私は以下を変更しようとしています;
for i =1:size(l,1)
for j=1:size(l,2)
if l(i,j,1)>200 && l(i,j,2)<40 && l(i,j,3)<40
l(i,j,1)=144;
l(i,j,2)=0;
l(i,j,3)=0;
end
end
end
これに:
p1(:,:,1)= (200 < l(:, :,1) & 40 > l(:, :,2) & 40 > l(:, :,3)) ;
p2(:,:,2)= (200 < l(:, :,1) & 40 > l(:, :,2) & 40 > l(:, :,3));
p3(:,:,3)= (200 < l(:, :,1) & 40 > l(:, :,2) & 40 > l(:, :,3));
pix(p1(:,:,1))=144;
pix(p2(:,:,2))=0;
pix(p3(:,:,3))=0;
それはほとんど機能しており、写真を見ることができますが、両方の写真で色が異なって見えます. つまり、imshow(pix) は imshow(l) とまったく同じには見えません。私は本当に問題を見つけることができません。