作为我的代码的输入,我需要在我的图片上有一些位置:位置以像素为单位,原点(0,0)位于我照片左上方的角落
问题是当我运行我的代码来映射我的图片上的位置时,原点会转移到左下角:
所以我的问题是:我怎么能改变我的输入(我的picture1的位置),以便它与代码进程相关?
感谢您的帮助, 奥德
答案 0 :(得分:1)
添加一个详细的答案:
在计算机,图像处理等中,左上角有(0,0)像素是常态。但是,可以理解的是,当您拥有x
,y
数据时,您希望将与一起绘制到图像中。这里有一些解决方案:
imshow(image);
axis xy; % This line sets up the axis in a standard coordinate system
您可以使用axis ij
通常,这还不够。由于imshow
假设每个像素都处于整数索引位置,您可能没有。也许你的数据是毫米,或任何其他任意单位。解决方法是使用imagesc
imagesc(img);
相当于imashow(img);axis xy
。此外,您可以选择像素位置的任意矩阵为imagesc(x,y,img)
;
最后,你可以flipud
你的数据用于绘图,但我建议你用绘图内联,所以你不要修改数据本身。
imshow(flipud(img))
答案 1 :(得分:0)
这取决于你的代码。也许你可以在飞行中做到这一点,这样你就可以立即获得所需的输出。
如果不只是翻转输出。您可以使用flipud
。
答案 2 :(得分:0)
使用图像可以反转Y轴:
File1