数字图像处理Matlab图像处理工具箱.ppt

上传人:wuy****n92 文档编号:80486182 上传时间:2023-03-23 格式:PPT 页数:36 大小:1.02MB
返回 下载 相关 举报
数字图像处理Matlab图像处理工具箱.ppt_第1页
第1页 / 共36页
数字图像处理Matlab图像处理工具箱.ppt_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《数字图像处理Matlab图像处理工具箱.ppt》由会员分享,可在线阅读,更多相关《数字图像处理Matlab图像处理工具箱.ppt(36页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、实验一:实验一:Matlab图像处理工具箱图像处理工具箱 针对不同的领域需要不同的图像处理算法,针对不同的领域需要不同的图像处理算法,因此掌握一门高级语言来编写自己的图像处理因此掌握一门高级语言来编写自己的图像处理程序,程序,MATLAB无疑是一个不错的选择。无疑是一个不错的选择。2.1 Matlab简介简介 Matlab(Matrix Laboratory)是当今很流行的是当今很流行的科学计算软件。信息技术、计算机技术发展到今科学计算软件。信息技术、计算机技术发展到今天,科学计算在各个领域得到了广泛的应用,在天,科学计算在各个领域得到了广泛的应用,在诸如诸如控制论控制论、时间序列分析时间序列

2、分析、系统仿真系统仿真、图像信图像信号处理号处理等方面产生了大量的矩阵及其他计算问等方面产生了大量的矩阵及其他计算问题。题。Matlab软件适时推出,为人们提供了一个软件适时推出,为人们提供了一个方便的数值计算和动态仿真平台。方便的数值计算和动态仿真平台。Matlab简介简介-特点特点1 高效、简单的程序环境高效、简单的程序环境2 强大的数值运算功能强大的数值运算功能3 丰富的工具箱丰富的工具箱 Matlab是一个交互式的系统,其开发环境是是一个交互式的系统,其开发环境是MATLAB语言语言的基础和核心部分,全部功能都能在开发环境中实现。的基础和核心部分,全部功能都能在开发环境中实现。提供大量

3、的矩阵及其它运算函数,方便地进行一些很复提供大量的矩阵及其它运算函数,方便地进行一些很复杂的计算,而且运算效率极高。杂的计算,而且运算效率极高。Matlab命令和数学中的符号、命令和数学中的符号、公式非常接近,可读性强,容易掌握。公式非常接近,可读性强,容易掌握。根据各专门领域中的特殊需要提供了许多可选的工具箱,根据各专门领域中的特殊需要提供了许多可选的工具箱,已有涉及数学、控制、通信、信号处理、图像处理、经已有涉及数学、控制、通信、信号处理、图像处理、经济、地理等多种学科的济、地理等多种学科的20多种多种Matlab工具箱投入应用。工具箱投入应用。可以在提示符后键可以在提示符后键入各种命令入

4、各种命令变量管理中心,可以显变量管理中心,可以显示变量的名称、尺寸、示变量的名称、尺寸、字节和类别等信息。字节和类别等信息。提供当前路径下文提供当前路径下文提供当前路径下文提供当前路径下文件的操作。件的操作。件的操作。件的操作。显示已执行过的命显示已执行过的命显示已执行过的命显示已执行过的命令及相应时间。令及相应时间。令及相应时间。令及相应时间。系统中全部程序和帮助文件系统中全部程序和帮助文件系统中全部程序和帮助文件系统中全部程序和帮助文件的管理和启动功能。的管理和启动功能。的管理和启动功能。的管理和启动功能。Matlab简介简介-开发环境开发环境 Matlab简介简介-M文件文件 Matla

5、b通常使用命令驱动方式,当单行命令输通常使用命令驱动方式,当单行命令输入时,入时,Matlab立即处理并显示结果,同时将运行立即处理并显示结果,同时将运行说明和命令存入历史命令窗口。说明和命令存入历史命令窗口。Matlab语句的磁语句的磁盘文件称作盘文件称作M文件,因为这些文件名的末尾是文件,因为这些文件名的末尾是.M形式。形式。M文件有两种类型:文件有两种类型:命令命令(Script)文件)文件 函数函数(function)文件)文件 2.1 MATLAB基础语法2.1.1 变量名的命名规则1.必须以字母开头,后可跟字母,数字和下划线2.区分大小写3.不超过31个字符 Matlab常用命令常

