第四章Matlab.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数字图像处理与分析基础数字图像处理与分析基础黄爱民安向京骆力中国水利水电出版社新世纪电子信息与自动化系列课程改革教材ISBN7-5084-2930-3第四章Matlab图像处理基础数字图像处理与分析基础主要内容MALTLAB概述MATLAB使用中需要注意的问题MATLAB图像处理工具箱MATLAB图形接口(GUI)简介数字图像处理与分析基础4.1Matlab概述1、MATLAB2、语言特点3、Matlab软件构成4、主要功能数字图像处理与分析基础4.1.1什么是Matlab美国新墨西哥大学Cleve.Moler博士,20世纪70年代后期,Linpack和Eispic的接口程序,Linpack是解线性方程的Fortran程序库,Eispic是解特征值问题的Fortran程序库。接口程序命名为MATLAB(即matrix和laboratory的前三个字母的组合,意思是“矩阵实验室”)。数字图像处理与分析基础4.1.2MATLAB的特点界面友好,编程效率高语法规则更简单,编程特点更贴近人的思维,问题的提出和解答只需要用数学方式表达和描述功能强大集成了数值分析、矩阵计算、信号处理和图形显示等众多的功能数字图像处理与分析基础特点开放性、易扩展性所有的程序都不需要使用低层代码来编写许多新的软件包都是使用者提供的目前随着应用领域的扩大和爱好者的增加,它的功能越来越强大数字图像处理与分析基础4.1.3Matlab系统的构成主包、SIMULINK以及应用程序构成Matlab系统(主包)包括五个部分Matlab语言Matlab工作环境MATLAB图形处理系统Matlab数学函数库Matlab应用程序接口数字图像处理与分析基础1、MATLAB语言一种高级矩阵语言带有独特的数据结构、输入输出、流程控制语句和函数,并且是面向对象的高级语言。在工程计算方面具有无可比拟的优异性能。它集计算、数据可视化和程序设计于一体能将问题和解决方案以用户熟悉的数学符号表示出来数字图像处理与分析基础2、Matlab工作环境命令窗口是MATLAB提供给用户的操作界面,在命令窗口中,用户可以实现MATLAB的各种功能。M文件编辑器(M文件是MATLAB所特有的使用该语言编写的磁盘文件)是MATLAB为用户提供的用于编辑M文件的程序M文件调试器用于调试M文件的程序。MATLAB工作空间显示用户在MATLAB中通过命令行进行操作的变量集合的窗口。在线帮助文档数字图像处理与分析基础3、MATLAB图形处理系统形处理系统提供图形处理功能,用于工程计算结果的可视化。绘制二维图形绘制三维图形及交互式观看定制图形用户界面数字图像处理与分析基础4、Matlab数学函数库既有求和、正余弦计算等简单函数,也有“线性代数”中常见的各种矩阵运算、信号分析中的快速傅立叶变换等复杂函数。MATLAB数学函数通过两种方式提供给用户:(1)内部函数MATLAB内部数学函数是一些简单的函数,直接内置于MATLAB核心中,执行效率较高。(2)以M文件的形式提供的函数这种形式便于MATLAB不断增强功能,能够运用于越来越多的领域。执行效率相对低数字图像处理与分析基础5、Matlab应用程序接口(API)是一个让MATLAB语言同C、Fortran等其它高级语言进行交互的函数库,通过动态连接来读写MATLAB文件。(1)从MATLAB中调用C和Fortran程序;(2)从MATLAB中输入和输出数据;(3)在MATLAB和其它应用程序间建立客户/服务器关系数字图像处理与分析基础4.2MATLAB使用中需注意的问题MATLAB的数据类型MATLAB的基本编程数字图像处理与分析基础4.2.1Matlab的数据类型可运算的数据只有两种字符型(uint8),即为无符号数双精度型存储型只能存储数据,而不能参与数学运算int8、uint8、int16、uint16、int32、uint32等,。在基本数据类型的基础上,可以构建单元数组和结构。数字图像处理与分析基础1、矩阵的生成用于乘法运算的初始矩阵通常赋成“1”矩阵;用于加法运算的初始矩阵,通常赋成“0”矩阵。数字图像处理与分析基础0矩阵与数组(1)0矩阵(矩阵或数组的所有元素为0)的生成:A=zeros(n),生成一个n个元素均为0的行矢量A;A=zeros(m,n),生成一个m行n列的元素均为0的矩阵A,或用A=zeros([mn]);A=zeros(d1,d2,d3,…)返回一个维数为d1d2d3…的所有元素为0的数组,或用A=zeros([d1d2d3…]);A=zeros(size(B)),生成一个全0的矩阵A,它的尺寸与另一个矩阵B一致。数字图像处理与分析基础0数组与矩阵X=zeros(3)X=000X=zeros(3,4)X=000000000000数字图像处理与分析基础“1”矩阵或数组(2)1矩阵(矩阵或数组的所有元素为1)的生成:A=ones(n),生成一个n个元素均为1的行矢量A;A=ones(m,n),生成一个m行n列的元素均为1的矩阵A,或用A=ones([mn]);A=ones(d1,d2,d3,…)返回一个维数为d1d2d3…的所有元素为1的数组,或用A=ones([d1d2d3…]);A=ones(size(B)),生成一个全1的矩阵A,它的尺寸与另一个矩阵B一致。数字图像处理与分析基础1矩阵与数组A=ones(3,3,2)A(:,:,1)=111111111A(:,:,2)=111111111数字图像处理与分析基础2.5.3.3Matlab的图像处理功能1、支持多种类型的图像文件以及各种类型文件的互相转换2、多种图像空间表示3、多种数字图像文件4、方便的数字图像输入/输出5、提供图像的矩阵表示及正交变换6、图像增强7、滤波器设计8、二值图像分析数字图像处理与分析基础1、支持多种类型的图像文件及各种类型文件的转换支持四种基本图像类型:索引图像:图像矩阵与颜色图数组,Colormap=[RGB]灰度图像:double,值域[0,1];uint8类型,值域[0,255]二进制图像:(0,1)RGB图像:图像数组为m×n×3,m,n表示图像象素的行列数与时间有关的图像序列:帧,m×n×3×f,m,n表示图像象素的行列数,f表示帧数,cat()数字图像处理与分析基础提供三种颜色空间的转换以及四种图像类型的转换HSV值与RGB颜色空间的相互转换:hsv2rgb(),rgb2hsv()NTSC值与RGB颜色空间相互转换:ntsc2rgb(),rgb2ntsc()灰度图像与索引图像的相互转换:gray2ind(),ind2gray()RGB图像转换为灰度图像:rgb2gray()RGB图像与索引图像相互转换:rgb2ind(),ind2rgb()将图像转换为二进制图像:im2bw()从灰度图像产生索引图像:grayslice()判断图像类型函数:isbw(),isrgb(),isind(),isgray()矩阵转换为灰度图像函数:mat2gray()数字图像处理与分析基础2、方便的数字图像输入/输出图像输入/输出函数为imread()、imwrite():BMP、HDF、JPEG、PCX、TIFF、XWD等格式查看图像文件信息:imfinfo()mat文件:将内存中的图像用save命令以mat文件形式保存到磁盘中,随时可用load命令调用。数字图像处理与分析基础3、方便的图像显示颜色条显示:colorbar()从轴上获取图像数据函数:getimage()显示图像:image()、subimage()、imshow()调整数据并显示成图像函数:imagesc()从多帧索引图像中制作电影:immovie()调整图像显示大小:truesize()显示图像为纹理表面:warp()二维图像放大或缩小命令:zoom()数字图像处理与分析基础4、图像的矩阵表示及正交变换图像的矩阵表示和向量表示:)1,1()1,1()0,1()1,1()1,1()0,1()1,0()1,0()0,0(NMfMfMfNfffNfffFTMffff],...,,[110数字图像处理与分析基础相关函数图像象素值及其统计图像像素值:impixel()、improfile()、imcontor()、imhist()一般统计特性:均值mean2(),标准差std2(),相关系数corr2()图像矩阵运算:秩、范数、特征值、特征向量、特征多项式、逆矩阵或伪(广义)逆矩阵、非线性运算图像的正交变换:Fourier、Hadamard、DCT等数字图像处理与分析基础5、图像增强(1)增强图像的对比度,改善视觉效果的算法:imadjust()、brighten()、histeq()(2)去除图像噪声的平滑滤波算法:imnoise()、medfilt2()、ordfilt2()、wiener2()(3)增强图像边缘的锐化算法;(4)提供了与图像处理有关的二维线性滤波器及其设计方法:conv2()、convmtx2()、convn()、filter()、fspecial()、freqspace()、freqz2()、fsamp2()、ftrans2()、fwind1()、fwind2()数字图像处理与分析基础6、数字图像操作与分析(1/3)(1)二进制图像操作:构造查找表:makelut()使用查找表进行邻域操作:applylut()计算二进制图像中的物体区域:bwarea()计算二进制图像的Euler数:bweuler()二进制图像的背景区域填充:bwfill()标志二进制图像中的相连成分:bwlabel()二进制图像形态运算:bwmorph()二进制图像腐蚀:erode()二进制图像膨胀:dilate()确定二进制图像中的物体二进制图像扩大:bwselect()数字图像处理与分析基础6、数字图像操作与分析(2/3)(2)颜色图操作使颜色图变成更亮或更暗的图:brighten()重新排列颜色图中的颜色:cmpermute()寻找符合图像的独特的颜色图的颜色:cmunique()设置或获取颜色查找表:colormap()由较少颜色的图像近似索引图像:imapprox()(3)图像邻域及块操作选择块处理的块大小:bestblk()对图像实施不同的块处理:blkproc()重新安排矩阵列到图像块:col2im()使用列方向函数执行邻域运算;colfilt()重新安排图像块到矩阵列:im2col()进行一般邻域运算:nfilter()数字图像处理与分析基础6、数字图像操作与分析(3/3)(4)基于区域图像处理依据颜色选择要处理的区域roicolor()在任意区域内平滑插值roifill()对一特殊区域进行滤波roifilt2()选择要处理的多边形区域roipoly()(5)图像分析检测灰度图形的边缘edge()执行四叉树分解qtdecomp()获取四叉树分解块值qtgetblk()设置四叉树分解块值qtsetblk()(6)图像几何运算图像裁减imcrop()图像大小调整imresize()、imrotate()、interp2()

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功