0

我有一张带有 xi,yi 值的图像,我需要在图像中的某些位置提取它。为此,我使用 ginput 来获取我需要该值的位置的 x,y 坐标。然后我需要通过执行以下操作从图像中提取值value = image(x,y)

然而:

通过说:(values = image(x(:),y(:));坐标来自ginput)来询问图像的值,我得到 x 与 y 配对的所有可能值,而不是检查第一个 x 坐标到第一个 y 坐标,依此类推。

这可以通过我没有考虑过的简单 MATLAB 语法来完成,还是我需要构造一个循环。如果是这样,有人可以帮忙吗?

4

1 回答 1

0

您需要使用sub2ind

>> values = image( sub2ind( size(image), y(:), x(:) ) );

请注意,xandy作为y-x对传递给sub2ind: 因为 matlab 以行列坐标而不是 xy 坐标来处理矩阵中的条目。

于 2013-09-16T05:58:35.123 回答