收藏 分销(赏)

MATLAB专业课程设计方案报告图像处理.docx

上传人:精*** 文档编号:2864501 上传时间:2024-06-07 格式:DOCX 页数:27 大小:219.18KB
下载 相关 举报
MATLAB专业课程设计方案报告图像处理.docx_第1页
第1页 / 共27页
MATLAB专业课程设计方案报告图像处理.docx_第2页
第2页 / 共27页
MATLAB专业课程设计方案报告图像处理.docx_第3页
第3页 / 共27页
MATLAB专业课程设计方案报告图像处理.docx_第4页
第4页 / 共27页
MATLAB专业课程设计方案报告图像处理.docx_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、一课程设计相关知识综述. 1.1 研究目标及意义.3 1.2 数字图像处理研究内容. 1.3 MATLAB 软件介绍. 1.3.1 MATLAB 语言特点. 1.3.2 MATLAB 图像文件格式. 1.3.3 MATLAB 图像处理工具箱介绍. 1.3.4 MATLAB 中图像类型. 1.3.5 MATLAB 关键应用. 1.4 函数介绍.二课程设计内容和要求. 2.1 关键研究内容. 2.2 具体要求. 2.3 预期达成目标.三 设计过程. 3.1 设计方案及步骤. 3.2 程序清单及注释. 3.3 试验结果.四 团体情况.五 总结.六 参考文件.一 课程设计相关知识综述.1.1研究目标及

2、意义 图像处理(image processing),用计算机对图像进行分析,以达成所需结果技术。又称影像处理。图像处理通常指数字图像处理。数字图像是指用工业相机、摄像机、扫描仪等设备经过拍摄得到一个大二维数组,该数组元素称为像素,其值称为灰度值。图像处理技术通常包含图像压缩,增强和复原,匹配、描述和识别3个部分。 常见系统有康耐视系统、图智能系统等,现在是正在逐步兴起技术。 二十一世纪是一个充满信息时代,图像作为人类感知世界视觉基础,是人类获取信息、表示信息和传输信息关键手段。数字图像处理,即用计算机对图像进行处理,其发展历史并不长。数字图像处理技术源于20世纪20年代,当初经过海底电缆从英国

3、伦敦到美国纽约传输了一幅照片,采取了数字压缩技术。首先数字图像处理技术能够帮助大家更客观、正确地认识世界,人视觉系统能够帮助人类从外界获取3/4以上信息,而图像、图形又是全部视觉信息载体,尽管人眼判别力很高,能够识别上千种颜色,但很多情况下,图像对于人眼来说是模糊甚至是不可见,经过图象增强技术,能够使模糊甚至不可见图像变得清楚明亮。1.2 数字图像处理研究内容 数字图像处理(Digital Image Processing)是经过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理方法和技术。数字图像处理产生和快速发展关键受三个原因影响:一是计算机发展;二是数学发展(尤其是离散数学理论创

4、建和完善);三是广泛农牧业、林业、环境、军事、工业和医学等方面应用需求增加。一关键目标(1)提升图像视感质量,如进行图像亮度、彩色变换,增强、抑制一些成份,对图像进行几何变换等,以改善图像质量。(2)提取图像中所包含一些特征或特殊信息,这些被提取特征或信息往往为计算机分析图像提供便利。提取特征或信息过程是模式识别或计算机视觉预处理。提取特征能够包含很多方面,如频域特征、灰度或颜色特征、边界特征、区域特征、纹理特征、形状特征、拓扑特征和关系结构等。(3)图像数据变换、编码和压缩,方便于图像存放和传输。不管是何种目标图像处理,全部需要由计算机和图像专用设备组成图像处理系统对图像数据进行输入、加工和

