武汉纺织大学《数字图像处理》课程设计.doc

上传人:文****钱 文档编号:36581 上传时间:2018-05-06 格式:DOC 页数:36 大小:1.23MB
下载 相关 举报
武汉纺织大学《数字图像处理》课程设计.doc_第1页
第1页 / 共36页
武汉纺织大学《数字图像处理》课程设计.doc_第2页
第2页 / 共36页
武汉纺织大学《数字图像处理》课程设计.doc_第3页
第3页 / 共36页
武汉纺织大学《数字图像处理》课程设计.doc_第4页
第4页 / 共36页
武汉纺织大学《数字图像处理》课程设计.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、数字图像处理课程设计班级_计科11203班_姓名_学号_1104685003_任课老师_课程设计任务书一、任务要求(1)实现图像处理的基本操作学习使用MATLAB图像处理工具箱,利用IMREAD()语句读入图像,例如IMAGEIMREAD(FLOWERJPG),对图像进行显示如IMSHOW(IMAGE)和保存。学习使用CIMG类,调用类成员函数ATTACHFROMFILE加载位图,SAVETOFILE保存位图到文件。(2)图像处理算法的实现与显示1、图像点运算算法设计A灰度对数变换B分段线性变换C灰度域值变换D直方图均衡化2、图像平滑算法的设计A高斯平滑B自适应平滑滤波C中值滤波(3)设计图像

2、处理软件界面设计菜单式界面或设计按键式界面二、进度安排周次日期设计具体内容187月5日下载课程设计的安排和要求和图片7月5日完成实现图像处理的基本操作7月6日完成图像处理算法的实现与显示7月6日完成设计图像处理软件界面7月7日完成课程设计文档排版和打印目录一、设计目的4二、设计方案4三、具体设计内容431MATLAB实现读入、显示和保存图像432C实现读入、显示和保存图像6321构造CIMG头文件6322构造CIMG源文件12323构造CIMGPROC1933设计图像处理软件界面21331图像算法菜单设计23332图像的读取和保存23333图像点运算算法设计26334图像插值算法的设计294结

3、束语33一、设计目的运用MATLAB和C实现图像的读取、显示和保存,综合运用MATLAB工具箱实现图像处理的GUI程序设计,利用MATLAB图像处理工具箱,设计和实现简易的图片处理界面。二、设计方案利用C实现图像的读取、显示和保存,利用MATLAB的GUI程序设计一个简单实用的图像处理程序。该程序应具备图像处理的常用功能,以满足用户的使用。现设计程序有以下基本功能1)图像的读取和保存。2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。4)编写程序通过最近邻插值和双线性插

4、值等算法将用户所选取的图像区域进行放大和缩小整数倍的操作,并保存,比较几种插值的效果。5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。6)能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。三、具体设计内容31MATLAB实现读入、显示和保存图像1打开MATLAB软件2设定工作路径为D作业3在命令栏输入AIMREADGIRLBMP,回车后看到命令窗口出现一系列数字矩阵。4在命令栏输入IMSHOWA,回车出现图像FIGURE1如图315建立一个M文件,编辑代码实现读取一幅灰度图像,并将256灰度级图像修改成N灰度级的图像,图像保存为包含颜色映射表的BMP图像。

5、代码框架文件图像的读取CLOSEALLCLEARALLCLCXIMREADF/PICTURE/GIRLBMP图像的显示IMSHOWX图像的保存IMWRITEX,F/PICTURE/GIRLPNG6保存结果,关机。图3132C实现读入、显示和保存图像321构造CIMG头文件在C中设计的类,需要把它塞进H和CPP文件里去,当然要考虑类的成员分布问题。头文件(H)包括类的定义类的成员数据、类的成员函数的声明、内联函数的实现源文件(CPP)类中成员函数的实现IFNDEF_IMG_H_DEFINE_IMG_H_/在计算图像大小时,采用公式BISIZEIMAGEBIWIDTHBIHEIGHT。/是BIWI

