由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高99元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
正版新书]MATLAB GUI程序设计王广9787302467366
¥ ×1
第一部分 MATLAB基础
第1章 MATLAB概述
1.1 MATLAB软件介绍
1.1.1 MATLAB语言
1.1.2 MATLAB绘图功能
1.1.3 MATLAB数学函数库
1.1.4 MATLAB应用程序接口
1.2 MATLAB工作环境
1.2.1 命令行窗口
1.2.2 帮助系统窗口
1.2.3 工作空间窗口
1.2.4 M文件编辑窗口
1.2.5 图形窗口
1.2.6 当前文件夹
1.2.7 搜索路径
1.3 MATLAB中的函数类型
1.3.1 匿名函数
1.3.2 M文件主函数
1.3.3 子函数
1.3.4 嵌套函数
1.3.5 私有函数
1.3.6 重载函数
1.4 查询帮助命令
1.4.1 help命令
1.4.2 lookfor命令
1.4.3 模糊寻找
1.5 MATLAB程序流程控制结构
1.5.1 顺序结构
1.5.2 选择结构
1.5.3 循环结构
1.5.4 程序流程控制语句及其他常用命令
本章小结
第2章 GUI设计预备知识
2.1 数组与矩阵
2.1.1 数组的创建与操作
2.1.2 常见的数组运算
2.1.3 矩阵的表示
2.1.4 寻访矩阵
2.1.5 矩阵的拼接
2.1.6 矩阵的运算
2.1.7 矩阵的乘方
2.1.8 矩阵的行列式
2.2 MATLAB基本数值类型
2.2.1 整数类型数据运算
2.2.2 变量与常量
2.2.3 数值
2.2.4 表达式
2.2.5 空数组
2.2.6 逻辑运算
2.2.7 关系运算
第5章图像的显示与I/O操作数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能。下面介绍MATLAB中图像显示函数及其功能,并介绍基本的图像处理函数、图像类型转换等。
学习目标:(1)理解图像文件的读写与显示;(2)掌握图像类型转换的基本原理与实现步骤。
5.1数字图像概述5.1.1什么是数字图像图像有多种含义,其中最常见的定义是指各种图形和影像的总称。在日常的学习或统计中,图像都是必不可少的组成部分,它为人类构建了一个形象的思维模式,有助于学习和思考问题。
随着数字技术的不断发展和应用,现实生活中的许多信息都可以用数字形式的数据进行处理和存储,数字图像就是以数字形式进行存储和处理的图像。利用计算机可以对它进行常见图像处理技术所不能实现的加工处理,还可以将它在网上传输,也可以多次复制而不失真。
数字图像是指一个被采样和量化后的二维函数(该二维函数由光学方法产生),采用等距矩形网格采样,对幅度进行等间隔量化。一幅是指图像是一个被量化的采样数值的二维矩阵。
5.1.2图像的分类在计算机中,按照颜色和灰度的多少可以将图像分为二值图像、灰度图像、索引图像和真彩色RGB图像四种基本类型。目前,大多数图像处理软件都支持这四种类型的图像。
1.二值图像一幅二值图像的二维矩阵仅由0、1两个值构成,0代表黑色,1代表白色。由于每一像素(矩阵中每一元素)取值仅有0、1两种可能,所以计算机中二值图像的数据类型通常为1个二进制位。二值图像通常用于文字、线条图的扫描识别(OCR)和掩膜图像的存储,如图51所示。
2.灰度图像灰度图像矩阵元素的取值范围通常为[0,255]。因此其数据类型一般为8位无符号整型(int8),这就是人们经常提到的256灰度图像。0表示纯黑色,255表示纯白色,中间的数字从小到大表示由黑到白的过渡色。在某些软件中,灰度图像也可以用双精度数据类型(double)表示,像素的值域为[0,1],0代表黑色,1代表白色,0到1之间的小数表示不同的灰度等级。二值图像可以看成是灰度图像的一个特例,如图52所示。
图51二值图像图52灰度图像3.索引图像索引图像的文件结构比较复杂,除了存放图像的二维矩阵外,还包括一个称之为颜色索引矩阵MAP的二维数组。MAP的大小由存放图像的矩阵元素值域决定,例如矩阵元素值域为[0,255],则MAP矩阵的大小为256×3,用MAP=[RGB]表示。
MAP中每一行的三个元素分别指定该行对应颜色的红、绿、蓝单色值,MAP中每一行对应图像矩阵像素的一个灰度值,如某一像素的灰度值为64,则该像素就与MAP中的第64行建立了映射关系,该像素在屏幕上的实际颜色由第64行的[RGB]组合决定。也就是说,图像在屏幕上显示时,每一像素的颜色由存放在矩阵中该像素的灰度值作为索引通过检索颜色索引矩阵MAP得到。
索引图像的数据类型一般为8位无符号整型(int8),相应索引矩阵MAP的大小为256×3,因此一般索引图像只能同时显示256种颜色,但通过改变索引矩阵,颜色的类型可以调整。索引图像的数据类型也可采用双精度浮点型(double)。索引图像一般用于存放色彩要求比较简单的图像,如Windows中色彩构成比较简单的壁纸多采用索引图像存放,如图53所示,如果图像的色彩比较复杂,就要用到RGB真彩色图像。
4.RGB彩色图像RGB图像与索引图像一样都可以用来表示彩色图像。与索引图像一样,它分别用红(R)、绿(G)、蓝(B)三原色的组合来表示每个像素的颜色。但与索引图像不同的是,RGB图像每一个像素的颜色值(由RGB三原色表示)直接存放在图像矩阵中,由于每一像素的颜色需由R、G、B三个分量来表示,M、N分别表示图像的行列数,三个M×N的二维矩阵分别表示各个像素的R、G、B三个颜色分量。RGB图像的数据类型一般为8位无符号整型,通常用于表示和存放真彩色图像,如图54所示(当然也可以存放灰度图像)。
图53索引图像图54真彩图像5.2图像文件的读写图像处理是MATLAB工具箱中一个很重要的应用,MATLAB图像处理工具箱集成了很多图像处理的算法,为读者提供了很多便利,利用强大的MATLAB图像处理工具箱可以实现很多功能。在MATLAB中,要想对一幅图像或者文件进行处理,最首要的步骤就是对图像或者文件进行读取,然后进行处理,最后保存处理后的图像。
5.2.1图像文件的查询在图像处理中,可以利用imfinfo函数来获取一张图片的具体信息。这些具体信息包括图片的格式、尺寸、颜色数量、修改时间等等。在MATLAB中,用imfinfo指令加上文件及其完整路径名来查询一个图像文件的信息,其函数调用格式为info=imfinfo(filename.fmt)info=imfinfo(filename)其中,参数fmt对应于所有图像处理工具箱中所支持的图像文件格式。
由此函数获得的图像信息主要有:filename(文件名)、fileModDate(最后修改日期)、fileSize(文件大小)、format(文件格式)、formatVersion(文件格式的版本号)、width(图像宽度)、height(图像高度)、bitDepth(每个像素的位数)、colorType:'truecolor'(图像类型)等。
【例51】利用imfinfo查询图像文件信息示例。
程序命令如下:>>info=imfinfo('pout.tif')Filename:'D:\MATLAB\R2013a\toolbox\images\imdemos\pout.tif'FileModDate:'04-十二月-200013:57:50'FileSize:69004Format:'tif'FormatVersion:[]Width:240Height:291BitDepth:8ColorType:'grayscale'FormatSignature:[7373420]ByteOrder:'little-endian'NewSubFileType:0BitsPerSample:8Compression:'PackBits'PhotometricInterpretation:'BlackIsZero'StripOffsets:[8798415936239763208940234483355637064301]SamplesPerPixel:1RowsPerStrip:34StripByteCounts:[797679528040811381458101803579314452]XResolution:72YResolution:72ResolutionUnit:'Inch'Colormap:[]PlanarConfiguration:'Chunky'TileWidth:[]TileLength:[]TileOffsets:[]TileByteCounts:[]Orientation:1FillOrder:1GrayResponseUnit:0.0100MaxSampleValue:255MinSampleValue:0Thresholding:1Offset:687545.2.2图像文件的读取MATLAB中,提供了非常重要的用于图像文件的读取的指令函数imread,其常见调用格式为A=imread(filename.fmt)其作用是将文件名用字符串filename表示的、扩展名用fmt表示的图像文件中的数据读到矩阵A中。如果filename所指的为灰度级图像,则A为一个二维矩阵;如果filename所指的为RGB图像,则A为一个m×n×3的三维矩阵。Filename表示的文件名必须在MATLAB的搜索路径范围内,否则需指出其完整路径。
除此之外,imread还有其他几种重要的调用格式:[X,map]=imread(filename.fmt)[X,map]=imread(filename)[X,map]=imread(URL,...)[X,map]=imread(...,idx)(CUR,ICOandTIFFonly)[X,map]=imread(...,'frames',idx)(GIFonly)[X,map]=imread(...,ref)(HDFonly)[X,map]=imread(...,'BackgroundColor',BG)(PNGonly)[A,map,alpha]=imread(...)(ICO,CURandPNGonly)其中,idx是指读取图标(cur、ico、tiff)文件中第idx个图像,默认值为1;'frame',idx是指读取gif文件中的图像帧,idx值可以是数量、向量或'all';ref是指整数值;alpha是指透明度。
【例52】下面的例子为读取一幅图像。
程序命令如下:closeall;%关闭当前所有图形窗口clearall;%清空工作空间变量clc;%清屏I1=imread('football.jpg');%读取一幅RGB图像I2=imread('pout','tif');%读取一幅灰度图像I3=imread('E:\dog.jpg');%读取非当前路径下的一幅RGB图像set(0,'defaultFigurePosition',[100,100,1000,500]);%修改图形图像位置的默认设置set(0,'defaultFigureColor',[111])%修改图形背景颜色的设置figure,subplot(1,3,1),imshow(I1);%显示该RGB图像title('显示RGB图像');subplot(1,3,2),imshow(I2);%显示该灰度图像title('显示灰度图像');subplot(1,3,3),imshow(I3);%显示该RGB图像title('显示非当前路径下的图像')运行结果如图55所示。
图55图像的读取5.2.3图像文件的存储在MATLAB中,用函数imwrite来存储图像文件,其常用调用格式为imwrite(A,filename,fmt)imwrite(X,map,filename,fmt)imwrite(...,filename)imwrite(...,Param1,Val1,Param2,Val2...)其中,imwrite(...,Param1,Val1,Param2,Val2,...)可以让用户控制HDF、JPEG、TIFF等一些图像文件格式的输出特性。
【例53】将tif图像保存为jpg图像示例。
程序命令如下:[x,map]=imread('canoe.tif');whosimwrite(x,map,'canoe.jpg','JPG','Quality',75)
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格