5、输出。二常见方法1)图像变换:因为图像阵列很大,直接在空间域中进行处理,包含计算量很大。所以,往往采取多种图像变换方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域处理转换为变换域处理,不仅可降低计算量,而且可取得更有效处理(如傅立叶变换可在频域中进行数字滤波处理)。新兴研究小波变换在时域和频域中全部含有良好局部化特征,它在图像处理中也有着广泛而有效应用。2 )图像编码压缩:图像编码压缩技术可降低描述图像数据量(即比特数),方便节省图像传输、处理时间和降低所占用存放器容量。压缩能够在不失真前提下取得,也能够在许可失真条件下进行。编码是压缩技术中最关键方法,它在图像处理技术中是

6、发展最早且比较成熟技术。3 )图像增强和复原:图像增强和复原目标是为了提升图像质量,如去除噪声,提升图像清楚度等。图像增强不考虑图像降质原因,突出图像中所感爱好部分。如强化图像高频分量,可使图像中物体轮廓清楚,细节显著;如强化低频分量可降低图像中噪声影响。图像复原要求对图像降质原因有一定了解,通常讲应依据降质过程建立降质模型,再采取某种滤波方法,恢复或重建原来图像。4 )图像分割:图像分割是数字图像处理中关键技术之一。图像分割是将图像中有意义特征部分提取出来,其有意义特征有图像中边缘、区域等,这是深入进行图像识别、分析和了解基础。即使已研究出不少边缘提取、区域分割方法,但还没有一个普遍适适用于

7、多种图像有效方法。所以,对图像分割研究还在不停深入之中,是图像处理中研究热点之一。5 )图像描述:图像描述是图像识别和了解必需前提。作为最简单二值图像可采取其几何特征描述物体特征,通常图像描述方法采取二维形状描述,它有边界描述和区域描述两类方法。对于特殊纹理图像可采取二维纹理特征描述。伴随图像处理研究深入发展,已经开始进行三维物体描述研究,提出了体积描述、表面描述、广义圆柱体描述等方法。6 )图像分类(识别):图像分类(识别)属于模式识别范围,其关键内容是图像经过一些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。图像分类常采取经典模式识别方法,有统计模式分类和句法(结

8、构)模式分类,多年来新发展起来模糊模式识别和人工神经网络模式分类在图像识别中也越来越受到重视。1.3 MATLAB 软件介绍 MATLAB(矩阵试验室)是MATrix LABoratory缩写,是一款由美国The MathWorks企业出品商业数学软件。MATLAB是一个用于算法开发、数据可视化、数据分析和数值计算高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常见功效外,MATLAB还能够用来创建用户界面及和调用其它语言(包含C,C+和FORTRAN)编写程序。尽管MATLAB关键用于数值运算,但利用为数众多附加工具箱(Toolbox)它也适合不一样领域应用,比如控制系统设计

9、和分析、图像处理、信号处理和通讯、金融建模和分析等。另外还有一个配套软件包Simulink,提供了一个可视化开发环境,常见于系统模拟、动态/嵌入式系统开发等方面。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB能够进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其它编程语言程序等,关键应用于工程计算、控制设计、信号处理和通讯、图像处理、信号检测、金融建模设计和分析等领域。MATLAB基础数据单位是矩阵,它指令表示式和数学、工程中常见形式十分相同,故用MATLAB来解算问题要比用C,FORTRAN等语言完成

10、相同事情简捷得多,而且MATLAB也吸收了像Maple等软件优点,MATLAB成为一个强大数学软件。在新版本中也加入了对C,FORTRAN,C+,JAVA支持。能够直接调用,用户也能够将自己编写实用程序导入到MATLAB函数库中方便自己以后调用,另外很多MATLAB爱好者全部编写了部分经典程序,用户能够直接进行下载就能够用。1.3.1 MATLAB 语言特点1高效矩阵运算机制 MATLAB软件是基于矩阵计算开发,在其它编程语言中需要使用多个for语句才能完成操作,在MATLAB中直接使用矩阵即可完成计算,所以MATLAB在数据计算分析,尤其是对海量数据处理方面表现出相比其它编程语言更大优势。2

