ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2021—2022学年第一学期寒假学习记录12

2022-01-12 19:33:09  阅读:164  来源: 互联网

标签:12 窗口 figure min max 坐标 2022 fun 2021


2022.01.12,今天是服务外包竞赛:随便拿个奖队的项目进行的第十二天,今天根据项目要求继续学习matlab数字图像处理

Clf   ‘为:清除figure窗口中的内容,并不关闭figure窗口;

Figure  ‘为:打开一个新的figure窗口;

Close   ‘为:关闭一个figure窗口;

Close all  ‘为:关闭所有的figure图形窗口;

Title(‘标题‘) ‘为:为图形输入标题;

Text(x,y,’文字’)‘为:在figure窗口的(x,y)坐标处输入文字“字符串”;

View(2)   ‘为:把图形跳回到二维显示;

View(3)   ‘为:把图形跳回到三维显示;

Grid on     ‘为:显示栅格;

Hold on     ‘为:保持当前figure窗口图形;

Xlabel(’文字’)、ylabel(‘文字’)、zlabel(‘文字’)‘为:定义X,Y,Z轴;

Axis(‘square‘)为:使得XYZ坐标长度相等;

Axis([a,b,c,d,e,f])  ‘为:定义a<x<b,c<y<d,e<z<f坐标范围;

Plot(x,y,’:dm’)  ‘为:作xy图,线性为虚线(“:”),标记为菱形(“d”),颜色为洋红色(“m”);

p=Polyfit(x,y,m)‘为:用m项式拟合x,y数据;

xi=1:0.1:10

yi=Polyval(p,xi)‘为:求得多项式p在xi内的值,并且赋值给yi;

 

定义一个inline函数:>> fun=inline('x^2+5','x')

fun =

     Inline function:

     fun(x) = x^2+5

>> fun(4)

ans =

21   (或者写成:feval(fun,4),结果也是一样的等于21)

 

定义一个匿名函数:>> fun=@(x)x^2

fun =

    @(x)x^2

>> feval(fun,5)   ‘用feval函数求相应的值;

ans =

    25

返回函数的最大最小值:

>> y=[5,7,8,33545,0];

>> max(y)

ans =

       33545

>> min(y)

ans =

     0

 

 

 

 

有关 figure的相关函数:

(1)在figure窗口输入数据:

Gtext(‘字符串‘)   ‘为:在figure窗口处插入相应字符串;

gtext({'我爱你!','i love you !','jtame'})  ‘为:一次性分三行在figure输入:芳~我爱你!

                                                                     i love you !

                                                                     jtame

gtext({'我爱你!';'i love you !';'jtame'})   ‘为:分三次在三个地方输入:芳~我爱你!  i love you !  jtame

(2)在figure窗口提取数据:

>>Ginput          ‘在figure窗口中选区任意个点,在按下回车键后返回点的坐标值;

>>[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盘,图片名字为:一般图像.jpg,jpg格式。

打开matlab ,如下输入:

>> y=imread('d:\一般图像.jpg'); %读取该图

>> imshow(y)  %显示该图

>> set(gcf,'outerposition',get(0,'screensize')); %使该图显示最大化,便于取点

>> [x0,y0] = ginput; %利用鼠标取点,按回车键结束。这个时候应顺序点取图中坐标轴

左下,左上,右上,右下四个点。

>> [x1,y1] = ginput; %开始撷取其中一条实线上的点,按你需要的精度,点取任意多的点,回车结束

%因为位图的屏幕坐标是从左上角为坐标原点开始的,需要做些变换:

>> 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]);%定义坐标范围

>> 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);
    disp('请在Figrure中先后点击实际坐标框的两个顶点,即A、B两点. ');
    [Xx,Yy]=ginput(2);%Xx,Yy——指实际坐标框的两个顶点
    min_x=input('最小的x值');%输入x轴最小值
    max_x=input('最大的x值');%输入x轴最大值
    min_y=input('最小的y值');%输入y轴最小值
    max_y=input('最大的y值');%输入y轴最大值
    x=(x-Xx(1))*(max_x-min_x)/(Xx(2)-Xx(1))+min_x;
    y=(y-Yy(1))*(min_y-max_y)/(Yy(2)-Yy(1))+max_y;
    plot(x,y,'r.','Markersize', 2);

   axis([375,725,0,350000])%根据要求设置坐标范围

 

 



 

TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
  TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE Enable collaborative features and customize widget: Bing Webmaster Portal Back

标签:12,窗口,figure,min,max,坐标,2022,fun,2021
来源: https://www.cnblogs.com/liuyichendeyuanzi/p/15794929.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有