2014-10-06 129 views
0

我正在研究的一个项目有一个“老派”主题专家。他为我提供了X-Y轴上的重要情节。情节是手绘,但非常小心制作。我需要一种方法将每个点的十进制值存入文件。一旦我有了这个,我将使用matlab或octave的插值函数。在Octave/Matlab上绘制点图像

我的第一个选择是只是眼球的情节,猜测每个点的价值,并输入到Excel或其他东西。我真的不想这样做。

在Matlab和Octave中,我明白有一个称为ginput的函数,用户可以在该函数中点击平面上的点来绘制它们。这越来越接近我想要做的事情。

为了确保最佳的准确性,我希望从输入下面的SME得到原始图,就像背景图一样。我会尽可能使输入轴尽可能接近手绘的轴线,然后点击原始图像中的点来绘制它们。

有没有办法用Octave/Matlab做到这一点?也许另一个工具?

+0

当然可以在图上放置图像,然后使用'ginput'来抓住这些坐标。然而,如果你想得到你的图的**实际**坐标(而不是像素坐标),这可能是困难的,因为如果你想确定关于像素/屏幕坐标的确切坐标,您需要知道扫描仪的DPI,它将在该图中为您扫描。例如,如果您知道自己的分辨率为150 ppi,则表示纸张上的每英寸对应150像素。一旦你知道了这一点,你可以调整你的坐标来获得真正的“XY”。 – rayryeng 2014-10-06 15:19:08

+0

就我个人而言,我使用的工具是plotdigitizer(http://plotdigitizer.sourceforge.net/)。 – nkjt 2014-10-06 15:47:44

回答

5

当我必须从扫描的数据表中对传感器的光谱响应进行数字化时,我已经使用倍频程完成了此操作。

img = imread ('datasheet.png'); 
imshow(img) 
[X, Y, BUTTONS] = ginput(); 

然后我点击了4个角来计算的规模和疗法ORIGO的位置,然后尽可能多的数据点,因为我想要的。当我完成时,我按下RETURN并将X,Y中的值计算回所需的单位。

+0

+1好主意,点击4个角落。顺便说一句,这是Photoshop的Camera Raw模块为了在图像中找到拍摄的颜色图表所做的工作 – 2014-10-06 15:37:51

+0

我认为这将起作用。谢谢! – 2014-10-06 15:39:39

+0

当然啊。非常聪明。 +1。 – rayryeng 2014-10-06 15:52:24

0

engauge是一个很好的工具。 手册,教程都在help菜单下。