6、DTH,而不是BIWIDTH,这里的BIWIDTH必须是4的整倍数,表示/大于或等于BIWIDTH的,离4最近的整倍数。WIDTHBYTES就是用来计算BIWIDTHDEFINEWIDTHBYTESBITSBITS31/324CLASSCIMG/构造、析构函数PUBLIC/构造函数CIMG/析构函数VIRTUALCIMG/成员变量PUBLIC/图像信息结构体指针BITMAPINFOHEADERM_PBMIH/图像数据指针BYTEM_LPDATAPROTECTEDINTM_NCOLORTABLEENTRIESLPVOIDM_LPVCOLORTABLE/成员函数PUBLIC/判断位图是否有效BOO

7、LISVALIDATE/从文件加载位图BOOLATTACHFROMFILECHARFILEPATH/将位图保存到文件BOOLSAVETOFILECHARFILEPATH/在DC上绘制位图BOOLDRAWCDCPDC/设置像素的值VOIDSETPIXELINTX,INTY,COLORREFCOLOR/获取像素的值COLORREFGETPIXELINTX,INTY/获取灰度值BYTEGETGRAYINTX,INTY/获取行的像素数INTGETWIDTHPIXEL/获取列的像素数INTGETHEIGHTPIXEL/获取一行的字节数INTGETWIDTHBYTEPRIVATE/释放图像所占用的空间VO

8、IDCLEANUP/INLINEINTCIMGGETWIDTHPIXEL功能返回CIMG实例中的图像每行的像素数参数无返回值INT类型,返回图像每行的像素数/INLINEINTCIMGGETWIDTHPIXELRETURNM_PBMIHBIWIDTH/INLINEINTCIMGGETHEIGHTPIXEL功能返回CIMG实例中的图像每列的像素数参数无返回值INT类型,返回图像每列的像素数目/INLINEINTCIMGGETHEIGHTPIXELRETURNM_PBMIHBIHEIGHT/INLINEINTCIMGGETWIDTHBYTE功能返回CIMG实例中的图像每行占用的字节数限制无参数无返

9、回值INT类型,返回图像每行占用的字节数/INLINEINTCIMGGETWIDTHBYTERETURNWIDTHBYTESM_PBMIHBIWIDTHM_PBMIHBIBITCOUNT/INLINESETPIXELINTX,INTY,COLORREFCOLOR功能设置指定像素的颜色参数INTX指定像素的横坐标INTY指定像素的纵坐标COLORREFRGB颜色值返回值无/INLINEVOIDCIMGSETPIXELINTX,INTY,COLORREFCOLORIFM_PBMIHBIBITCOUNT24/真彩色位图M_LPDATAM_PBMIHBIHEIGHTY1X3GETBVALUECOLOR

10、M_LPDATAM_PBMIHBIHEIGHTY1X31GETGVALUECOLORM_LPDATAM_PBMIHBIHEIGHTY1X32GETRVALUECOLOR/INLINECOLORREFCIMGGETPIXELINTX,INTY功能返回指定坐标位置像素的颜色值参数INTX指定像素的横坐标INTY制定像素的纵坐标返回值COLERREF类型,返回用RGB形式表示的指定位置的颜色值/INLINECOLORREFCIMGGETPIXELINTX,INTYIFM_PBMIHBIBITCOUNT24/真彩色位图COLORREFCOLORRGBM_LPDATAM_PBMIHBIHEIGHTY1X

11、32,M_LPDATAM_PBMIHBIHEIGHTY1X31,M_LPDATAM_PBMIHBIHEIGHTY1X3RETURNCOLORELSETHROW“NOTSUPPORT“RETURN0/INLINEBYTECIMGGETGRAYINTX,INTY功能返回指定坐标位置像素的灰度值限制无参数INTX指定像素的横坐标INTY制定像素的纵坐标返回值BYTE类型,返回给定像素的灰度值/INLINEBYTECIMGGETGRAYINTX,INTYCOLORREFCOLORGETPIXELX,YBYTER,G,B,BYTERGETRVALUECOLORGGETGVALUECOLORBGETBVA