11、多样化操作路径 MATLAB语言为用户提供了多个操作方法选择。用户能够编写代码实现多种功效,代码可反复利用,同时,不擅长编程用户也能够经过MATLAB图形界面操作,完成MATLAB对应功效。3功效强大工具箱 对于算法开发,MATLAB提供了大量现成函数,用户能够直接调用。MATLAB软件对现在主流算法全部提供了现成函数,并封装成一个个适适用于不一样领域算法工具箱。常见工具箱包含数学类、经济类、信号处理类工具箱,同时伴随MATLAB软件版本更新,不停有功效更强大工具箱添加到MATLAB中。MATLAB语言这一特点,将大大节省算法开发时间,用户无须具体了解算法细节,只要掌握MATLAB中算法对应函

12、数调用即可。4良好扩展能力 利用MATLAB语言编写程序含有良好扩展能力,能够方便地和多种编程语言链接。用户能够方便地在MATLAB中调用其它语言已编写好程序,同时在其它语言中也能够方便地调用MATLAB程序。MATLAB语言含有良好接口编程技术。5完善帮助系统完善帮助系统是MATLAB又一突出特点,MATLAB向用户提供了多个帮助路径,在1.4节中将具体介绍MATLAB强大帮助系统。经过MATLAB帮助系统,用户能够获取MATLAB常见函数使用方法及应用实例,而且这种帮助能够是实时、在线。同时,为了便于用户愈加好地使用MATLAB软件,在MATLAB中关键算法全部是能够直接看到源代码。1.3

13、.2 MATLAB 图像文件格式 (1) JPEG(Joint Photogyaphic Expeyts Group):一个称为联合图像教授组图像压缩格式。 (2) BMP(Windows Bitmap):有1位、4位、8位、24位非压缩图像,8位RLE(Run length Encoded)图像。文件内容包含文件头(一个BITMAP FILEHEADER数据结构)、位图信息数据块(位图信息头BITMAP INFOHEADER和一个颜色表)和图像数据。 (3) PCX(Windows Paintbrush):可处理1位、4位、8位、16位、24位等图像数据。文件内容包含文件头、图像数据和扩展色

14、图数据。 (4) TIFF(Tagged Iamge File Format):处理1位、4位、8位、24位非压缩图像,1位、4位、8位、24位packbit压缩图像,1位CCITT压缩图像等。文件内容包含文件头、参数指针表和参数域、参数数据表和图像数据四部分。 (5) PNG(Portable Network Graphics):包含1位、2位、4位、8位和16位灰度图像,8位和16位索引图像,24位和48位真彩色图像。 (6) GIF(Graphics Interchange Format):任何1位到8位可交换图像。 (7) HDF(Hierarchial Data Format):有8

15、位、24位光栅图像数据集。 (8) ICO(Windows Icon resource):有1位、4位、8位非压缩图像。 (9) CUR(Windows Cursor resource):有1位、4位、8位非压缩图像。 (10) XWD(X Windows Dump):包含1位、8位Zpixmaps,XYBitmaps,XYPixmmmaps。 (11) RAS(Sun Raster image):有1位bitmap、8位索引、24位真彩色和带有透明度32位真彩色。 (12) PBM(Portable Bitmap)。 (13) PGM(Portable Graymap)。 (14) PPM(

16、Portable Pixmap)。1.3.3 MATLAB 图像处理工具箱介绍 图像处理工具箱提供了一套全方位参考标准算法和图形工具,用于进行图形处理、分析、可视化和算法开发。可进行图像增强、图像去模糊、特征检测、降噪、图像分割、空间转换和图像配准。该工具箱很多功效支持多线程,可发挥多核多处理器计算机性能。图像处理工具箱支持多个多样图像类型,包含高动态范围,千兆像素分辨率、ICC兼容色彩和断层扫描图像。图形工具可用于探索图像、检验像素区域、调整对比度、创建轮廓或柱状图和操作感爱好区域(ROI)。工具箱算法可用于还原退化图像、检验和测量特征、分析形状和纹理并调整图像色彩平衡。1.3.4 MATL

