在Octave/Matlab中绘制图像上的点



我正在做的一个项目有一位"老派"主题专家。他为我提供了X-Y轴上的重要绘图。这些情节是手绘的,但制作得非常仔细。我需要一种方法将每个点的十进制值放入一个文件中。一旦我有了这个,我将使用matlab或倍频程的插值函数。

我的第一个选择是只关注这些图,猜测每个点的值,然后将它们输入Excel或其他什么文件中。我真的不想这么做。

在Matlab和Octave中,我知道有一个名为ginput的函数,用户可以用它点击平面中的点来绘制它们。这离我想做的越来越近了。

为了确保最佳的准确性,我希望在ginput下面有SME的原始绘图,比如作为背景图像。我会让ginput轴尽可能接近手绘的轴,然后只需点击原始图像中的点即可绘制它们。

有没有一种方法可以用Octave/Matlab做到这一点?也许是另一种工具?

我以前用倍频程做过这件事,当时我必须从扫描的数据表中数字化传感器的光谱响应。

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

然后,我点击了4个角来计算原点的比例和位置,然后根据我的需要计算出任意多的数据点。当我完成后,我按下RETURN,并将X、Y中的值计算回所需的单位。

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

最新更新