12、LUECOLORDOUBLEDGRAY0299R0578G0114BBYTEINTDGRAYRETURNBYTEENDIF/_IMG_H_(1)构造和析构函数一个类,当然要有构造和析构函数了(2)数据成员/构造函数CIMG/析构函数VIRTUALCIMG第一个数据成员自然是图像数据了,这里具体则是指向二维数组首地址的指针/图像数据指针BYTEM_LPDATA然后我们需要一些数据成员来保存图像的一些信息,比如宽度、高度、图像类型等等。这里我们使用了MFC提供的结构体BITMAPINFOHEADER(对于它的全部成员,可以查看MSDN详细介绍)。在类中,我们也没有直接定义结构体,而是定义的指向此类

13、结构体的指针/图像信息结构体指针BITMAPINFOHEADERM_PBMIH至于其他两个私有类型变量,M_NCOLORTABLEENTRIES表示颜色索引表中的颜色个数,而M_LPVCOLORTABLE指向了颜色索引表的地址。但24位真彩色并不需要颜色索引表,这里保留它们是为了方便以后对非24位真彩色图像处理时的扩充。(3)有效性判断在对图像数据进行操作之前,首先要判断此图像是否有效/判断位图是否有效BOOLISVALIDATE(4)读取/保存图像我们在进行图像处理时,一般是针对保存在本地的图片进行的,所以必须要有读取/保存图像的功能/从文件加载位图BOOLATTACHFROMFILECHA

14、RFILEPATH/将位图保存到文件BOOLSAVETOFILECHARFILEPATH322构造CIMG源文件将类放在H和CPP两个文件的好处之一,是可以提供不同层次的服务。下面给出CIMGCPP的全部源代码INCLUDE“STDAFXH“INCLUDE“IMGH“IFDEF_DEBUGDEFINENEWDEBUG_NEWUNDEFTHIS_FILESTATICCHARTHIS_FILE_FILE_ENDIF/CIMGCIMG功能CIMG类的构造函数参数无返回值无/CIMGCIMGM_PBMIHNULLM_LPDATANULL/CIMGCIMG功能CIMG类的析构函数参数返回值/CIMGCI

15、MGCLEANUP/VOIDCLEANUP功能释放图像信息结构体的空间、释放图像数据占用的空间相当于擦除图像数据参数无返回值无/VOIDCIMGCLEANUPIFM_LPDATANULLFORINTIIBIHEIGHTIDELETEM_LPDATAIDELETEM_LPDATAIFM_PBMIHNULLDELETEM_PBMIH/BOOLCIMGISVALIDATE功能判断位图是否有限参数无返回值BOOL类型,TRUE表示有效,FALSE表示无效/BOOLCIMGISVALIDATERETURNM_PBMIHNULL/BOOLATTACHFROMFILECHARFILEPATH功能从文件中读取

16、位图数据参数CHARFILEPATH文件路径返回值BOOL类型,返回是否读取成功/BOOLCIMGATTACHFROMFILECHARFILEPATH/使用CFILE对象简化操作CFILEFILEIFFILEOPENFILEPATH,CFILEMODEREAD|CFILESHAREDENYWRITERETURNFALSE/文件数据LPBYTELPDATA/位图信息头BITMAPINFOHEADERPBMIH/颜色表指针LPVOIDLPVCOLORTABLENULL/颜色表颜色数目INTNCOLORTABLEENTRIESBITMAPFILEHEADERBMFHEADER/读取文件头IFFILE

17、READ/检查开头两字节是否为BMIFBMFHEADERBFTYPEMAKEWORDB,MRETURNFALSE/读取信息头PBMIHBITMAPINFOHEADERNEWBYTEBMFHEADERBFOFFBITSSIZEOFBMFHEADERIFFILEREADPBMIH,BMFHEADERBFOFFBITSSIZEOFBMFHEADERDELETEPBMIHRETURNFALSE/定位到颜色表NCOLORTABLEENTRIESBMFHEADERBFOFFBITSSIZEOFBMFHEADERSIZEOFBITMAPINFOHEADER/SIZEOFRGBQUADIFNCOLORTABL

