Matlab界面与基础操作概览

1. matlab 开始页面



博主使用的是 MATLAB R2018b 版本,所有代码都在该版本下运行。

matlab开始页面

1.1 新建脚本的页面



   左侧:该路径下的文件,包括图片文件、代码文件(.m),可以点击预览。

   中间上部:代码编辑区,可以编辑代码。

   中间下部:命令行窗口,可以输入命令,做一些操作。

   右侧:工作区,在命令行或代码区定义的变量都会在工作区显示出来。

  上方菜单栏可以选择编辑器,在编辑器编辑完代码可以点击上面的运行开始运行自己写的代码。
 

1.2 命令行窗口命令

clc:清空命令行窗口。把下方命令行的窗口输入的东西清空

clear:清空右侧工作区。当右侧工作区有内容时,可以用该命令清空

close all:把打开的窗口全部关闭。当打开预览的图片时是一个窗口,可以用该命令关闭所有窗口

:在命令行输入命令时,需要在命令结尾加一个分号,然后回车执行

:在代码编辑区编写代码时,应将这三个命令都加在行首(示例见下图)

1.3 简单的基本命令

imshow('ImageName');
从右侧目录内选择一个图片文件,并新建一个窗口打开显示
title('TitleName');
在显示的图片上方显示标题
figure;
默认所有图片都显示在一个 figure 里面(第二张图覆盖第一张),可以用 figure; 来新开一个 figure 显示新的图片

:当一行有多个命令时用逗号分开,命令换行时用分号结尾

示例:

在这里插入图片描述

1.4 一个 figure 显示多张图

subplot(n, m, p), imshow('ImgaeName');
在一个 figure 中设置 n × m n×m n×m 张图片的位置,从左到右、从上到下依次为 1 , 2 , 3 ⋅ ⋅ ⋅ 1,2,3 ··· 1,2,3⋅⋅⋅ , p 为在第 p 张显示 imshow 的图片

示例:

在这里插入图片描述

2. 图片变量和图片转换



2.1 读取图片

fa = imread('imagename');
读入一张图片,并将该图片赋给以fa命名的变量,然后在工作区会出现一个条目 fa ,有该条目的名称和值信息,对于 RGB 的图一般为三个维度的值。 工作区的uint8代表8位图,即每个像素点的取值为 0-255(从黑到白)。 下图中工作区的变量 fa 表示一张 RGB 的图,215×329×3 代表 *宽×高×维度 ,三维即代表有三层同样大小的图片重叠堆成,每张图片是不一样的颜色分量,详细情况将在后续讲解。

2.2 将 RGB 图片转换为灰度图

g = rgb2gray(fa);
把变量名为 fa 的 RGB 图片转换为灰度图,灰度图有一个维度的值,每个像素点的值也是 8 位表示(即取值为0-255),可以看下图工作区变量 g 的示例。

2.2 将图片转换为二值图

b = imbinarize(g);
将灰度图 g 转换为二值图,二值图也为一维图,二值图的每个像素点只能取 1(代表白色) 或 0(代表黑色),其中的参数必须是灰度图。

在matlab2018中建议用 imbinarize 函数,在 matlab2016 中用 im2bw代替 imbinarize,两个均可以带有阈值,两个函数的详细区别见 这里

在这里插入图片描述

2.3 调整对比度

j = imadjust(g);
自动调整灰度图 g 的对比度,传入的参数一定要是灰度图(效果见图)

在这里插入图片描述

2.4 对图片的值进行映射

 j = imadjust(g, [low_in; high_in], [low_out; high_out]);
对图像 g 中的值映射,映射后的图像为 j 。 映射:使 g 图中在 low_in 和 high_in 之间的像素值,等比例映射为 low_out 和 high_out 之间。值低于 low_in 的值映射为 low_out ,高于 high_in 的值被映射为 high_out 。 后面两个参数都可以省略,即用 [ ] 来代替,代表 [0 1] 。

2.5 综合示例

以下的示例先展示了将图片转换为灰度图,然后输出了用 imadjust 自动调整的图片,然后显示了用 imadjust 自己输入参数调整的图片。

在这里插入图片描述

   示例代码:

clear,clc,close all;
f=imread('lenna.png');
fa=rgb2gray(f);
figure;
imshow(fa),title('灰度图');
ga=imadjust(fa);
figure;
imshow(ga),title('自动调整');
gb=imadjust(fa,[0.4 0.6],[0.5 0.8]);
figure;
imshow(gb),title('手工指定值');

3. 直方图



3.1 直方图的函数

imhist(g);
输出灰度图 g 的直方图(对有相同像素值的像素点个数统计的图表)。

以下示例输出了将 RGB 的图片转换为灰度图后,统计灰度图 fa 的直方图。

上文提到,灰度图是一维图,每个像素点的取值为 0-255,从直方图横坐标可以看到,所有像素点的取值就是在 0-255 内,取不同值的像素个数也在直方图内的纵坐标显示出来了。

在这里插入图片描述

   示例代码:

clear,clc,close all;
f=imread('lenna.png');
fa=rgb2gray(f);
subplot(1,2,1),imshow(fa);
subplot(1,2,2),imhist(fa);

3.2 直方图均衡操作

h = histeq(g);
对灰度图 g 进行直方图均衡,使图像的直方图的像素值分布的更均匀。

下例可以看到,通过 histeq 函数作用后,像素值大小不同的像素点的个数分布更加均匀了。

在这里插入图片描述

   示例代码:

clear,clc,close all;
f=imread('lenna.png');

fa=rgb2gray(f);
subplot(2,2,1),imshow(fa);
subplot(2,2,2),imhist(fa);

gh=histeq(fa);
subplot(2,2,3),imshow(gh)
subplot(2,2,4),imhist(gh);



4. 额外知识



%:注释代码

%%:代码分节,将下面的代码单独分为一节,可以全部注释后在 主页>预设>编辑器/调试器>代码折叠 勾选可折叠节

+ :注释所有选中行
+ :去除所有选中行的注释
+ :缩进所有选中行

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空