欢迎来到天天文库
浏览记录
ID:43347508
大小:150.41 KB
页数:4页
时间:2019-09-29
《matlab提取图片中曲线的数据》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Clf‘为:清除figure窗口中的内容,并不关闭figure窗口;Figure‘为:打开一个新的figure窗口;Close‘为:关闭一个figure窗口;Closeall‘为:关闭所有的figure图形窗口;Title(‘标题‘)‘为:为图形输入标题;Text(x,y,’文字’)‘为:在figure窗口的(x,y)坐标处输入文字“字符串”;View(2)‘为:把图形跳回到二维显示;View(3)‘为:把图形跳回到三维显示;Gridon‘为:显示栅格;Holdon‘为:保持当前figure窗口
2、图形;Xlabel(’文字’)、ylabel(‘文字’)、zlabel(‘文字’)‘为:定义X,Y,Z轴;Axis(‘square‘)为:使得XYZ坐标长度相等;Axis([a,b,c,d,e,f])‘为:定义a3、p在xi内的值,并且赋值给yi;定义一个inline函数:>>fun=inline('x^2+5','x')fun=Inlinefunction:fun(x)=x^2+5>>fun(4)ans=21(或者写成:feval(fun,4),结果也是一样的等于21)定义一个匿名函数:>>fun=@(x)x^2fun=@(x)x^2>>feval(fun,5)‘用feval函数求相应的值;ans=25返回函数的最大最小值:>>y=[5,7,8,33545,0];>>max(y)ans=33545>>mi4、n(y)ans=0有关figure的相关函数:(1)在figure窗口输入数据:Gtext(‘字符串‘)‘为:在figure窗口处插入相应字符串;gtext({'我爱你!','iloveyou!','jtame'})‘为:一次性分三行在figure输入:芳~我爱你!iloveyou!jtamegtext({'我爱你!';'iloveyou!';'jtame'})‘为:分三次在三个地方输入:芳~我爱你!iloveyou!jtame(2)在figure窗口提取数据:>>Ginput‘在figure窗5、口中选区任意个点,在按下回车键后返回点的坐标值;>>[x,y]=ginput‘在figure窗口中选区任意个点,在按下回车键后返回点的坐标值给x,y;>>[x,y]=ginput(4)‘在figure窗口中选区4个点,在按下回车键后返回点的坐标值给x,y;>>[x,y,button]=ginput()‘返回x和y的坐标,以及button值(1=左键,2=中,3=右)或者按键的ASXII码值。>>Clc‘为:清除窗口并且光标回到原始处;(3)提取图片中曲线的数据:如图:假设图片保存在D盘,图片名字6、为:一般图像.jpg,jpg格式。打开matlab,如下输入:>>y=imread('d:一般图像.jpg');%读取该图>>imshow(y)%显示该图>>set(gcf,'outerposition',get(0,'screensize'));%使该图显示最大化,便于取点>>[x0,y0]=ginput;%利用鼠标取点,按回车键结束。这个时候应顺序点取图中坐标轴左下,左上,右上,右下四个点。>>[x1,y1]=ginput;%开始撷取其中一条实线上的点,按你需要的精度,点取任意多的点,回车7、结束%因为位图的屏幕坐标是从左上角为坐标原点开始的,需要做些变换:>>x1=(x1-min(x0))*350/(max(x0)-min(x0))+375;%如果坐标原点不为0,则需在该轴加上省的坐标轴数(此处为x轴加上375);350是图像轴的标长;>>y1=(y1-max(y1))*3.5*10^5/(min(y0)-max(y0));%y轴做同样的处理;>>plot(x1,y1,'k.','Markersize',5);%画图,设置为黑色的点图>>axis([400,700,0,3500008、]);%定义坐标范围>>set(gcf,'outerposition',get(0,'screensize'));%使该图显示最大化,便于观察另外一种方法:如图: im=imread('D:一般图像.jpg');%读入图片 [y,x]=find(im==0);%找出图形中的“黑点”的坐标。该坐标是一维数据。 y=max(y)-y;%将屏幕坐标转换为右手系笛卡尔坐标 y=fliplr(y);%fliplr()——左右翻转数组 plot(x,y,'r.','Markersize',2);
3、p在xi内的值,并且赋值给yi;定义一个inline函数:>>fun=inline('x^2+5','x')fun=Inlinefunction:fun(x)=x^2+5>>fun(4)ans=21(或者写成:feval(fun,4),结果也是一样的等于21)定义一个匿名函数:>>fun=@(x)x^2fun=@(x)x^2>>feval(fun,5)‘用feval函数求相应的值;ans=25返回函数的最大最小值:>>y=[5,7,8,33545,0];>>max(y)ans=33545>>mi
4、n(y)ans=0有关figure的相关函数:(1)在figure窗口输入数据:Gtext(‘字符串‘)‘为:在figure窗口处插入相应字符串;gtext({'我爱你!','iloveyou!','jtame'})‘为:一次性分三行在figure输入:芳~我爱你!iloveyou!jtamegtext({'我爱你!';'iloveyou!';'jtame'})‘为:分三次在三个地方输入:芳~我爱你!iloveyou!jtame(2)在figure窗口提取数据:>>Ginput‘在figure窗
5、口中选区任意个点,在按下回车键后返回点的坐标值;>>[x,y]=ginput‘在figure窗口中选区任意个点,在按下回车键后返回点的坐标值给x,y;>>[x,y]=ginput(4)‘在figure窗口中选区4个点,在按下回车键后返回点的坐标值给x,y;>>[x,y,button]=ginput()‘返回x和y的坐标,以及button值(1=左键,2=中,3=右)或者按键的ASXII码值。>>Clc‘为:清除窗口并且光标回到原始处;(3)提取图片中曲线的数据:如图:假设图片保存在D盘,图片名字
6、为:一般图像.jpg,jpg格式。打开matlab,如下输入:>>y=imread('d:一般图像.jpg');%读取该图>>imshow(y)%显示该图>>set(gcf,'outerposition',get(0,'screensize'));%使该图显示最大化,便于取点>>[x0,y0]=ginput;%利用鼠标取点,按回车键结束。这个时候应顺序点取图中坐标轴左下,左上,右上,右下四个点。>>[x1,y1]=ginput;%开始撷取其中一条实线上的点,按你需要的精度,点取任意多的点,回车
7、结束%因为位图的屏幕坐标是从左上角为坐标原点开始的,需要做些变换:>>x1=(x1-min(x0))*350/(max(x0)-min(x0))+375;%如果坐标原点不为0,则需在该轴加上省的坐标轴数(此处为x轴加上375);350是图像轴的标长;>>y1=(y1-max(y1))*3.5*10^5/(min(y0)-max(y0));%y轴做同样的处理;>>plot(x1,y1,'k.','Markersize',5);%画图,设置为黑色的点图>>axis([400,700,0,350000
8、]);%定义坐标范围>>set(gcf,'outerposition',get(0,'screensize'));%使该图显示最大化,便于观察另外一种方法:如图: im=imread('D:一般图像.jpg');%读入图片 [y,x]=find(im==0);%找出图形中的“黑点”的坐标。该坐标是一维数据。 y=max(y)-y;%将屏幕坐标转换为右手系笛卡尔坐标 y=fliplr(y);%fliplr()——左右翻转数组 plot(x,y,'r.','Markersize',2);
此文档下载收益归作者所有