关闭

MATLAB 基本小函数用法

140人阅读 评论(0) 收藏 举报
分类:

1 disp()

   disp(X)函数只有一个输入,当你有多个字符串作为输入时就会报错。例如:

   disp('Alice is ' ,num2str(12) , ' years old!' ); 就会报错——输入参数过多。
  但是将里边的内容用中括号一括就成了一个字符串,例如:
    str=['Alice is ' num2str(12) ' years old!'];        disp(str);
  上边这句话也就等价于:
    disp=(['Alice is ' num2str(12) ' years old!']);
  这就是加中括号的原因,而不是因为num2str(),因为disp(num2str(12));也是正确的,因为里边就只有一个字符串。


2 分块画图 subplot()

  把绘图窗口分成两行两列四块区域,然后在每个区域分别作图,基本步骤:
    subplot(2,2,1); 
  在第一块绘图
    subplot(2,2,2);
  在第二块绘图
    subplot(2,2,3);
  在第三块绘图
    subplot(2,2,4);
  在第四块绘图


3 获取图片行和列大小

  I=imread('lena.jpg');

  s=size(I);%  s(1)=rows s(2)=clos


  a=rgb2gray(I); %把图片变为灰度图


最大类间方差法 将图片二值化

  I = imread('coins.png');
  level = graythresh(I);
  BW = im2bw(I,level);
  figure, imshow(BW)

5 绘图函数

  (1)fplot(fun,limits,tol,linespec)fun:函数名,可以是MATLAB已有函数、自定义的M函数或字符串定义的函数。limits:表示绘制图形的坐标轴取值范围,有两种方               式:[xminxmax]和[xminxmaxyminymax]。tol:相对误差,默认值为2e-3。

          linespec:表示图形的线型、颜色和数据点等设置。

  (2)plot(x,y1,x,y2);


6 给窗口加标题

    set函数的调用格式为:
    set(句柄,属性名1,属性值1,属性名2,属性值2,…)

  h=figure(1);

  set(h,'name','num1','Numbertitle','off');  %num1 为窗口名字 ,并且不显示第几个窗口

  m=figure(2);

  set(m,'name','num2');


7 sobel算子计算梯度
   (1)x方向的sobel算子计算

  hx=[-1 -2 -1;0 0 0 ;1 2 1];

  gradx=filter2(hx,A,'same');   %用hx模板对A进行滤波,参数‘same’表示输出图片和源图片大小相同

  gradx=abs(gradx); 

    (2)直接用x,y两个方向的sobel算子

    a=imread('lena.jpg');

    b=edge(a,'sober');


8 中值滤波函数medfilt2()

   A=imread('lena.jpg');   

   B = medfilt2(A, [m n]);    %medfilt2()函数是对二维矩阵格式进行处理,如果读进来的是rgb三色图,必须要用函数rgb2gray(A)转换为灰度图。[m,n]为模      板大小,默认为[3,3]






0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:14777次
    • 积分:494
    • 等级:
    • 排名:千里之外
    • 原创:28篇
    • 转载:62篇
    • 译文:0篇
    • 评论:0条