最近领导写科技论文,需要与牛人的论文结果进行比较。奈何牛人的论文是PDF格式,无法知道确切的数值用以与自己的计算数值同绘、对比。比如以下的Fig1就是论文中图片格式的曲线:
(Fig1:图片中的曲线)
以往用过方法是在CAD中将图片缩放描点,这种方法对于需处理多图的情况无疑工作量巨大且易错,于是我思考如何用MATLAB快速将曲线转换为数值。
思路:1、图像由像素点组成,图像中曲线与其他部分的明显区别在于颜色,读取每个像素点的RGB值,有颜色的像素点就是曲线对应点;2、曲线提取出来后还需要将其数值与坐标轴数值相对应,可以采用像素点坐标与曲线实际坐标的转换取得。
以下是实现此功能的MATLAB代码
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;clc;
%Step1:将论文PDF中图像截图保存为img_data.jpg,读取并显示图像
fip=imread('img_data.jpg');imshow(fip)
%Step2:手动输入x、y坐标轴交点值和箭头处值;N为采样点数
x_sj0=-1.0;x_sjmax=5.0;y_sj0&#