6、用命令 clear 工作空间中清除所有变量工作空间中清除所有变量 clc 清除命令窗口中显示内容清除命令窗口中显示内容 help 获得在线帮助获得在线帮助 命令命令 功能功能 clf 清除图形窗口内容清除图形窗口内容 who 列出当前工作空间中的变量列出当前工作空间中的变量 whos 列出当前工作空间中的变量及信息列出当前工作空间中的变量及信息 2.2 Matlab常用的基本命令常用的基本命令(1)全全0矩阵矩阵 A=zeros(n):生成生成nn的全的全0矩阵;矩阵;A=zeros(m,n):生成生成mn的全的全0矩阵;矩阵;A=zeros(a1,a2,a3,):生成生成a1a2a3的全的全

7、0 矩矩 A=zeros(size(B):生成与矩阵生成与矩阵B大小相同的全大小相同的全0矩阵。矩阵。1.常用矩阵的生成常用矩阵的生成 (2)全全1矩阵矩阵 A=ones(n):生成生成nn的全的全1矩阵;矩阵;A=ones(m,n):生成生成mn的全的全1矩阵;矩阵;A=ones(m,n):生成生成mn的全的全1矩阵;矩阵;A=ones(a1,a2,a3,):生成生成a1a2a3的全的全1矩阵;矩阵;A=onse(size(B):生成与矩阵生成与矩阵B大小相同的全大小相同的全1矩阵。矩阵。(3)单位矩阵单位矩阵 A=eye(n):生成生成nn的单位矩阵;的单位矩阵;A=eye(m,n):生成

8、生成mn的单位矩阵;的单位矩阵;A=eye(m,n):生成生成mn的单位矩阵;的单位矩阵;A=eye(size(B):生成与矩阵生成与矩阵B大小相同的单位矩阵。大小相同的单位矩阵。(4)均匀分布的随机矩阵均匀分布的随机矩阵 A=rand(n):生成生成nn的随机矩阵;的随机矩阵;A=rand(m,n):生成生成mn的随机矩阵;的随机矩阵;A=rand(m,n):生成生成mn的随机矩阵;的随机矩阵;A=rand(a1,a2,a3,):生成生成a1a2a3的随机矩阵;的随机矩阵;A=rand(size(B):生成与矩阵生成与矩阵B大小相同的随机矩阵。大小相同的随机矩阵。*x=1 2 3 4 5%产

9、生产生15的数组的数组*b=x(3)%寻访数组寻访数组x的第的第3个元素个元素*b=x(1 2 5)%寻访寻访x的第的第1、2、5元素元素*b=x(1:3)%寻访前三个元素寻访前三个元素*b=x(3:end)%寻访第三个元素到最后一个寻访第三个元素到最后一个*b=x(find(x3)%由大于由大于3的元素构成数组的元素构成数组*b=x(3:-1:1)%由前由前3个数倒排成数组个数倒排成数组*b=x(1 2 3 4 4 3 2 1)%对元素的重复访问对元素的重复访问2.寻访矩阵中的数据寻访矩阵中的数据 *x=1,2,3;4,5,6;7,8,9%产生产生33的矩阵的矩阵*b=x(find(x4)%

10、大于大于4的元素构成数组的元素构成数组*x(2,2)=10%第第2行第行第2列值改为列值改为10*x(3,:)=20%第第3行的值改为行的值改为20*x=ones(5)%产生产生55全为全为1的矩阵的矩阵*x(2:4,2:4)=0%第第2、3、4行的第行的第2、3、4列元素改列元素改03.修改数据修改数据 A=3:6;1:4%产生产生24的矩阵的矩阵 s=size(A)%返回返回s为为行数行数 列数列数 r,c=size(A)%返回返回r为行数,为行数,c为列数为列数 r=size(A,1)%只返回行数只返回行数 c=size(A,2)%只返回列数只返回列数 n=length(A)%返回行数、

11、列数最大者返回行数、列数最大者5.矩阵的规模矩阵的规模 2.3 图像处理工具箱简介图像处理工具箱简介 Matlab是一种是一种基于向量(数组)基于向量(数组)而不是标量的高级而不是标量的高级程序语言,因而程序语言,因而Matlab从本质上就提供了对图像的支从本质上就提供了对图像的支持。数字图像实际上是一组有序离散的数据,使用持。数字图像实际上是一组有序离散的数据,使用Matlab可以对这些离散数据形成的矩阵进行一次性的可以对这些离散数据形成的矩阵进行一次性的处理。处理。Matlab对图像的处理功能主要集中在它的对图像的处理功能主要集中在它的图像处理工图像处理工具箱具箱(Image Proces

12、sing Toolbox)中。)中。图像处理工具箱是由一系列支持图像处理操作的图像处理工具箱是由一系列支持图像处理操作的函数函数组成,可以进行诸如组成,可以进行诸如几何操作几何操作、线性滤波线性滤波和和滤波器设计滤波器设计、图像变换图像变换、图像分析图像分析与与图像增强图像增强、数学形态学处理数学形态学处理等图等图像处理操作。像处理操作。图像处理工具箱主要有:图像处理工具箱主要有:Image Acquisition Toolbox Image Processing Toolbox Signal Processing Toolbox Wavelet Toolbox Statistics Tool

13、box Bioinformatics Toolbox Matlab Compiler Matlab COM builder 2.4 Matlab中的图像类型及类型转换中的图像类型及类型转换 Matlab中的数字图像是由一个或多个矩阵表示的,中的数字图像是由一个或多个矩阵表示的,Matlab强大的矩阵运算功能完全可以应用于图像,那强大的矩阵运算功能完全可以应用于图像,那些适用于矩阵运算的些适用于矩阵运算的语法语法对对Matlab中的数字图像同样中的数字图像同样适用。适用。2.4.1 图像和图像数据图像和图像数据缺省:缺省:double(64位浮点数位浮点数)uint8(无符号(无符号8位整型)位

14、整型)2.4.2 图像处理工具箱所支持的图像类型图像处理工具箱所支持的图像类型 图像处理工具箱支持图像处理工具箱支持4种图像类型,它们是:种图像类型,它们是:真彩色图像真彩色图像(RGB images)索引色图像索引色图像(index images)灰度图像灰度图像(intensity images)二值图像二值图像(binary images)此外,此外,Matlab还支持由多帧图像组成的还支持由多帧图像组成的图像序列图像序列。2.4.4 图像文件的显示图像文件的显示 Matlab 7.0图像处理工具箱提供了一个高级的图像显图像处理工具箱提供了一个高级的图像显示函数示函数imshow。其语法

15、格式如下,。其语法格式如下,灰度图像灰度图像 imshow(I)imshow(I,n)imshow(I,low high)其中其中其中其中n n为灰度级数目,缺为灰度级数目,缺为灰度级数目,缺为灰度级数目,缺省值为省值为省值为省值为256256。low highlow high为图像数据的值域。为图像数据的值域。为图像数据的值域。为图像数据的值域。2.灰度图像及其显示灰度图像及其显示 一幅灰度图像是一个数据矩阵一幅灰度图像是一个数据矩阵 I,其中数据均代表了,其中数据均代表了在一定范围内的颜色灰度值。在一定范围内的颜色灰度值。Matlab 把灰度图像用数把灰度图像用数据矩阵的形式进行存储,每个

16、元素则表示了图像中的每据矩阵的形式进行存储,每个元素则表示了图像中的每个像素。矩阵元素可以是个像素。矩阵元素可以是doudle、uint8整数类型。整数类型。多数情况下,灰度图像很少和颜色映像表一起保存,多数情况下,灰度图像很少和颜色映像表一起保存,但在显示灰度图像时,但在显示灰度图像时,Matlab 仍然在后台使用仍然在后台使用系统预系统预定义的缺省灰度颜色映像表。定义的缺省灰度颜色映像表。(1)灰度图像显示最基本的调用格式灰度图像显示最基本的调用格式 imshow(I)Matlab 中中 imshow函数使用一个灰度级系统调色板函数使用一个灰度级系统调色板(R=G=B)来显示灰度图像。如果

17、来显示灰度图像。如果I是是double型,若型,若像素值为像素值为0.0,则显示为黑色,则显示为黑色,1.0则显示为白色,则显示为白色,0.0和和1.0之间的像素值将显示为灰影。之间的像素值将显示为灰影。imshow函数显示灰度图像函数显示灰度图像 imshow(I,n)例如例如:以下语句将显示一幅:以下语句将显示一幅32个灰度级的图像个灰度级的图像I。imshow(I,32)(2)使用明确指定的灰度级数目使用明确指定的灰度级数目(3)某些情况下,可能将一些超出数据惯例范围的数某些情况下,可能将一些超出数据惯例范围的数 据显示为一幅灰度图像据显示为一幅灰度图像 对于对于double型数组为型数

18、组为0,1,对于对于uint8型数组为型数组为 0,255 为了将超过数据范围的数据显示为图像,用户可以直为了将超过数据范围的数据显示为图像,用户可以直接定义数据范围,其调用格式如下,接定义数据范围,其调用格式如下,imshow(I,low high)其中其中low、high分别为数据的最小和最大值。分别为数据的最小和最大值。如果用户使用一个空矩阵如果用户使用一个空矩阵 指定数据范围,指定数据范围,imshow将将自动进行数据标度。自动进行数据标度。补充:多幅图像文件的显示补充:多幅图像文件的显示 figure,imshow 功能:新建一个图像窗口,用于显示新图像(从而功能:新建一个图像窗口,

19、用于显示新图像(从而不让新的图像覆盖原来图像)。不让新的图像覆盖原来图像)。1.创建新的图像窗口,每个图像显示在一个窗口中创建新的图像窗口,每个图像显示在一个窗口中 调用调用imshow函数显示图像函数显示图像,如下页图所示。如下页图所示。I=imread(rice.png);J=filter2(1 2;-1-2,I);%用模板用模板1 2;-1-2对对 图像滤波图像滤波 imshow(I)figure,imshow(J,)思考思考思考思考:如果没:如果没:如果没:如果没有有有有figurefigure的话,的话,的话,的话,将产生什么结果将产生什么结果将产生什么结果将产生什么结果?用用ims

20、how显示滤波前后的图像显示滤波前后的图像 subplot(m,n,k),imshow%绘制并显示绘制并显示m行行n 列第列第k个子图个子图 例:例:X1=imread(rice.png);X2=imread(coins.png);X3=imread(bag.png);subplot(1,3,1),imshow(X1)subplot(1,3,2),imshow(X2)subplot(1,3,3),imshow(X3)2.用子图、多个图像显示在一个图像窗口中用子图、多个图像显示在一个图像窗口中 子图显示效果子图显示效果 图像的运算图像的运算 imadd(X,Y);Y可以是另一幅图像,也可以是一个

21、常数。可以是另一幅图像,也可以是一个常数。例例1:I=imread(rice.png);J=imread(cameraman.tif);K=imadd(I,J);subplot(1,3,1),imshow(I);subplot(1,3,2),imshow(J);subplot(1,3,3),imshow(K)图像的加法图像的加法 例例2:实现亮度的增加实现亮度的增加 RGB=imread(greens.jpg);RGB1=imadd(RGB,50);subplot(1,2,1);imshow(RGB);subplot(1,2,2);imshow(RGB1);图像的减法图像的减法 Z=imsub

22、tract(X,Y);计算计算X与与Y的像素之差,负数将被截取为的像素之差,负数将被截取为0。Z=imabsdiff(X,Y);计算计算X与与Y的像素之差的绝对值,结果为非负的。的像素之差的绝对值,结果为非负的。图像的空间变换图像的空间变换 将输入图像的像素映射到输出图像的新位置,如调整将输入图像的像素映射到输出图像的新位置,如调整图像大小、旋转、剪切等。图像大小、旋转、剪切等。调整图像的大小调整图像的大小-imresize Y=imresize(X,M);其中其中M1表示放大,表示放大,0M1表示缩小。表示缩小。Y=imresize(X,M N);产生一个指定的产生一个指定的MN大小的图像大

23、小的图像Y。图像的旋转图像的旋转-imrotate Y=imrotate(X,angle,method););Y=imrotate(X,angle,method,crop););其中其中angle为逆时针旋转的角度,为逆时针旋转的角度,method为插值方法,指为插值方法,指定定crop参数对旋转后的图像进行剪切。参数对旋转后的图像进行剪切。例:例:I=imread(lena.bmp);J1=imrotate(I,45);J2=imrotate(I,45,crop);subplot(1,3,1),imshow(I);subplot(1,3,2),imshow(J1);subplot(1,3,3),imshow(J2);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com