18、EENTRIES0LPVCOLORTABLEPBMIH1PBMIHBIHEIGHTABSPBMIHBIHEIGHT/读取图像数据,WIDTHBYTES宏用于生成每行字节数INTNWIDTHBYTESWIDTHBYTESPBMIHBIWIDTHPBMIHBIBITCOUNT/申请BIHEIGHT个长度为BIWIDTHBYTES的数组,用他们来保存位图数据LPDATANEWLPBYTEPBMIHBIHEIGHTFORINTI0IBIHEIGHTILPDATAINEWBYTENWIDTHBYTESFILEREADLPDATAI,NWIDTHBYTES/更新数据CLEANUPM_LPDATALPDAT

19、AM_PBMIHPBMIHM_LPVCOLORTABLELPVCOLORTABLEM_NCOLORTABLEENTRIESNCOLORTABLEENTRIESFILECLOSERETURNTRUE/BOOLSAVETOFILECHARFILEPATH功能将位图数据保存到文件中参数CHARFILEPATH文件路径返回值BOOL类型,返回是否保存成功/BOOLCIMGSAVETOFILECHARFILEPATHIFISVALIDATERETURNFALSECFILEFILEIFFILEOPENFILEPATH,CFILEMODEREAD|CFILEMODEWRITE|CFILEMODECREATE

20、RETURNFALSE/构建BITMAPFILEHEADER结构BITMAPFILEHEADERBMFHEADER0INTNWIDTHBYTESWIDTHBYTESM_PBMIHBIWIDTHM_PBMIHBIBITCOUNTBMFHEADERBFTYPEMAKEWORDB,MBMFHEADERBFOFFBITSSIZEOFBITMAPFILEHEADERSIZEOFBITMAPINFOHEADERM_NCOLORTABLEENTRIES4BMFHEADERBFSIZEBMFHEADERBFOFFBITSM_PBMIHBIHEIGHTNWIDTHBYTES/向文件中写入数据FILEWRITEF

21、ILEWRITEM_PBMIH,SIZEOFBITMAPINFOHEADERM_NCOLORTABLEENTRIES4FORINTI0IBIHEIGHTIFILEWRITEM_LPDATAI,NWIDTHBYTESFILECLOSERETURNTRUE/BOOLDRAWCDCPDC功能在给定的设备上下文环境中绘制图像参数CDCPDC指定的设备上下文环境指针返回值BOOL类型,TRUE为成功,FALSE为失败/BOOLCIMGDRAWCDCPDCIFM_PBMIHNULLRETURNFALSEFORINTI0IBIHEIGHTISETDIBITSTODEVICEPDC,0,0,M_PBMIHBI

22、WIDTH,M_PBMIHBIHEIGHT,0,0,I,1,M_LPDATAI,BITMAPINFOM_PBMIH,DIB_RGB_COLORSRETURNTRUE(1)析构函数我们并没有使用默认的析构函数,而是在其中加了CLEANUP这个函数1VOIDCIMGCLEANUP23IFM_LPDATANULL45FORINTIIBIHEIGHTI67DELETEM_LPDATAI89DELETEM_LPDATA101112IFM_PBMIHNULL1314DELETEM_PBMIH1516310行为第一部分使用DELETE释放图像数据所占用的内存空间;1215行为第二部分使用DELETE释放图像

23、信息结构体所占用的内存空间。既然说要释放,那么之前总应该有申请内存的语句吧,但是在构造函数中,并没有使用关键字NEWCIMGCIMGM_PBMIHNULLM_LPDATANULL其实,在创建了空的CIMG对象后,我们马上会调用ATTACHFROMFILE函数,使用特定的本地图像文件对其数据成员进行初始化,观察ATTACHFROMFILE函数可以发现这两段代码PBMIHBITMAPINFOHEADERNEWBYTEBMFHEADERBFOFFBITSSIZEOFBMFHEADER/申请BIHEIGHT个长度为BIWIDTHBYTES的数组,用他们来保存位图数据LPDATANEWLPBYTEPBM

