matlab课程设计 8.docx
- 文档编号:18856825
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:23
- 大小:952.89KB
matlab课程设计 8.docx
《matlab课程设计 8.docx》由会员分享,可在线阅读,更多相关《matlab课程设计 8.docx(23页珍藏版)》请在冰豆网上搜索。
matlab课程设计8
课程设计任务书
学生姓名:
专业班级:
指导教师:
刘新华工作单位:
信息工程学院
题目:
MATLAB仿真软件进行图像的输入、输出和格式变换
初始条件:
①仿真软件matlab
②数字信号处理与图像处理基础知识。
要求完成的主要任务:
MATLAB仿真软件进行图像的输入、输出和格式变换。
要求:
读取、保存和显示不同格式的图像,并进行图像格式的相互变换如索引图像、灰度图像、RGB图像和二值图像的相互转换
时间安排:
第14周:
理论讲解.
第15周:
理论设计.仿真调试.撰写试验报告,准备答辩
第16周:
答辩
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
目录
1图像文件格式及图像类型1
1.1MATLAB支持的几种图像文件格式:
1
1.2MATLAB几种图像类型1
2图像的输入5
2.1从图形图像上读取数据5
3图像的输出7
3.1以图像形式输出(图像的显示)7
3.1.1索引图像的显示7
3.1.2灰度图像的显示9
3.1.3二值图像的显示10
3.1.4RGB图像的显示11
3.2以图像文件的形式输出(图像文件形式之间的转换)11
4图像的保存13
5图像类型转换14
5.1RGB转换成灰度图像14
5.2灰度图像转换为索引图像15
5.3灰度图像转化为二值图像16
5.4RGB图像转化为索引图像17
课设总结19
参考文献20
摘要
MATLAB是集数值计算,符号运算及图形处理等强大功能于一体的科学计算语言。
作为强大的科学计算平台,它几乎能够满足所有的计算需求。
MATLAB本身就是功能强大的数据可视化工具,可以通过各种形式显示分析数据,例如灰度直方图、等高线、蒙太奇混合、像素分析、图层变换以及材质贴图等。
利用可视化的图形,不仅能够评估图形图像的特性,还能够分析图像中的色彩分布等情况。
本次课程设计介就是Matlab环境下的一些最基本的图像处理操作,如读取、保存和显示不同格式的图像,并进行图像格式的相互变换如索引图像、灰度图像、RGB图像和二值图像的相互转换
Abstract
MATLABisascientificcomputinglanguagethataddsthefunctionofnumericalcomputingandgraphicsprocessing,symbolstogether.Asapowerfulscientificcomputingplatforms,itcanalmostsatisfyallthecalculationsthatneeds.MATLABitselfisapowerfultoolofdatavisualizationthatcandisplaydatathroughvariousforms,suchasgraylevelhistogram,contours,montagemixing,pixelanalysis,thelayertextureandtransformation.Withvisualgraphics,itcannotonlyevaluateimagecharacteristics,butalsoanalyzethedistributionofcolorimage.
ThepurposeofthepracticeofintroducingMatlabenvironmentisthemostbasicofsomeimageprocessingoperations,suchasread,write,imageinformationandimageformat,sizeandgraytelescopic;etc.Throughtheexperimentmasteryofimagehistogramsdepictsmethod,deepenthehistogramimagefeatureandtherelationshipbetweentheshapeofunderstanding,andtodeepentheunderstandingofhistogramequalizationalgorithm.
1图像文件格式及图像类型
1.1MATLAB支持的几种图像文件格式:
⑴JPEG(JointPhotogyaphicExpeytsGroup):
一种称为联合图像专家组的图像压缩格式。
⑵BMP(WindowsBitmap):
有1位、4位、8位、24位非压缩图像,8位RLE(RunlengthEncoded)的图像。
文件内容包括文件头(一个BITMAPFILEHEADER数据结构)、位图信息数据块(位图信息头BITMAPINFOHEADER和一个颜色表)和图像数据。
⑶PCX(WindowsPaintbrush):
可处理1位、4位、8位、16位、24位等图像数据。
文件内容包括文件头、图像数据和扩展色图数据。
⑷TIFF(TaggedIamgeFileFormat):
处理1位、4位、8位、24位非压缩图像,1位、4位、8位、24位packbit压缩图像,1位CCITT压缩图像等。
文件内容包括文件头、参数指针表与参数域、参数数据表和图像数据四部分。
⑸PNG(PortableNetworkGraphics):
包括1位、2位、4位、8位和16位灰度图像,8位和16位索引图像,24位和48位真彩色图像。
⑹GIF(GraphicsInterchangeFormat):
任何1位到8位的可交换的图像。
⑺HDF(HierarchialDataFormat):
有8位、24位光栅图像数据集。
⑻ICO(WindowsIconresource):
有1位、4位、8位非压缩图像。
⑼CUR(WindowsCursorresource):
有1位、4位、8位非压缩图像。
⑽XWD(XWindowsDump):
包括1位、8位Zpixmaps,XYBitmaps,XYPixmmmaps。
⑾RAS(SunRasterimage):
有1位bitmap、8位索引、24位真彩色和带有透明度的32位真彩色。
⑿PBM(PortableBitmap)。
⒀PGM(PortableGraymap)。
⒁PPM(PortablePixmap)。
1.2matlab几种图像类型
MATLAB支持五种图像类型,即二值图像、索引图像、灰度图像、RGB图像和多帧图像阵列。
索引图像:
它的数据信息包括一个数据矩阵和一个双精度色图矩阵,它的数据矩阵中的值直接指定该点的颜色为色图矩阵中的某一种。
色图矩阵中,每一行表示一种颜色,每行有三个数据,分别表示该种颜色中红、绿、蓝的比例情况,所有元素值都在[0,1]内。
表1-1索引图像的特征
双精度类:
Double
(每个元素占8个字节)
整数类:
Unit8
(每个元素占1个字节)
整数类(Unit16)
(每个元素占2个字节)
索
引
图
像
图像数组大小:
m×n
图像元素取值:
[1,p]
色度矩阵:
p×3
色度元素值:
[0,1]
图像数组大小:
m×n
图像元素取值:
[0,p-1]
色度矩阵:
p×3
色度元素值:
[0,255]
图像数组大小:
m×n
图像元素取值:
[0,p-1]
色度矩阵:
p×3
色度元素值:
[0,65535]
图1-1索引图像对应的色度元素值
灰度图像:
数据矩阵中的元素值一般都在[0,1]或[0,255]之间,灰度图像根据这些数据利用线性插值来和色图中的颜色种类匹配。
灰度图像一般看起来是一副黑白图像,但是色彩明暗度较二值图像更为丰富。
因为每一个像素点的取值在[0,1]或[0,255]之间。
灰度图像读入matlab中是一个二维的平面矩阵,其中行与列的乘积代表其图片中像素点的个数。
表1-2灰度图像的特征
灰
度
图
像
图像数组大小:
m×n
图像元素值:
[0,1]
色度矩阵:
p×3
色度元素值:
[0,1]
图像数组大小:
m×n
图像元素值:
[0,255]
色度矩阵:
p×3
色度元素值:
[0,1]
图像数组大小:
m×n
图像元素值:
[0,65535]
色度矩阵:
p×3
色度元素值:
[0,1]
图1-2灰度图像的色度元素值
3)二值图像:
数据矩阵中的元素值只是0或1。
读入matlab也是一个二维矩阵。
二值图像读入matlab中也是一个二维的平面矩阵,但像素点取值只限于0,1。
表1-3二值图像的特征
二
值
图
像
图像数组大小:
m×n
图像元素值:
0或1
图像数组大小:
m×n
图像元素值:
0或1
图1-3二值图像的元素值
4)RGB图像:
图像中每个象素的颜色用三个数据来存储,分别指定红、绿、蓝三原色在象素颜色中的比例关系,组成一个三维数组,读入matlab后是一个三维的矩阵。
RGB图像就是采用红、绿、蓝作为三原色的,其中R为红色,G为绿色,B为蓝色。
这样这个三维矩阵A就可以表示成一个彩色矩阵,也就是一张数字图像可以在matlab中读成一个矩阵A。
这个三维矩阵的第一维就是上图中第一层代表红色数值,第二维为第二层代表绿色数值,第三维为第三层代表蓝色数值。
也可以这样理解:
将索引图像中的数据矩阵中每一个像素点直接加载上色图矩阵中对应的颜色值。
表1-4RGB图像的特征
双精度类:
Double
(每个元素占8个字节)
整数类:
Unit8
(每个元素占1个字节)
整数类(Unit16)
(每个元素占2个字节)
真
彩
图
像
数组大小:
m×n×3
(:
:
1)-红色分量
(:
:
2)-绿色分量
(:
:
3)-蓝色分量
元素取值:
[0,1]
(无调色板)
数组大小:
m×n×3
(:
:
1)-红色分量
(:
:
2)-绿色分量
(:
:
3)-蓝色分量
元素取值:
[0,255]
(无调色板)
数组大小:
m×n×3
(:
:
1)-红色分量
(:
:
2)-绿色分量
(:
:
3)-蓝色分量
元素取值:
[0,65535]
(无调色板)
图1-4RGB图像的色度元素值
2图像的输入
2.1从图形图像上读取数据
MATLAB提供了一个重要的用于图像文件的读写的指令------从图像文件中读取数据的imread,
imread的常见调用格式为:
A=imread(‘filename’,’fmt’)
其作用是将文件名用字符串filename表示的,扩展名用fmt表示的图像文件中的数据读到矩阵A中。
如果filename所指的为灰度级图像,则A为一个二维矩阵;如果filename所指的为RGB图像,则A为一个m×n×3的三维矩阵。
Filename表示的文件名必须在MATLAB的搜索路径范围内,否则需指出其完整路径。
imread的其他几种重要的调用格式为:
[X,map]=imread(‘filename’,’fmt’)
[…]=imread(‘filename’)
[…]=imread(URL,…)
[…]=imread(…,idx) (CUR,ICOandTIFFonly)
[…]=imread(…,’frames’,idx) (GIFonly)
[…]=imread(…,ref) (HDFonly)
[…]=imread(…,’BackgroundColor’,BG) (PNGonly)
[A,map,alpha]=imread(…) (ICO,CURandPNGonly)
上面一些参数的含义如下:
idx是指读取图标(cur、ico、tiff)文件中第idx个图像,默认值为1。
’frame’,idx是指读取gif文件中的图像帧,idx值可以是数量、向量或’all’。
ref是指整数值。
alpha是指透明度。
【例】
I=imread('E:
\YOYO\work\color.jpg','jpg');
%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中
imshow(I);title('原图像');
图2-1inread举例说明
3图像的输出
3.1以图像形式输出(图像的显示)
以图像形式输出,其实质就是图像的显示。
函数为image(imshow).
.
图3-1图像输出的框图
根据不同的图像形式,有一些不同的显示方法。
3.1.1索引图像的显示
索引图像包含一个数据矩阵A,一个颜色映射矩阵map。
像素颜色内数据矩阵X作为索引值向矩阵map进行索引。
1.可以用下面代码来显示一幅索引图像:
image(A)
colormap(map).
【例】
I=imread('E:
\YOYO\work\suoyin.jpg','jpg');
%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中
image(I);
colormap(map);
图3-2索引图的显示举例1
2.使用imshow命令显示索引图像,则需要指定图像矩阵和调色板:
Imshow(A,map)在显示一幅索引图像时,inshow函数将设置句柄图形属性来控制颜色显示方式。
【例】
I=imread('E:
\YOYO\work\suoyin.jpg','jpg');
%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中
imshow(I,map);
图3-3索引图像的显示举例2
3.1.2灰度图像的显示
一幅灰度图像是一个数据矩阵I
1.imshow(I,[low,high])
以灰度范围[low,high]显示图像,如果不知道灰度范围,可以用imshow(I,[])显示。
【例】按最大灰度范围显示
命令窗口输入:
I=imread('E:
\YOYO\work\attention[1].jpg');
%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中
imshow(I,[]);title('原图像');
colorbar
图3-4灰度图像的显示举例1
2.imshow(I,n)
显示灰度级为n的图像,n缺省为256。
【例】按256灰度级显示
I=imread('E:
\YOYO\work\attention[1].jpg');
%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中
imshow(I,256);title('原图像');
colorbar
图3-5灰度图像的显示举例2
3.1.3二值图像的显示
imshow(BW)
显示二值图像。
【例】显示二值图像
bw=imread('E:
\YOYO\work\twovalue.jpg');
%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中
imshow(bw);title('原图像');
colorbar
图3-6二值图像的显示举例
3.1.4RGB图像的显示
imshow(RGB)
显示真彩色图像。
【例】rgb=imread('E:
\YOYO\work\color.jpg','jpg');
%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中
imshow(rgb);
图3-7RGB图像的显示举例
3.2以图像文件的形式输出(图像文件形式之间的转换)
以图像文件的形式输出,其实质是图像文件形式之间的转换。
图3-8图像文件形式的输出框图
格式是:
imwrite(A,’filename’,’fmt’)保存无调色板的图像
imwrite(X,map,’filename’,’fmt’)保存有调色板的图像
imwrite(…,’filename’)文件名中含格式
imwrite(…,Param1,Vall,Param2,Val2,…)指定保存参数
(其中imwrite(…,Param1,Val1,Param2,Val2…)可以让用户控制HDF、JPEG、TIFF等一些图像文件格式的输出特性。
)
在MATLAB中,默认的保存类型是uint8。
由于PNG和TIFF格式支持16位的图像,所以保存这类图像时,保存类型就是uint16。
文件格式:
bmp、jpg、pcx、tif。
【例】将tif图像保存为jpg图像
[x,map]=imread('picture.tif');
imwrite(x,map,'picture.jpg','JPG','Quality',75)
4图像的保存
图像的保存一般有四种方式:
1.从菜单保存
可以保存为fig,egs,jpeg,gif,png,bmp等格式
2.复制粘贴
Edit--->copyfigure,在粘贴其他程序。
3.Saveas函数
Saveas(gca,filename,fileformat)
4.print函数
5图像类型转换
图5-1图像类型转换框图
5.1RGB转换成灰度图像
I=imread('E:
\YOYO\work\color.jpg','jpg');
%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中
K=rgb2gray(I)
imshow(K);
图5-2RGB转换成灰度图像举例
5.2灰度图像转换为索引图像
I=imread('E:
\YOYO\work\color.jpg','jpg');
%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中
K=rgb2gray(I);
Y=gray2ind(K);
imshow(Y);
图5-3灰度图像转换为索引图像
5.3灰度图像转化为二值图像
I=imread('E:
\YOYO\work\color.jpg','jpg');
%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中
K=rgb2gray(I);
Y=im2bw(K);
imshow(Y);
图5-4灰度图像转化为二值图像举例
5.4RGB图像转化为索引图像
I=imread('E:
\YOYO\work\color.jpg','jpg');
%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中
[X,map]=rgb2ind(I,3);
imshow(X,map);
图5-5RGB图像转化为索引图像
课设总结
为期一个星期的课程设计已经结束,在这一星期的学习、设计过程中我感触颇深。
这次课程设计,让我充分利用所学过的理论知识还有自己想象的能力,另i让我们学习查找资料的方法。
通过课设,我认识到了matlab的功能非常强大,使得我们在使用的时候用户直接调用这些库函数并赋予实际参数就能解决实际问题,具有极高的编程效率。
我也熟悉了matlab的工作环境,可以很熟练的对matlab进行常规的操作,快速进行程序编程和仿真。
完成任务后才发现这次训练的内容并不算男。
首先要做的工作就是熟悉matlab中的各种库函数的格式和使用方法,其次就是针对具体图像进行操作,通过观察图像的质量等方面的问题,来了解变换的效果。
当然,结果了这次课程设计,我也发现了自己的很多不足。
而且我很赞同通过这种课程设计来考验我们的动脑能力的教学方式。
这样一方面激发了我们自主学习的兴趣,另一方面也巩固了学习到的理论知识,可以从实践中积累实际的经验,而不是老停留在理论学习的阶段。
当然这次设计学到的不仅仅是知识,还有如何去查阅资料。
如何去高质量的完成一份报告书等等。
我觉得这样的实践对我们现在的学习以及以后的工作都是很大的帮助,而且对我分析问题的方法也有很大的帮助,也使我考虑为难更加周到,更全面。
参考文献
[1]王华等.MATLAB电子仿真与应用教程.北京:
国防工业出版社,2001.
[2]李文锋.图形图像处理与应用.北京:
中国标准出版社,2006.
[3]王洪元.MATLAB语言以及在电子信息工程中的应用.北京:
清华大学出版社,2004
[4]刘文耀.数字图像采集与处理.北京:
电子工业出版社.2007.
[5]贺兴华.MATLAB7.X图像处理.北京:
人民邮电出版社,2006.
[5]章毓晋.图像工程(上册).北京:
清华大学出版社.1999.
姓名
性别
男
专业、班级
课程设计题目:
利用MATLAB仿真软件进行图像的输入、输出和格式变换
课程设计答辩或质疑记录:
1关于怎样将图像输入MALTLAB中。
。
。
可利用imread函数冲图像中读取数据,将图像输入一个图像矩阵中,然后对图像进行处理。
。
。
2关于几种图像格式之间的互相转换。
。
。
可以在MALTLAB中利用imread和imshow函数来将二值图像,索引图像,灰度图像和RGB图像来进行相互转换。
。
。
3关于MALTLAB实用性。
。
。
很多人会觉得利用PS来进行图像处理会更加方便快捷,而且效果更好,但是PS只是能将图像的表面进行修改,很多图像的本质方面的东西还是要靠MALTLAB进行处理,比如加水印等等。
。
。
成绩评定依据:
最终评定成绩(以优、良、中、及格、不及格评定)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab课程设计 matlab 课程设计