17、AB 中图像类型1、索引图像索引图像包含一个数据矩阵X,一个颜色映像矩阵Map。其中Map是一个包含三列、若干行数据阵列,其中每个元素值均为0, 1之间双精度浮点型数据。Map矩阵每一行分别表示红色、绿色和蓝色颜色值。在MATLAB中,索引图像是从像素值到颜色映射表值“直接映射”。像素颜色由数据矩阵X作为索引指向矩阵Map进行索引,比如,值1指向矩阵Map中第一行,值2指向第二行,以这类推。颜色映射表通常和索引图像存在一起,当用户在调用函数imread时,MATLAB自动将颜色映射表和图像同时加载,在MATLAB中能够选择所需要颜色映射表,而无须局限于使用默认颜色映射表。我们能够使用属性CDa

18、taMapping来选择其它颜色映射表,包含用户自定义颜色映射表。 假如图像数据矩阵是双精度数据类型,则值1指向矩阵Map中第一行,值2指向第二行,但假如图像矩阵是8位无符号整数类型或16位无符号整数类型,则因为存在一个偏移量,所以使值0指向矩阵Map中第一行,以这类推。2、灰度图像 在MATLAB中,一幅灰度图像是一个数据矩阵I,I中数据均代表了在一定范围内图像灰度值。MATLAB把灰度图像存放为一个数据矩阵,该矩阵中元素分别代表了图像中像素。矩阵中元素能够是双精度浮点类型、8位或16位无符号整数类型。大多数情况下,灰度图像极少和颜色映射表一起保留,不过在显示灰度图像时,MATLAB仍然在后

19、台使用系统预定义默认灰度颜色映射表。3、RGB图像 RGB图像即真菜图像,在MATLAB中存放为n*m*3数据矩阵。数组中元素定义了图像中每一个像素红、绿、蓝颜色值。需指出是,RGB图像不是用windows颜色映射表,像素颜色由保留在像素位置上红、绿、蓝灰度值组合来确定。图形文件格式把RGB图像存放为24位图像,红、绿、蓝分别占8位,这么能够有1000多万种颜色。4、二值图像和灰度图像相同,二值图像只需要一个数据矩阵,每个像素只取两个灰度值。1.3.5 MATLAB 关键应用MATLAB 应用范围很广,包含信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析和计算生物学等众多应用领域

20、。附加工具箱(单独提供专用MATLAB函数集)扩展了MATLAB 环境,以处理这些应用领域内特定类型问题。MATLAB 产品族能够用来进行以下多种工作:数值分析 数值和符号计算 工程和科学绘图 控制系统设计和仿真数字图像处理技术 数字信号处理技术 通讯系统设计和仿真财务和金融工程 管理和调度优化计算(运筹学)1.4 函数介绍 Imshow 显示图像Im2bw 转换图像为二进制图像Imread 从图像文件中读取(载入)图像Edge 图像边缘检测Graythresh 使用最大类间方差法找到图片一个适宜阈值。Rgb2gray 转换RGB图像或颜色映像表为灰色图像Double 转换数据为双精度型Asi

21、nd 反正弦函数Regionprops 用来度量图像区域属性函数,常见来统计被标识区域面积积分,显示区域总数。二 课程设计内容和要求2.1 关键研究内容从所拍摄图像中检测多边形目标区域几何中心、周长、面积和主轴方向。三设计过程.3.1 设计方案及步骤(1)U盘图像,优异行灰度化、中值滤波等基础操作,平滑背景噪声。(2)二值化,并进行形态学开闭运行,去除背景杂点噪声。(3)定位左上角、右上角、左下角,进而利用直线拟合知识,得到直线方程。(4)依据U盘矩形特点,绘制平行线,经过计算交点定位出右下角。(5)得到四面围界后,能够生成二值化蒙版图像,进而计算周长、质心、面积等基础参数。3.2 程序清单及

22、注释.function varargout = MainForm(varargin)% MAINFORM MATLAB code for MainForm.fig% MAINFORM, by itself, creates a new MAINFORM or raises the existing% singleton*.% H = MAINFORM returns the handle to a new MAINFORM or the handle to% the existing singleton*.% MAINFORM(CALLBACK,hObject,eventData,handle

23、s,.) calls the local% function named CALLBACK in MAINFORM.M with the given input arguments.% MAINFORM(Property,Value,.) creates a new MAINFORM or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before MainForm_OpeningFcn gets called. An% unrecogn

