matlab:如何将屏幕像素转换为特定的坐标

时间:2014-06-01 20:44:33

标签: matlab coordinates axis pixels

我必须使用屏幕像素(鼠标点击)将图像上捕获的曲线绘制到坐标系中。例如:屏幕上的像素,从左到右(130像素到970像素)对应于我的坐标系的x轴(1000到6000)。从底部到顶部(670到99)的像素对应于坐标系的y轴(0到1.2)。如何才能做到这一点?也许在matlab中有一个函数做这样的事情?

更多解释: 我在坐标系上有一个曲线的jpg图像。我在该曲线上有几个点的像素位置(x,y)。现在我想将相同的曲线绘制成具有与jpg图像相同的x和y轴的matlab图形。

1 个答案:

答案 0 :(得分:0)

不确定是否有MATLAB函数/命令来执行此操作,但要想出一些东西可能并不太难。

假设xPixDiff = 970-130xAxisDiff = 6000-1000。然后,来自任何xPixel对的(xPixel,yPixel)值可以通过

转换为x轴坐标
xAxisCoord = (xPixel-130)*xAxisDiff/xPixDiff + 1000

从上面可以清楚地看出,xPixel=130映射到1000xPixel=970映射到6000

yAxisCoord计算类似,但我们只需记住y轴坐标系和y像素位置的“方向”相反。

允许yPixDiff=99-670yAxisDiff=1.2-0。然后,来自任何yPixel对的(xPixel,yPixel)值可以通过

转换为y轴坐标
yAxisCoord = (yPixel-670)*yAxisDiff/yPixDiff + 0

从上面可以清楚地看出,yPixel=670映射到0yPixel=99映射到1.2

希望以上有所帮助!