24、IHBIHEIGHTFORINTI0IBIHEIGHTILPDATAINEWBYTENWIDTHBYTESFILEREADLPDATAI,NWIDTHBYTES在对图像信息结构体PBMIH和图像数据LPDATA初始化时,都使用了NEW动态申请了内存空间,这样我们在析构的时候,自然要先把这些手动申请的空间还给系统了,以免引起内存泄露。(2)读取/保存图像文件源代码中的读取图像(ATTACHFROMFILE)函数和保存图像(SAVETOFILE)函数时,或许会感觉比较复杂,理解它们需要对BMP图像文件的存储结构有一定的了解。323构造CIMGPROC之所以构造出这个类来,是出于两方面的考虑(1)让

25、CIMG类封装图像的数据成员和一些最基本的处理函数,而把所有的特定算法的实现都封装到CIMGPROC类中,这样一来据”和“逻辑”分离,从而使程序的层次结构更加清晰(2)使CIMGPROC公共地继承自CIMG,那么自然就继承了CIMG中的数据和成员函数了,这样我们在实现算法时,只需使用CIMGPROC就够了,非常方便。使“数下面给出CIMGPROC类的头文件IFNDEF_IMGPROC_HDEFINE_IMGPROC_HINCLUDE“IMGH“CLASSCIMGPROCPUBLICCIMG/构造与析构函数PUBLIC/构造函数CIMGPROC/析构函数VIRTUALCIMGPROC/各种图像算

26、法PUBLIC/灰度阈值变换VOIDTHRESHOLDCIMGPROCPTO,BYTENTHRES/CLASSCIMGPROCENDIF/_IMGPROC_H_文件中仅额外申明了一个算法子函数,那就是DEMO中需要使用到的“灰度阈值变换算法”THRESHOLD了。以后若需要添加其他的算法的话,只要在头文件中声明,然后在源文件中实现下面给出CIMGPROC类的源文件代码INCLUDE“STDAFXH“INCLUDE“IMGPROCH“IFDEF_DEBUGUNDEFTHIS_FILESTATICCHARTHIS_FILE_FILE_DEFINENEWDEBUG_NEWENDIF/构造函数CIMG

27、PROCCIMGPROC/析构函数CIMGPROCCIMGPROC/VOIDCIMGPROCESSTHRESHOLDCIMGPROCPTO,BYTEBTHRE功能图像的阈值变换参数CIMGPROCPTO输出CIMGPROC对象的指针BYTEBTHRE设置的基准阈值返回值无/VOIDCIMGPROCTHRESHOLDCIMGPROCPTO,BYTEBTHREINTI,JBYTEBTFORJ0JBIHEIGHTJFORI0IBIWIDTHIBTGETGRAYI,JIFBTSETPIXELI,J,RGBBT,BT,BT33设计图像处理软件界面该系统界面的设计主要是利用MATLAB所提供的GUI(IG

28、RAPHUSERINTERFACE)向导设计控件而完成的,该向导可以实现多种控件的设计,给用户提供了一种友好的交互方式,同时也给操作带来很多方便4。图形用户界面GUI是包含图形对象如图形窗口、菜单、控件、文本的用户界面,用户以某种方式选择或者击活这些对象会发生变化或引起动作。现介绍各个功能模块的功能与实现。(1)启动GUI的方法启动图形用户界面的方法有很多种,例如可以利用工具栏上的命令按钮,也可以采用菜单和命令的方式。在本人设计的案例中采用的是命令方式在命令窗口直接输入GUIDE命令,弹出的窗口如图11所示图11GUI启动界面在弹出的GUIDEQUICKATENEWGUI选项卡里面的START

