matlab课程设计

时间:2024.4.14

               课程设计任务书

学生姓名:  李  威              专业班级:通信1201班  

指导教师:  刘  新  华          工作单位:信息工程学院   

: 利用matlab仿真软件进行图像的输入、输出和格式变换。

要求完成的主要任务:

认真学习matlab的各种功能,学会读取、保存和显示不同格式的图像,并进行图像格式的相互变换如索引图像、灰度图像、RGB图像和二值图像的相互转换。

课程设计的目的:

1.理论目的

为了巩固课堂理论学习,并能用所学理论知识正确分析信号处理的基本问题和解释信号处理的基本现象。

2.实践目的

通过设计具体的图像信号变换掌握图像和信号处理的方法和步骤。

时间安排:

指导教师签名:                                      

系主任(或责任教师)签字:              年      月      


目录

摘要... I

Abstract II

1 MATLAB的几种图像类型... 1

2 图像的输入... 3

3 图像的输出... 5

3.1以图像形式输出图像... 5

3.1.1索引图像的显示... 5

3.1.2灰度图像的显示... 6

3.1.3二值图像的显示... 8

3.1.4 RGB图像的显示... 9

3.2以图像文件的形式输出图像... 10

4 对图像进行相互转换... 11

4.1将RGB转换成灰度图像... 11

4.2将灰度图像转换为索引图像... 12

4.3将灰度图像转化为二值图像... 13

4.4 RGB图像转化为索引图像... 14

课设总结... 16

参考文献... 17


摘要

MATLAB本身就是功能强大的数据可视化工具,可以通过各种形式显示分析数据,例如灰度直方图、等高线、蒙太奇混合、像素分析、图层变换以及材质贴图等。利用可视化的图形,不仅能够评估图形图像的特性,还能够分析图像中的色彩分布等情况。MATLAB和Mathematica、Maple、MathCAD并称为四大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面。主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

本次课程设计介就是Matlab环境下的一些最基本的图像处理操作,如读取、保存和显示不同格式的图像,并进行图像格式的相互变换如索引图像、灰度图像、RGB图像和二值图像的相互转换。

Abstract

MATLAB itself is a powerful data visualization tool that can analyze data displayed through various forms, such as histogram, contour, montage mixed pixel analysis, layer transform and texture and so on. Using a visual pattern, not only to assess the characteristics of graphics, but also to the distribution of colors in the image and so on. MATLAB and Mathematica, Maple, MathCAD and known as the four mathematical software. It is during a math class technology application software in the numerical calculations to none. MATLAB matrix operations can be performed, mapping functions and data, algorithm, creating the user interface. Mainly used in engineering calculations, control design, signal processing and communications, image processing, signal detection, financial modeling, design and analysis and other fields.
MATLAB basic unit of data is a matrix, its instruction expression and mathematics, engineering, commonly used forms are very similar, so use MATLAB to solving the problem than with C, FORTRAN and other languages ??accomplish the same thing more simple, and also MATLAB absorb the advantages of software such as Maple, so MATLAB become a powerful mathematical software.
This course is designed to introduce some of the Matlab environment is the basic image processing operations, such as read, save and display images of different formats, and image formats such as index mutual transform images, grayscale, RGB images and binary image conversion.


1 MATLAB的几种图像类型

MATLAB支持五种图像类型,即索引图像、灰度图像、二值图像、RGB图像和多帧图像阵列。

1、索引图像:索引模式和灰度模式比较类似,它的每个像素也可以有256种颜色容量,但它可以负载彩色,索引的图像只支持一个图层。索引模式的图像就像是一块块由彩色的小瓷砖所拼成的,由于它最多只能有256种彩色,所以它所形成的文件相对其它彩色要小得多。索引模式的另一个好处是它所形成的每一个颜色都有其独立的索引标识。当这种图像在网上发布时,只要根据其索引标识将图像重新识别,它的颜色就完全还原了。

