首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MATLAB移动图像中像素的原点(0,0)

MATLAB移动图像中像素的原点(0,0)
EN

Stack Overflow用户
提问于 2017-02-01 05:32:53
回答 3查看 1.1K关注 0票数 1

作为代码的输入,我需要在图片上有一些位置:位置以像素为单位,原点(0,0)位于图片的左上角。

问题是,当我运行映射图片上位置的代码时,原点移动到左下角:

因此,我的问题是:我如何才能将我的输入(我的picture1的位置)转换为与代码过程相关的输入?

谢谢你的帮助,奥德

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-01 07:36:35

对于图像,您可以反转Y轴:

代码语言:javascript
运行
复制
set(ax,'YDir','reverse');
票数 0
EN

Stack Overflow用户

发布于 2017-02-01 09:28:39

添加一个带有一些细节的答案:

在计算机、图像处理等领域,在左上角有(0,0)像素是一种常态。但是,可以理解的是,当您拥有xy数据时,您可能希望将其与图像一起绘制。以下是一些解决方案:

代码语言:javascript
运行
复制
imshow(image);
axis xy; % This line sets up the axis in a standard coordinate system

您可以用axis ij还原它。

通常,这是不够的。因为imshow假设每个像素都处于整数索引位置,所以您可能没有。也许你的数据是以千分尺,或任何其他任意单位。解决这个问题的方法是使用imagesc

代码语言:javascript
运行
复制
imagesc(img); 

等于imashow(img);axis xy。此外,还可以选择像素位置的任意矩阵作为imagesc(x,y,img)

最后,您可以flipud您的数据进行绘图,但我建议您这样做与绘图,所以您不修改数据本身。

代码语言:javascript
运行
复制
imshow(flipud(img))
票数 1
EN

Stack Overflow用户

发布于 2017-02-01 06:02:57

这取决于你的代码。也许你可以在飞行中做到这一点,这样你就能马上得到想要的输出。

如果不是只是翻转输出。你可以用flipud来做这个。

https://de.mathworks.com/help/matlab/ref/flipud.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41972569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档