从另一个矩阵中提取矩阵值

时间:2013-04-08 03:33:00

标签: matlab

我有这样的问题;

points(size = 65,2)是一个具有图像像素坐标的变量。在第一列中,存在x坐标,并且在第二y坐标中,我想从仅一个通道的那些像素坐标获取矩阵(大小= 256,256,6)的幅度值,例如。 3(三)。

我无法成功。

intensities = images(points(:,2), points(:,1), 3); 

制作矩阵65x65。

由于

Jimenez的

1 个答案:

答案 0 :(得分:1)

您可以将x,y索引转换为线性索引,以便从图像中获取所需的值:

% some sample data    
list = round(256*rand(65,2));
im = rand(256,256);
% calculate linear indices
ind = sub2ind([256,256],list(:,1),list(:,2));
intensities = im(ind);

这导致intensities矩阵为65x1,其中每个元素对应于列表中的x,y对。