【问题标题】:extracting matrix values from another matrix从另一个矩阵中提取矩阵值
【发布时间】:2013-04-08 03:33:00
【问题描述】:

我有这样的问题;

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

我无法成功。

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

制作一个 65x65 的矩阵。

谢谢

希门尼斯

【问题讨论】:

  • 您的问题不够清楚,我无法回答您。如果图像是您的 256x256x6 矩阵,则强度现在是您点的通道 3 中的值。 abs(intensities) 为您提供这些值的大小,但是您想从那里做什么?

标签: matlab


【解决方案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);

这会产生一个 65x1 的 intensities 矩阵,其中每个元素对应于列表中的 x,y 对。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-26
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多