我必须使用屏幕像素(鼠标点击)将图像上捕获的曲线绘制到坐标系中。例如:屏幕上的像素,从左到右(130像素到970像素)对应于我的坐标系的x轴(1000到6000)。从底部到顶部(670到99)的像素对应于坐标系的y轴(0到1.2)。如何才能做到这一点?也许在matlab中有一个函数做这样的事情?
更多解释: 我在坐标系上有一个曲线的jpg图像。我在该曲线上有几个点的像素位置(x,y)。现在我想将相同的曲线绘制成具有与jpg图像相同的x和y轴的matlab图形。
答案 0 :(得分:0)
不确定是否有MATLAB函数/命令来执行此操作,但要想出一些东西可能并不太难。
假设xPixDiff = 970-130
和xAxisDiff = 6000-1000
。然后,来自任何xPixel
对的(xPixel,yPixel)
值可以通过
xAxisCoord = (xPixel-130)*xAxisDiff/xPixDiff + 1000
从上面可以清楚地看出,xPixel=130
映射到1000
和xPixel=970
映射到6000
。
yAxisCoord
计算类似,但我们只需记住y轴坐标系和y像素位置的“方向”相反。
允许yPixDiff=99-670
和yAxisDiff=1.2-0
。然后,来自任何yPixel
对的(xPixel,yPixel)
值可以通过
yAxisCoord = (yPixel-670)*yAxisDiff/yPixDiff + 0
从上面可以清楚地看出,yPixel=670
映射到0
和yPixel=99
映射到1.2
。
希望以上有所帮助!