MATLAB提取图片中的曲线数据重新画图

 时间:2024-10-26 09:30:36

用MATLAB提取一副图片中曲线数据重新画图

工具/原料

MATLAB

方法/步骤

1、先上代码,后边根据具体例子,讲解怎么用。复制两条横帧霭绎郎线之间的全部代码,不要复制两条横线。------------------------------------------%%只适用于横纵坐标块吧吨翘是从0开始,如果不是,需要根据原理更改代码%%清空变量clearall;clc;%%取点之后趋势是对的,也就是点与点之间的比例是对的,但是每个点的真实值和原图对不上,需要按照真实的坐标处理一下max_axis_X=5;%这里是真实坐标中横轴的最大值max_axis_Y=25;%这里是真实坐标中纵轴的最大值flag=0;%如果图形的纵坐标是正数,flag=0,如果是负数,flag=1;shift=0;%如果横坐标不在最下边,而是在中间,那么需要往下平移若干单位%%读取图片数据fig=imread('D:\OneDrive\Work\MATLAB工程\3.png');%读取图片imshow(fig);%显示该图set(gcf,'outerposition',get(0,'screensize'));%使该图显示最大化,便于取点[X0,Y0]=ginput;%利用鼠标依次点击取出图片中数据区域边界的四个点。取点顺序:顺序点取图中坐标轴左下,左上,右上,右下四个点,回车结束。X0(2)=X0(1);%**对“X0,Y0”做一下处理。X0(4)=X0(3);Y0(4)=Y0(1);Y0(3)=Y0(2);[X1,Y1]=ginput;%开始点取其中一条实线上的点,按需要的精度,点取任意多的点,回车结束。%%因为位图的屏幕坐标是从左上角为坐标原点开始的,需要做些变换(如果图片中纵坐标不是从0开始,需要根据原理添加代码)X1=X1-min(X0);%**把图片的坐标原点移到图片中数据区域的左上角Y1=Y1-min(Y0);ifflag==0Y1=-(Y1-(max(Y0)-min(Y0)));%**把原来指向朝下的纵坐标翻转到朝上elseY1=(max(Y0)-min(Y0))-Y1;Y1=(Y1-(max(Y0)-min(Y0)));endX1=X1/(max(X0)-min(X0))*max_axis_X;%**按照每个取得的数据点在原图片中位置比例换算成真实坐标Y1=Y1/(max(Y0)-min(Y0))*max_axis_Y;Y1=Y1-shift;%往下平移若干单位plot(X1,Y1,'b-d');%画图------------------------------------------

2、如果是类似于这种图形,纵坐标是正数,前边应该这样设置,后边不变。------------------------------------------%%取点之后趋势是对的,也就是点与点之间的比例是对的,但是每个点的真实值和原图对不上,需要按照真实的坐标处理一下max_axis_X=5;%这里是真实坐标中横轴的最大值max_axis_Y=25;%这里是真实坐标中纵轴的最大值flag=0;%如果图形的纵坐标是正数,flag=0,如果是负数,flag=1;shift=0;%如果横坐标不在最下边,而是在中间,那么需要往下平移若干单位------------------------------------------

MATLAB提取图片中的曲线数据重新画图

3、如果是类似于这种图形,纵坐标是负数,前边应该这样设置,后边不变。------------------------------------------%%取点之后趋势是对的,也就是点与点之间的比例是对的,但是每个点的真实值和原图对不上,需要按照真实的坐标处理一下max_axis_X=5;%这里是真实坐标中横轴的最大值max_axis_Y=25;%这里是真实坐标中纵轴的最大值flag=1;%如果图形的纵坐标是正数,flag=0,如果是负数,flag=1;shift=0;%如果横坐标不在最下边,而是在中间,那么需要往下平移若干单位------------------------------------------

MATLAB提取图片中的曲线数据重新画图

4、如果是类似于这种图形,纵坐标有正数有负墙绅褡孛数,前边应该这样设置,后边不变。--------------幻腾寂埒----------------------------%%取点之后趋势是对的,也就是点与点之间的比例是对的,但是每个点的真实值和原图对不上,需要按照真实的坐标处理一下max_axis_X=3;%这里是真实坐标中横轴的最大值max_axis_Y=3;%这里是真实坐标中纵轴的最大值flag=0;%如果图形的纵坐标是正数,flag=0,如果是负数,flag=1;shift=1;%如果横坐标不在最下边,而是在中间,那么需要往下平移若干单位------------------------------------------

MATLAB提取图片中的曲线数据重新画图

Origin三维图形绘图(10)极坐标与三角云图制作 Origin特殊二维图制作之极坐标图 请问等轴晶 枝晶 柱状晶 奥氏体晶的区别和联系是什么 COMSOL一维创建间隔的用法 MathType怎么输入下部中括号
热门搜索
战国红玛瑙图片 脚底长鸡眼图片 气质女人图片 迅雷电影 自然环境图片