2、灰度图像:在计算机领域中,灰度数字图像是每个像素只有一个采样颜色的图像。这类图像通常显示为从最暗黑色到最亮的白色的灰度,理论上这个采样可以表示任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。灰度图像读入matlab中是一个二维的平面矩阵,其中行与列的乘积代表其图片中像素点的个数。数据矩阵中的元素值一般都在[0,1]或[0,255]之间,灰度图像根据这些数据利用线性插值来和色图中的颜色种类匹配。灰度图像一般看起来是一副黑白图像,但是色彩明暗度较二值图像更为丰富。因为每一个像素点的取值在[0,1]或[0,255]之间。

3、二值图像:是指每个像素不是黑就是白,其灰度值没有中间过渡的图像。二值图像一般用来描述文字或者图形,其优点是占用空间少,缺点是,当表示人物,风景的图像时,二值图像只能描述其轮廓,不能描述细节。数据矩阵中的元素值只是0或1。二值图像读入matlab中也是一个二维的平面矩阵,但像素点取值只限于0,1。

4、RGB图像:图像中每个象素的颜色用三个数据来存储,分别指定红、绿、蓝三原色在象素颜色中的比例关系,组成一个三维数组,读入matlab后是一个三维的矩阵。 RGB图像就是采用红、绿、蓝作为三原色的。这样这个三维矩阵A就可以表示成一个彩色矩阵,也就是一张数字图像可以在matlab中读成一个矩阵A。这个三维矩阵的第一维就是上图中第一层代表红色数值,第二维为第二层代表绿色数值,第三维为第三层代表蓝色数值。这个标准几乎涵盖了人类视力所能感知的所有颜色,是目前运用最为广泛的颜色系统之一。

5、多帧图像阵列:多帧图像阵列是由多帧图像组成的,每一帧图像可以为前四种图像中的一种,但组成一个多帧图像阵列的图像必须为同一种。cat函数可以将具有相同尺寸的几个独立图像存成多帧文件。对于多帧图像也可以从中提取单帧。

2 图像的输入

MATLAB提供了一个从图像文件中读取数据的imread,

imread的常见调用格式为:

A=imread(‘filename’,’fmt’)

A = imread(‘filename’,’fmt’) 表示将图像读取到A,如果文件是包含一灰度图像,A是一二维矩阵;如果文件是包含一真彩色图像,则A是一三维矩阵。                  filename :图像文件名;fmt:图像文件格式;

文件必须在当前目录下,或在Matlab的一路径上。如果 imread不能够找到一名称为filename的文件,那么它将找一名为filename. fmt的文件。

 [X,MAP] = imread(filename, fmt) 把图像filename读入与它相关的图像色彩信息写入MAP,图像色彩信息值在范围[0,1]中自动地重新调整.。

[...] = imread(filename)这种方式是试图得到文件的格式从文件所包含的信息。    

【例】

I=imread(‘H:\20071219103132592_2.jpg’);

%图像数据的读取

imshow(I);title(‘原图像’);

  

                                                       

图1        inread举例说明

3 图像的输出

图像的输出有两种输出方式,其一为以图像形式输出,其二为以图像文件的形式输出。

3.1以图像形式输出图像

图像的现实过程是将数字图像从一组离散数据还原为一幅可见图像的过MATLLAB的的图像处理工具箱提供了多种图像显示技术。例如imshow可以直接从文件显示多种图像;image函数可以将矩阵作为图像。

3.1.1索引图像的显示

索引图像是一种把像素值直接作为RGB调色板下标的图像。索引图像可把像素值“直接映射”为调色板数值。

索引图像包含一个数据矩阵A,一个颜色映射矩阵map。像素颜色内数据矩阵X作为索引值向矩阵map进行索引。

1.使用imshow命令显示索引图像。

2.【例】

I=imread(‘H:\20071219103132592_2.jpg’);

imshow(I,map);

