我是编程新手。我试图在图像上绘制一个图,但意识到Matlab给了我默认的空间坐标。但是,我确实希望切换到像素索引而不是空间坐标。拜托,我怎么能实现这个目标?
答案 0 :(得分:0)
如果您绘制(在Matlab或其他地方)原点位于左下角,x轴从左到右,y轴从地面到天空。
如果您在Matlab(或其他地方)中加载图像,程序会将其读取为矩阵,其中元素由其行和列标识。原点(最低行,最低列)位于左上角。列号沿x轴增加,行号从图像顶部到底部逐渐增加。
基本上你必须记住最后的差异,从正常图中给出的坐标中找到矩阵(图像)中的一个点。 如果该空间坐标是(x_p,y_p),则矩阵(图像)IMG中的点是
IMG = imread('image.jpg');
[Height,Width] = size(IMG);
pixel_value = IMG(Height-y_p, x-p); %find a value in pixel coordinates