29、窗口中选择CREBLANKGUI选项,这样就可以进入图形用户界面来设计我们的系统静态界面。图12就是GUIDE提供的图形界面设计工具集5,在此界面下就可以利用控件组件、文本菜单、排列工具等对系统的界面进行设计。331图像算法菜单设计(1)菜单界面设计有五个标签,具体为文件、编辑、图像运算、噪声和频域滤波器。并且每个标签下有自己对应要实现的操作。界面的初始设计和初始运行界面静态界面运行界面(2)编辑标签下的灰度处理操作。灰度模块提供灰度对数变换、直方图均衡、阈值变换、线性变换功能。332图像的读取和保存(1)利用“文件”菜单中的“打开”、“保存为”分别实现图片的读取与保存。利用MATLAB中“U

30、IGETFILE”、“IMREAD”“IMSHOW”实现图像文件的读取与显示FUNCTIONOPENFILE_CALLBACKHOBJECT,EVENTDATA,HANDLESHOBJECTHANDLETOOPENFILESEEGCBOEVENTDATARESERVEDTOBEDEFINEDINAFUTUREVERSIONOFMATLABHANDLESSTRUCTUREWITHHANDLESANDUSERDATASEEGUIDATAFILENAME,PATHNAMEUIGETFILEJPGBMPTIF,载入图像IFISEQUALFILENAME,0|ISEQUALPATHNAME,0ERROR

31、DLG没有选中文件,出错RETURNELSEFILEPATHNAME,FILENAMEGLOBALS设置一个全局变量S,保存初始图像路径,以便之后的还原操作SFILEXIMREADFILESETHANDLESAXES1,HANDLEVISIBILITY,ONAXESHANDLESAXES1IMSHOWXSETHANDLESAXES1,HANDLEVISIBILITY,OFFAXESHANDLESAXES2IMSHOWXHANDLESIMGXGUIDATAHOBJECT,HANDLESEND程序关键部分通过FILENAME,PATHNAMEUIGETFILEJPGBMPTIF,载入图像选择相应路

32、径打开的图像;通过FILEPATHNAME,FILENAMEXIMREADFILE读取选中的图像;最后,通过IMSHOWX在显示区域上显示图像。(2)图像保存。利用“UIPUTFILE”、“IMWRITE”函数实现图像文件的保存。FUNCTIONSAVE_CALLBACKHOBJECT,EVENTDATA,HANDLESHOBJECTHANDLETOSAVESEEGCBOEVENTDATARESERVEDTOBEDEFINEDINAFUTUREVERSIONOFMATLABHANDLESSTRUCTUREWITHHANDLESANDUSERDATASEEGUIDATASFILENAME,SFI

33、LEPATHUIPUTFILEJPGBMPTIF,保存图像文件,UNTITLEDJPGIFISEQUALSFILENAME,SFILEPATH,0,0SFILEFULLNAMESFILEPATH,SFILENAMEIMWRITEHANDLESIMG,SFILEFULLNAMEELSEMSGBOX你按了取消键,保存失败END程序关键部分通SFILENAME,SFILEPATHUIPUTFILEJPGBMPTIF,保存图像文件,UNTITLEDJPG选择图像文件保存的路径与格式;然后,通过SFILEFULLNAMESFILEPATH,SFILENAMEIMWRITEHANDLESIMG,SFILE

