如何在 MATLAB 中获取一组 X 和 Y 坐标的灰度值



使用以下代码:

gray = rgb2gray(I5);
imtool(gray)
graydata = 0;
graydata = gray(sub2ind(size(gray)),(y(:)),(x(:)));

我收到以下错误:

Error in fourierdescriptorscode (line 18)

这是第 18 行:

graydata = gray(sub2ind(size(gray)),(y(:)),(x(:))); 

要获取特定 x 和 y 坐标的值,只需将它们作为指示符提供即可。例如,您希望像素行 2,第 3 列

pixel_of_interest = gray(2,3);

如果你有一个索引,想要获取相应的行列 val

[row_of_interest, col_of_interest] = ind2sub(size(gray),INDEX_OF_INTEREST); 

看起来你有一个放错位置的括号。 sub2ind至少需要 3 个参数:

graydata = gray(sub2ind(size(gray)),(y(:)),(x(:)));
                        move this ^             ^ after this...
graydata = gray(sub2ind(size(gray),(y(:)),(x(:))));

最新更新