图2    索引图像的显示举例

3.1.2灰度图像的显示

一幅灰度图像是一个数据矩阵。

1.imshow(I,[low,high])

显示灰度图像

以灰度范围[low,high]显示图像,如果不知道灰度范围,可以用imshow(I,[])显示。

【例】

I=imread(‘E:\图片\春天到了\DSC_0053_副本.jpg’);

imshow(I,[]);title(‘原图像’);

colorbar

图3   灰度图像的显示举例

2. imshow(I,n)

显示灰度图像

【例】

I=imread(‘E:\图片\春天到了\DSC_0144_副本.jpg’);

imshow(I,256);title(‘原图像’);

colorbar

图4    灰度图像的显示举例

3.1.3二值图像的显示

imshow(BW)

显示二值图像。

【例】

bw=imread(‘E:\200812385453303_2.jpg’);

imshow(bw);title(‘原图像’);

colorbar

图5   二值图像的显示举例

3.1.4 RGB图像的显示

imshow(RGB)

显示RGB图像

【例】

rgb=imread(‘H:\76423_170240082797_2.jpg’);

imshow(rgb);

图6    RGB图像的显示举例

3.2以图像文件的形式输出图像

以图像文件的形式输出,其实质是图像文件形式之间的转换。

格式是:

imwrite(A,’filename’,’fmt’) 保存无调色板的图像。

imwrite(X,map,’filename’,’fmt’) 保存有调色板的图像。

imwrite(…,’filename’) 文件名中含格式。

imwrite(…,Param1,Vall,Param2,Val2,…) 指定保存参数。

(其中imwrite(…,Param1,Val1,Param2,Val2…)可以让用户控制HDF、JPEG、TIFF等一些图像文件格式的输出特性。)

【例】将tif图像保存为jpg图像

其程序为:

[x,map]=imread(‘picture.tif’); 

imwrite(x,map,’picture.jpg’,’JPG’,’Quality’,75)

4 对图像进行相互转换

图7     图像类型转换框图

4.1将RGB转换成灰度图像

I=imread(‘H:\20071219103132592_2.jpg’);

K=rgb2gray(I)

imshow(K);

图8    RGB转换成灰度图像举例

4.2将灰度图像转换为索引图像

I=imread(‘H:\20071219103132592_2.jpg’);

K=rgb2gray(I);

Y=gray2ind(K);

imshow(Y);

图9    灰度图像转换为索引图像举例

4.3将灰度图像转化为二值图像

I=imread(‘H:\20071219103132592_2.jpg’);

K=rgb2gray(I);

Y=im2bw(K);

imshow(Y);

图10    灰度图像转化为二值图像举例

4.4 RGB图像转化为索引图像

I=imread(‘H:\20071219103132592_2.jpg’);

 [X,map]=rgb2ind(I,3);

imshow(X,map);

图11    RGB图像转化为索引图像举例

课设总结

课程设计已经结束,在这段时间的学习、设计过程中我感触颇深。随着对matlab学习的深入,我对其了解也更加深入。在此次课题设计中,我充分地运用了自己所学的编程能力。通过课设,我认识到了matlab的功能非常强大,具有极高的编程效率。能够解决一系列的程序问题。同时也熟悉了matlab的工作环境,可以开始对matlab进行常规的操作,也可以利用matlab对图像进行一系列的处理。

同时,这次课题设计中,我明白了课外资料的重要性,当不明白某一问题时,找资料是最方便最快捷的方法。只有通过各种书籍才能更加一步地熟悉matlab的功能及程序的处理能力。

在这次课设中,首先要做的工作就是熟悉matlab中的各种库函数的格式和使用方法,其次就是针对具体图像进行操作,通过观察图像的质量等方面的问题,来了解变换的效果。最后得到各种图像想要得到的图像。

最后,在写设计书的时候,要注意格式的准确性,这样便于更好地让别人理解和熟悉自己所写的课题内容。

