我必须以(x,y)的形式将图像的像素坐标存储在矩阵中。 我正在尝试的代码是:
[x,y]=size(diff_im);
count=0;
for i=1:x
for j=1:y
if a(i,j)==0
count=count+1;
new_x(count)=j;
new_y(count)=i;
end
end
end
目前我将x和y存储在单独的数组中。但我想知道如何将x,y值存储在单个矩阵中。
答案 0 :(得分:1)
如果你需要的只是一个数组,其中每一行都是a
中0的像素的x / y坐标,你可以使用find
,然后是连接。
[new_y, new_x]=find(a==0); %// x/y are now correct for plotting onto an image
new_xy = [new_x,new_y];
答案 1 :(得分:0)
我不确定你想要什么。如果你想要的只是将新坐标系列存储在一个矩阵中,你可以做一些非常基本的事情,如:
[x,y]=size(diff_im);
count=0;
for i=1:x
for j=1:y
if a(i,j)==0 %what is this line??
count=count+1;
A(count,1)=j;
A(count,2)=i;
end
end
end
然后可以通过A(i,:)