24、ized property name or invalid value makes property application% stop. All inputs are passed to MainForm_OpeningFcn via varargin.% *See GUI Options on GUIDEs Tools menu. Choose GUI allows only one% instance to run (singleton).% See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the

25、response to help MainForm % Last Modified by GUIDE v2.5 08-Jul- 10:09:38 % Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, MainForm_OpeningFcn, . gui_OutputFcn, MainForm_OutputFcn, . gui_LayoutFcn, , .

26、 gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);end if nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end% End initialization code - DO NOT EDIT % - Executes just before MainForm is made visible.functi

27、on MainForm_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to

28、MainForm (see VARARGIN) % Choose default command line output for MainFormhandles.output = hObject;InitAxes(handles);handles.Img = 0;handles.I = 0;handles.I2 = 0;handles.bw = 0;handles.bw2 = 0;handles.wd = 5;handles.mask = 0;% Update handles structureguidata(hObject, handles); % UIWAIT makes MainForm

29、 wait for user response (see UIRESUME)% uiwait(handles.figure1); % - Outputs from this function are returned to the command line.function varargout = MainForm_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata

30、 reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structurevarargout1 = handles.output; -载入图像-% - Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata,

31、 handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)filename = fullfile(pwd, 5.JPG);%图像路径 Img = imread(filename);%读入图像axes(handles.axes1); imshow(Img, );title(原图像);handles.Img

32、 = Img;guidata(hObject, handles); -图像灰度化-% - Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (s

33、ee GUIDATA)if isequal(handles.Img, 0) return;end% 灰度化Img = handles.Img;if ndims(Img) = 3 I = rgb2gray(Img);else I = Img;endaxes(handles.axes2); imshow(I, );title(灰度图像);handles.I = I;guidata(hObject, handles); -滤波去噪- % - Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, e

34、ventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)if isequal(handles.I, 0) return;end% 中值滤波I2 = medfilt2(handles.I);I2 = mat2gray(I2);axes(handles.axes3); imshow(I2

35、, );title(滤波图像);handles.I2 = I2;guidata(hObject, handles);- 二值化-% - Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with h

36、andles and user data (see GUIDATA)if isequal(handles.I2, 0) return;endI2 = handles.I2;bw = im2bw(I2, graythresh(I2);%图像二值化 bw = bw;%取反axes(handles.axes4); imshow(bw, );title(二值化图像);handles.bw = bw;guidata(hObject, handles); -形态学滤波- % - Executes on button press in pushbutton5.function pushbutton5_Cal

37、lback(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)if isequal(handles.bw, 0) return;end% 形态学滤波bw = handles.bw;bw = imfill(bw, holes);bw = imopen(bw,

38、strel(square, handles.wd);axes(handles.axes4); imshow(bw, );title(形态学滤波图像);handles.bw2 = bw;guidata(hObject, handles); -边界拟合-% - Executes on button press in pushbutton6.function pushbutton6_Callback(hObject, eventdata, handles)% hObject handle to pushbutton6 (see GCBO)% eventdata reserved - to be de

39、fined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)if isequal(handles.bw2, 0) return;endbw = handles.bw2;wd = handles.wd;% 定位大致区域r, c = find(bw);% 定位有效角点, ind_min_r = min(r);, ind_min_c = min(c);, ind_max_c = max(c);% 角点信息pt_up = c(ind_min_r)+wd r(ind_min_r)-wd;pt_left = c(ind_min_c)-wd r(ind_min_c)+wd;pt_right = c(ind_max_c)+wd r(ind_max_c);% 拟合上边界k1 = (pt_right(2)-pt_up(2)/(pt_right(1)-pt_up(1);x1 = linspace(min(pt_up(1) pt_right(1), max(pt_up(1) pt_right(1), 500);y1 = k1*(x1-pt_up(1) + pt_up(2);% 拟合

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服