参考文献     

[1] 李文锋.图形图像处理与应用.北京:中国标准出版社,2006.

[2] 赵鸿图 茅艳.通信原理matlab仿真教程 人民邮电出版社,2011

[3]Sanjit K. Miltra编著:《Digital Signal Processing Laboratory Using Matlab》,McGraw-Hill出版社,20##年出版。

本科生课程设计成绩评定表

                                     指导教师签字:__________________                

                                                     年     月     日

更多相关推荐:
Matlab程序设计课程总结

Matlab程序设计课程总结学院班级学号姓名成绩1Matlab的课程总结随着对matlab的学习的深入我对其了解也更加深入MATLAB是美国MathWorks公司出品的商业数学软件用于算法开发数据可视化数据分析...

matlab课程设计报告

MATLAB课程设计报告设计课题学生姓名学生学号专业班级指导教师一课程设计的目的及其意义了解matlab的窗口工具栏的使用以及作用让matlab成为我们的日常好帮手并为将来使用matlab进行信号处理领域的各种...

matlab课程设计报告

MATLAB与仿真系统课程设计班级自动化20xx2班姓名张涛学号1105130206指导教师崔新忠地点电信实验中心第9实验室大连海洋大学课程设计报告纸学院专业班级姓名学号目录一课程设计的目的与要求1二课程设计课...

matlab课程设计报告

电子信息系统仿真设计课程设计报告课题电子信息系统仿真设计姓名学号成绩班级指导教师开课时间20xx20xx学年第1学期目录一设计题目二主要内容三具体要求四进度安排五成绩评定六正文1三维绘图2信号的时域和频域表示3...

matlab课程设计报告书

课程设计题目学院专业班级姓名指导教师Matlab应用课程设计信息工程学院电子信息工程桂林20xx年12月13日Matlab应用课程设计任务书学生姓名专业班级指导教师桂林工作单位信息工程学院题目Matlab运算与...

matlab课程设计

Matlab课程设计图像与动画班级姓名学号时间地点指导教师自动化教研室Matlab课程设计目录一课程设计目的与要求二课程设计课题的分析三课程设计的内容与安排四课程设计的步骤五课程设计的结果六参考文献七附录Mat...

Matlab课程设计报告

至诚学院MATLAB实践课程设计学生姓名学号专业班级2指导教师页MATLAB课程设计第1页共1二一四年四月三十日目录1设计目的第3页2题目分析第3页3总体设计第3页4具体设计第4页5小结和心得第15页页MATL...

matlab课程设计

题目Matlab解常微分方程的初值问题一设计目的1熟练掌握Matlab的基本编程方法及其编程风格2熟练掌握Matlab常用函数的使用3能够利用Matlab软件绘制图形并解决相关的数学问题4与常微分方程的相关知识...

matlab课程设计

滨州学院课程设计学年论文题目IIR和FIR滤波器设计系院信息工程系专业通信工程班级20xx级1班姓名肖杰学号1214110103指导教师马震职称副教授20xx年1月11日滨州学院课程设计学年论文任务书指导教师用...

matlab课程设计

武汉理工大学MATLAB原理与应用课程设计课程设计任务书学生姓名倪旋专业班级通信1201班指导教师刘新华工作单位信息工程学院题目两点电荷间电场线等势面及场强的MATLAB模拟要求完成的主要任务在数字信号处理平台...

matlab课程设计

目录摘要IAbstractII1概述111MATLAB的发展112MATLAB优势22理论分析33程序设计与调试531基本矩阵运算532求解方程组并画图733总结84心得与体会95参考文献11武汉理工大学MAT...

matlab声音信号频谱分析的课程设计

原语音信号yfsbitswavread39CUsersAdministratorDesktop111wav39gtgtsoundyfsbitsgtgtnlengthyn92611gtgtYfftyngtgtsu...

matlab课程设计心得(22篇)