34、FULLNAME实现对图像的保存。(3)程序的退出。FUNCTIONEXIT_CALLBACKHOBJECT,EVENTDATA,HANDLESHOBJECTHANDLETOEXITSEEGCBOEVENTDATARESERVEDTOBEDEFINEDINAFUTUREVERSIONOFMATLABHANDLESSTRUCTUREWITHHANDLESANDUSERDATASEEGUIDATACLCCLOSEALLCLOSEGCFCLEAR333图像点运算算法设计A图像灰度变换由于在MATLAB中较多的图像处理函数支持对灰度图像进行处理,故对图像进行灰度转化十分必要。可利用RGB2GRAY(X

35、)函数对其他图像进行灰度图像的转化。转化实例如下实现程序段如下EXECUTESONBUTTONPRESSINRADIOBUTTON16FUNCTIONRADIOBUTTON16_CALLBACKHOBJECT,EVENTDATA,HANDLESHOBJECTHANDLETORADIOBUTTON16SEEGCBOEVENTDATARESERVEDTOBEDEFINEDINAFUTUREVERSIONOFMATLABHANDLESSTRUCTUREWITHHANDLESANDUSERDATASEEGUIDATAHINTGETHOBJECT,VALUERETURNSTOGGLESTATEOFRAD

36、IOBUTTON16GLOBALTAXESHANDLESAXES2TGETIMAGEXRGB2GRAYHANDLESIMGRGBIMSHOWXHANDLESIMGXGUIDATAHOBJECT,HANDLESB图像直方图均衡(1)通过HISTEQ(X)函数实现直方图均衡。因为此函数只能对灰度图像进行直方图均衡。故应先将彩图转为灰度图像。在上一步的基础上对第二幅图进行直方图均衡直方图均衡实现程序段如下EXECUTESONBUTTONPRESSINPUSHBUTTON7FUNCTIONPUSHBUTTON7_CALLBACKHOBJECT,EVENTDATA,HANDLESHOBJECTHANDL

37、ETOPUSHBUTTON7SEEGCBOEVENTDATARESERVEDTOBEDEFINEDINAFUTUREVERSIONOFMATLABHANDLESSTRUCTUREWITHHANDLESANDUSERDATASEEGUIDATAGLOBALTAXESHANDLESAXES2TGETIMAGEHHISTEQHANDLESIMGIMSHOWHHANDLESIMGHGUIDATAHOBJECT,HANDLES关键部分通过HHISTEQHANDLESIMG进行直方图均衡334图像插值算法的设计通过IMRESIZEX,N,MODE函数对图像X进行放大或者缩小。N放大缩小倍数,MODE为采用

38、的方式。通过处理后可发现保存的图片的比原图放大了(缩小了)。实现的程序段如下FUNCTIONUIPANEL9_SELECTIONCHANGEFCNHOBJECT,EVENTDATA,HANDLESHOBJECTHANDLETOUIPANEL9SEEGCBOEVENTDATARESERVEDTOBEDEFINEDINAFUTUREVERSIONOFMATLABHANDLESSTRUCTUREWITHHANDLESANDUSERDATASEEGUIDATAGLOBALTSTRGETHOBJECT,STRINGAXESHANDLESAXES2SWITCHSTRCASE最近邻插值TGETIMAGEPR

39、OMPT输入参数DEFANS2PINPUTDLGPROMPT,INPUT,1,DEFANSP1STR2NUMP1FIMRESIZEHANDLESIMG,P1,NEARESTIMSHOWFHANDLESIMGFGUIDATAHOBJECT,HANDLESCASE双线性插值TGETIMAGEPROMPT输入参数DEFANS1PINPUTDLGPROMPT,INPUT,1,DEFANSP1STR2NUMP1FIMRESIZEHANDLESIMG,P1,BILINEARIMSHOWFHANDLESIMGFGUIDATAHOBJECT,HANDLESENDD频域滤波标签下有高斯平滑、中值滤波和自适应滤波

40、三种处理操作。中值滤波后高斯平滑后自适应滤波后实现程序段如下FUNCTIONUIPANEL5_SELECTIONCHANGEFCNHOBJECT,EVENTDATA,HANDLES图像滤波HOBJECTHANDLETOUIPANEL5SEEGCBOEVENTDATARESERVEDTOBEDEFINEDINAFUTUREVERSIONOFMATLABHANDLESSTRUCTUREWITHHANDLESANDUSERDATASEEGUIDATAGLOBALTSTRGETHOBJECT,STRINGAXESHANDLESAXES2SWITCHSTRCASE中值滤波TGETIMAGEKMEDFIL

41、T2HANDLESIMGIMSHOWKHANDLESIMGKGUIDATAHOBJECT,HANDLESCASE高斯平滑TGETIMAGEH111111111HH/9IDOUBLEHANDLESIMGKCONVNI,HIMSHOWK,HANDLESIMGKGUIDATAHOBJECT,HANDLESCASE自适应滤波TGETIMAGEKWIENER2HANDLESIMG,5,5IMSHOWKHANDLESIMGKGUIDATAHOBJECT,HANDLESEND4结束语通过为期一周的MATLAB课程设计实践,使我对MATLAB的使用有了进一步的了解和熟悉。本次以C和MATLAB71软件为实现目

42、标,针对应用于数字图像处理系统的各种方法做了部分的验证性和改进型的设计,设计之初还是问题百出,尤其是代码的理解应用总是出现错误,究其原因是知识储备不足,我利用课余时间,重新复习了MATLAB教材,专门借阅了利用MATLAB进行图像处理的相关教程,通过索引网络上的相关资料,为课设做了较为充分的准备。在参考了相关材料及源程序,我对自己要做的课设内容有了进一步的了解,并对MATLAB的使用有了更深的体会。在此过程中也要得到同学的耐心指导,为此表示感谢。基于MATLAB的图像处理系统是一个功能强大的系统,它还可以实现图像颜色空间的转换,能对一些单色图像进行各种调色,也可以调用MATLAB绘图工具箱进行

43、各种简单图形的绘制。当然还有许多的功能有待于进一步完善。附件关于数字图像处理课程设计的安排和要求1、数字图像处理课设属于综合实践课,设计时间为1周。2、时间安排第18周;地点4406。3、实验工具MATLAB语言;C/C,VC60/VS2010。4、要求图书馆借阅相关书籍并上网查阅相关文献资料,严格按指定要求完成设计。每个程序或模块都必须做到功能仿真成功这一步。5、结课方式1)口头答辩就具体设计题目提问,检查程序运行结果。(40)2)交课程设计报告班长统一交给指导老师。(60)6、课设报告要求1)严禁有雷同或相同报告,否则不能通过这门课的考查。2)报告内容统一安排如下第一页为课程设计任务书,任

44、务书内容包括设计任务要求和进度安排。第二页为目录。从第三页开始为报告正文,应包括设计目的、设计方案(思路)、具体设计内容,包括源代码(加注释),模块的文字描述、功能仿真图等,报告的最后一项为结束语。3)用A4纸打印,字体要求为宋体,4号字。具体格式不明之处参考毕业设计论文格式要求。4)必须有完整的源代码和关于源代码的详细说明。5运行结果以图片的形式粘贴到报告中来。6)答疑方式邮件或到实验室答疑。数字图像处理课程设计题目(1)实现图像处理的基本操作学习使用MATLAB图像处理工具箱,利用IMREAD()语句读入图像,例如IMAGEIMREAD(FLOWERJPG),对图像进行显示如IMSHOW(

45、IMAGE)和保存。学习使用CIMG类,调用类成员函数ATTACHFROMFILE加载位图,SAVETOFILE保存位图到文件。(2)图像处理算法的实现与显示针对课程中学习的图像处理内容,从下面的4个题目中选择2个,用MATLAB和C/C实现该题目指定的图像处理功能。要求使用老师提供的图像来设计要解决的问题,并对使用不同方法所得到的结果进行比较。(3)设计图像处理软件界面可设计菜单式界面,在功能较少的情况下,也可以设计按键式界面,视功能多少而定。(4)题目1、图像点运算算法设计A灰度对数变换B分段线性变换C灰度域值变换D直方图均衡化2、图像插值算法的设计A最近邻插值B双线性插值C高阶插值3、图像平滑算法的设计A高斯平滑B自适应平滑滤波C中值滤波4、图像锐化程序设计A一阶倒数的图像增强B二阶微分的图像增强C高斯拉普拉斯变换

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。