VC与MATLAB混合编程在图像处理中的应用

VC与MATLAB混合编程在图像处理中的应用
VC与MATLAB混合编程在图像处理中的应用

邮局订阅号:82-946360元/年技

术创新

图像处理

《PLC技术应用200例》

您的论文得到两院院士关注

VC与MATLAB混合编程在图像处理中的应用

VCandMatlabmixedprogrammingofimagecompression

(1.新疆大学;2.西南科技大学)袁

巴力登

何从坤2

YUANLinBALi-dengHECong-kun

摘要:详述了在VC环境下利用Matlab工具箱进行图像压缩处理。全文以Matlab工具箱中图像压缩阀值函数wdcbm2和图像压缩函数wdencmp为例,介绍了Matlab引擎的具体设置方法从而实现VC与Matlab之间图像压缩处理过程中数据和命令的动态通信。通过该方法可以方便、快捷的实现图像的压缩处理,无论从程序实现过程还是从最终处理效果上来说都明显

优于单独使用VC编程实现的效果,充分发挥了VC与Matlab各自的优势。该方法也可以扩展到对图像去噪、

重构、融合等图像处理过程中。

关键词:Matlab;引擎;VC++中图分类号:TP31文献标识码:A

Abstract:HavenarratedandutilizedMatlabtoolboxtocompressanddealwiththepictureinVCenvironment.Thepicturecompressesthethresholdfunctionwdcbm2andthepicturecompressesthefunctionwdencmpastheexamplewithMatlabtoolboxinthisarticle.HaveintroducedtheconcretemethodtosetupofMatlabengineinordertorealizingdynamiccommunicationofdataandorderinthecourseofthepicturecompressingandhandlingbetweenVCandMatlab.Thecompressionofrealizingpicturecanbeconvenient,swiftbythemethod,Nomatterrealizingthecourseorfinalresultofhandling,itisobviouslysuperiortotheresultofusingVCprogrammingrealizationalone.HavefullygivenplaytoadvantagesofVCandMatlabrespectly.Themethodcanbeappliedtothepictureprocessingcourseofremovingthenoise,reconstructingandmergingetc.Keywords:Matlab;Engine;VC++

文章编号:1008-0570(2008)04-3-0297-03

在计算机软件开发过程中,VC++以其高效的编码率可以快速地开发出Windows环境下功能强大、

图形界面丰富的应用软件系统,可以说是一个不错的编程工具。对于图像的处理,我们可以在VC++平台上直接对OpenGL或Direct3D进行编程实现。但是由于VC++在数值计算方面不如Matlab,尤其是在进行图像处理时,每一个算法都需要添加大量的程序代码,程序冗长,浪费系统资源。因此,使用具有强大的矩阵运算、数据处理和图形显示功能的Matlab更具优势。它以强大的计算和绘图功能、大量稳定可靠的算法库、丰富的图像处理函库,简洁高效的程序语言,成为数学计算工具方面事实上的标准。其输出结果可视化,应用程序整体性能较好,可以方便地进行图像变换,特别是内部的图像处理函数大大简化了VC环境下程序的复杂性,极少的代码就可实现复杂的图像处理过程。因此,在以

VC++作为平台来进行应用软件开发时,通过调用Matlab中相关的图像处理函数和命令,可以很好地解决VC++在图像处理

时的不足之处,从而更有效、快捷的完成软件的开发。

1VC调用MATLAB的方案选择

VC调用Matlab的方法主要有两种:1)利用编译器编译的方法;2)利用Matlab引擎的方法。前一种方法把Matlab函数编译成C/C++函数,以共享库的方式在VC中调用,但该方案不支

持图形函数,转换的代码可读性不好,这不便于进行复杂的图像处理。后一种方法是通过Matlab引擎调用,该方案不要求连接整个Matlab,只需在VC环境中嵌入必要的MatlabEngine库,便可以通过引擎调用Matlab中几乎所有的函数或命令,无需编译成C/C++函数。

因此,本文采用了引擎调用方法在VC环境下进行图像的诸如压缩、重构、去噪等处理过程,通过该方法不仅充分的发挥Matlab在图像处理过程中的优势,同时也大大提高了VC环境下相关图形软件的开发进程。

2关于MATLAB引擎

Matlab引擎函数库是Matlab提供的一系列程序的集合,它允许用户在自己的C语言或C++语言应用程序中对Matlab进行调用,将Matlab作为一个计算引擎使用,让其在后台运行,以简化前台用户程序设计的任务。Matlab引擎主要采用客户和服务器计算方式。在VC环境下启动Matlab引擎时,相当于启动了另外一个Matlab进程,其在后台运行,并通过在VC++与Matlab之间建立了一个数据和命令的传输通道,实现其动态通信。VC中的C语言或C++语言的程序作为前端客户机,它向Matlab引擎传递命令和数据信息,并从Matlab引擎接收相关数据信息。用户应用程序通过Matlab引擎函数库中提供的函数完成与

Matlab引擎之间的数据交换和命令传送。

利用Matlab引擎函数库主要是完成两方面的任务:

(1)将Matlab作为一个功能强大的和可编程的数学函数库,调用Matlab中大量的数学计算函数,完成复杂的计算任务。

(2)作为一个特定的任务构建一个完整的系统,其中前台的用户图形使用VC++进行定制,使界面更加友好、易用,在人与计算机之间架起一座交互的桥梁,方便地实现Matlab的仿真功能和输出结果的对比分析,而后台的计算任务可交给Matlab引擎

来完成。

袁林:硕士研究生

基金项目:国家自然科学基金(60063002)297-

技术创新

中文核心期刊《微计算机信息》(管控一体化)2008年第24卷第4-3期

360元/年邮局订阅号:82-946

《现场总线技术应用200例》

图像处理

3VC调用MATLAB引擎设置

要实现在VC集成环境中调用MATLAB引擎,完成图形处理,首先要在VC集成环境中作一些设定,具体设置如下:

1)启动VC,在VC中建立MFCAppwizard(exe)(DialogBased)

基于单文档的工程。

2)置工程在VC下选择菜单:Tools->opinion->Directory,按如下选择添加文件搜索路径和库文件的搜索路径:Includefile%Matlab%\extern\include,Libraryfiles%Matlab%\extern\lib\win32\Microsoft\Msvc6,其中%Matlab%表示本机的Mat-lab安装路径,这个操作只需一次,以后建立类似的工程就不用

再重复了。

3)对此工程制定引擎函数的库文件,选择菜单:Project->

Settings->Link,按如下方式设置工程:在“

Object/librarymod-ules“

编辑框中添加两个库文件:libeng.liblibmx.lib。设置完毕。4VC调用MATLAB实现图像压缩

处理

图像压缩是计算机应用领域中的一个重要问题。由于图像

数据往往存在各种信息的冗余,如空间冗余、

信息熵冗余、视觉冗余和结构冗余等,因此可以说,图像压缩就是在不影响视觉效果的基础上,对图像信息用较少的数据量描述原始数据,或者去掉图像中的各种冗余,保留有用信息的过程。去除掉具有相关性的冗余信息后,最重要的一点是可以减少信息所占空间。基于此,在VC环境下通过引擎调用Matlab小波工具箱(wavelettoolbox)中提供的各种图像处理函数即可实现图像压缩。

工具箱中包含的各种小波分析函数,可用于对信号与图像的压缩处理,压缩后能保持信号与图像的特征基本不变,压缩比高,压缩速度快,且在传递过程中具有抗干扰能力。该过程主要应用到获取图像压缩阀值的函数ddencmp和wdcbm2,以及实现图像压缩的函数wdencmp、wpdencm和wthcoef2。这些函数大大加快了图像压缩处理过程中一些算法的实现。

按上述方法生成了接口库之后,只要将这两个接口库联入

VC环境下的整个项目便可实现Windows环境下VC和Matlab混合编程。下面结合一实际图像压缩处理程序,具体介绍一下如何在VC环境下实现与Matlab引擎进行数据通信,以及在VC环境下调用Matlab命令实现图像压缩处理的方法及过程。该例

程选取标准“tire”

图像,对该图像进行压缩处理。4.1创建基于引擎设置的工程

在上述引擎设置的基础上创建名为Yasuo的工程,在其对话框中设置一个Button控件OnButton1,实现人机交互,对话框中的.cpp文件中将自动生成EngDemo.h和EngDemoDlg.h头文件,然后在对话框的.cpp文件中加入引擎库函数的头文件engine.h”。

在编写程序代码时,必须对头文件“engine.h”进行包含,这个头文件非常重要。“engine.h”

中包含了MATLAB引擎库中所有函数及其相关数据类型的定义,缺少了它,将无法使用MAT-

LAB引擎。如果不加入这个头文件,在程序编译时就会出现“

调用没有定义的MATLAB引擎函数”

的错误提示。4.2启动Matlab引擎

定义一个指向Matlab进程的引擎指针ep,程序运行至图像压缩处理阶段时,该指针首先指向函数engOpen,启动Matlab进程,从而开始建立VC++与Matlab之间的动态通信,数据传输成

功则返回一引擎句柄的指针。如果启动引擎失败,则返回

NULL。函数engOpen是进行其他所有引擎函数调用前必须调

用的。

4.3Matlab命令的执行

在VC环境下,程序的编码只需把Matlab中的m文件转化为VC下的引擎调用即可。启动Matlab引擎后,通过engEval-String函数实现VC++与Matlab之间的动态通信,该函数向引擎指针ep指向的Matlab进程发送字符串string命令,由Matlab

执行。

4.4关闭Matlab引擎

当VC++与Matlab完成数据传输后,由函数engClose关闭引擎指针ep指向的Matlab进程,释放资源。

工程的具体实现流程图如下:

图1工程执行流程图

关键程序源代码如下:

voidCYasuoDlg::OnButton1()

{//TODO:AddyourcontrolnotificationhandlercodehereEngine*ep;

if(!(ep=engOpen(NULL)))//{

MessageBox("Can‘tstartMatlabengine”);return;}

engEvalString(ep,"loadtire;");

engEvalString(ep,"nbc=size(map,1);");

engEvalString(ep,"wname='haar';lev=3;");//wavedec2多尺度二维小波分解

engEvalString(ep,"[c,s]=wavedec2(X,lev,wname);");engEvalString(ep,"alpha=1.5;m=3.5*prod(s(1,:));");//wdcbm2获取压缩阀值

engEvalString(ep,"[thr,nkeep]=wdcbm2(c,s,alpha,m);");//wdencmp用小波进行信号压缩;

engEvalString(ep,"xd=wdencmp('lvd',c,s,wname,lev,thr,'h');");

engEvalString(ep,"colormap(pink(nbc));");engEvalString(ep,"figure(1);");engEvalString(ep,"subplot(121);");

engEvalString(ep,"image(wcodemat(X,nbc));");engEvalString(ep,"title('原始图像');");engEvalString(ep,"subplot(122);");

engEvalString(ep,"image(wcodemat(xd,nbc))");engEvalString(ep,"title('压缩图像');");//engClose(ep);}

其中,engOpen函数声明为:

Engine*engOpen(constchar*startcmd);参数startcmd设为NULL。

实现向MATLAB发送命令的engEvalString函数,函数声明为:

298-

邮局订阅号:82-946360元/年技

术创新

图像处理

《PLC技术应用200例》

您的论文得到两院院士关注intengEvalString(Engine*ep,constchar*string);engClose函数声明为:intengClose(Engine*ep);

在上述程序中若启用engClose函数,由于该函数在程序执行完成后迅速释放资源,Matlab窗口显示的图像压缩处理结果

将会马上消失。因此,为了更好的观察程序运行结果,在程序执行前可以先注释掉该行代码。

程序运行结果如下图:

图2原始图像

图3压缩图像

5结论

本文以图像的压缩处理为例,在VC环境下利用Matlab引擎实现Matlab与VC++接口完成图像压缩处理,充分发挥了

Matlab在图像处理上的技术优势,简化了算法,以精练的代码达到了图像处理的预期效果,同时节省大量的系统资源。该方法

弥补了用单个软件开发出来的应用程序在功能上的不足,同时也可以为熟悉VC++语言的工程技术人员在开发实用图像处理应用程序时提供方便,是提高程序开发效率的一种常用手段,具有非常广阔的应用前景。

本文作者创新点:单独使用VC++或者Matlab均可实现图像压缩、重构、融合等相关处理。但是单独使用VC++开发相关图像处理软件时,需要复杂图像处理算法,并且使得程序代码冗长,从而导致可读性差,浪费系统资源,而单独使用Matlab进行图像处理,虽然有相关图像处理函数,但Matlab执行速度慢,并且对于软件开发来说它不能实现图形界面丰富的应用软件。而通过VC++或者Matlab混合编程可以很好的解决VC++在图像处理时的不足之处,从而更有效、快捷的完成图像处理相关软件的开发。

参考文献

[1]任哲等.MFCWindows应用程序设计[M].北京:清华大学出版社,2005。

[2]刘志俭.Matlab应用程序接口用户指南[M].北京:科学出版社,2000。[3]周伟.Matlab小波分析高级技术[M].西安:西安电子科技大学出版社,2006。

[4]刘志俭,潘献飞.Matlab外部程序接口(6.X)[M].北京:科学出版社,2002。

[5]袁佑新,甘伟.Matlab与VC混合编程在网架结构智能监测系统中的应用[J]微计算机信息,2006,1-1:103-105。

作者简介:袁林(1981-),男(汉族),黑龙江尚志市人,硕士研究生,主要从事计算机信息技术与控制研究;巴力登(1952-),男(蒙古族),新疆乌鲁木齐人,新疆大学电气工程学院教授。主要从事计算机信息技术与控制研究;何从坤(1964-),男(汉族),四川绵

阳人,西南科技大学应用技术学院讲师。主要从事计算机信息技术与控制研究。

Biography:YUANLin(1981-),Men(Han),Heilongjiang,gradu-

atestudents,manilyengagedininformationtechnologyandcom-

putercontrolstudies.

(830000新疆新疆大学)袁林巴力登(西南科技大学)何从坤

通讯地址:(830000新疆新疆大学北校区电气工程学院院办05研)袁林

(收稿日期:2008.2.03)(修稿日期:2008.4.25)

(上接第281页)

右图投影到环形柱幕为正规矩形

4结论

在多通道环幕或穹顶投影系统中使用双线性矩阵变换和二次曲线调整相结合的方法既能对在环形柱幕和穹顶银幕上产生的任意非线性变形进行矫正,也能同时对相邻投影机形成的投影图像拼合区进行准确融合。以该算法为基础的视频播放软件已在国内外多家虚拟现实影视系统中应用。

本文作者创新点:在多通道环幕或穹顶投影系统中使用双线性矩阵变换和二次曲线调整相结合的方法既能对在环形柱幕和穹顶银幕上产生的任意非线性变形进行矫正,也能同时对相邻投影机形成的投影图像拼合区进行准确融合。以该算法为基础的视频播放软件使用DirectX8.1SDK提供的DirectShow技术开发,并已在国内外多家虚拟现实影视系统中应用。

参考文献

[1]章毓晋.图像处理[M].北京:清华大学出版社,2006。

[2]段福洲,

朱琳,高立.遥感像片中多投影变换的实现与优化[J].中国图象图形学报,2007,10(5):608-610

[3]SonkaM,HlavacV,BoyleR.ImageProcessing,Analysis,andMachineVisionSecondEdition[M].ThomsonBrooks/Cole.2002.

[4]刘婀娜,

罗予频,华成英.变形文档图像的矫正方法研究[J].微计算机信息,2007,1-3:260-262。

[5]何援军.计算机图形学[M].北京:机械工业出版社,2007。

[6]张义宽,

张晓滨,耿楠等.计算机图形学[M].西安:西安电子科技大学出版社,2004。

作者简介:吕冀(1971-),男,河北省唐山市人,北京理工大学,博士,主要从事导航、制导研究。汪渤(1963-),男,教授,博士生导师,导航制导与控制专业;高洪民(1969-),男,博士后,导航、制导与控制专业.

Biography:LVJi(1971-),male,TangShanCity,HebeiProvince,China.BeijingInstituteofTechnology,doctor,Researcharea:Navigation,GuidanceandControl.

(100081北京北京理工大学信息科学技术学院)吕冀汪渤高洪民(SchoolofInformationScienceandTechnology,BeijingInsti-tuteofTechnology,Beijing100081,China)LVJiWANGBoGAOHongmin

通讯地址:(100081北京市中关村南大街5号北京理工大学信息科学技术学院1院5系微波3号信箱)吕冀

(收稿日期:2008.2.03)(修稿日期:2008.3.25)

299-

matlab图像处理的几个实例

Matlab图像处理的几个实例(初学者用) 1.图像的基本信息及其加减乘除 clear,clc; P=imread('yjx.jpg'); whos P Q=imread('dt.jpg'); P=im2double(P); Q=im2double(Q); gg1=im2bw(P,0.3); gg2=im2bw(P,0.5); gg3=im2bw(P,0.8); K=imadd(gg1,gg2); L=imsubtract(gg2,gg3); cf=immultiply(P,Q); sf=imdivide(Q,P); subplot(421),imshow(P),title('郁金香原图'); subplot(422),imshow(gg1),title('0.3'); subplot(423),imshow(gg2),title('0.5'); subplot(424),imshow(gg3),title('0.8'); subplot(425),imshow(K),title('0.3+0.5'); subplot(426),imshow(L),title('0.5-0.3'); subplot(427),imshow(cf),title('P*Q'); subplot(428),imshow(sf),title('P/Q'); 2.图像缩放 clear,clc; I=imread('dt.jpg'); A=imresize(I,0.1,'nearest'); B=imresize(I,0.4,'bilinear'); C=imresize(I,0.7,'bicubic'); D=imresize(I,[100,200]); F=imresize(I,[400,100]); figure subplot(321),imshow(I),title('原图'); subplot(322),imshow(A),title('最邻近插值'); subplot(323),imshow(B),title('双线性插值'); subplot(324),imshow(C),title('二次立方插值'); subplot(325),imshow(D),title('水平缩放与垂直缩放比例为2:1'); subplot(326),imshow(F),title('水平缩放与垂直缩放比例为1:4');

基于Matlab基本图像处理程序

图像读入 ●从图形文件中读入图像 imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到filename所制定的文件,会尝试查找一个名为filename.fmt的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含 RGB真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map] = imread(filename, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow(filename) himage = imshow(...) ●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图 像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像

基于MATLAB的图像处理的基本运算

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 基于MATLAB的图像处理的基本运算 初始条件: 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)能够对图像亮度和对比度变化调整,并比较结果 (2)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的和旋转操作,并保存,比较几 种插值的效果 (3)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。 (4)对图像加入各种噪声,比较效果。 时间安排: 指导教师签名:年月日 系主任(或责任教师)签名:年月日 目录 摘要.......................................................................................................................... 错误!未定义书签。 1 MATLAB简介 ........................................................................................................ 错误!未定义书签。2图像选择及变换................................................................................................... 错误!未定义书签。 2.1 原始图像选择读取....................................................................................... 错误!未定义书签。 2.1.1 原理图的读入与基本变换 .................................................................... 错误!未定义书签。

图像处理实例(含Matlab代码)

信号与系统实验报告——图像处理 学院:信息科学与工程学院 专业:2014级通信工程 组长:** 组员:** 2017.01.02

目录 目录 (2) 实验一图像一的细胞计数 (3) 一、实验内容及步骤 (3) 二、Matlab程序代码 (3) 三、数据及结果 (4) 实验二图像二的图形结构提取 (5) 一、实验内容及步骤 (5) 二、Matlab程序代码 (5) 三、数据及结果 (6) 实验三图像三的图形结构提取 (7) 一、实验内容及步骤 (7) 二、Matlab程序代码 (7) 三、数据及结果 (8) 实验四图像四的傅里叶变化及巴特沃斯低通滤波 (9) 一、实验内容及步骤 (9) 二、Matlab程序代码 (9) 三、数据及结果 (10) 实验五图像五的空间域滤波与频域滤波 (11) 一、实验内容及步骤 (11) 二、Matlab程序代码 (11) 三、数据及结果 (12)

实验一图像一的细胞计数 一、实验内容及步骤 将该图形进行一系列处理,计算得到途中清晰可见细胞的个数。 首先,由于原图为RGB三色图像处理起来较为麻烦,所以转为灰度图,再进行二值化化为黑白图像,得到二值化图像之后进行中值滤波得到细胞分布的初步图像,为了方便计数对图像取反,这时进行一次计数,发现得到的个数远远多于实际个数,这时在进行一次中值滤波,去掉一些不清晰的像素点,剩下的应该为较为清晰的细胞个数,再次计数得到大致结果。 二、Matlab程序代码 clear;close all; Image = imread('1.jpg'); figure,imshow(Image),title('原图'); Image=rgb2gray(Image); figure,imshow(Image),title('灰度图'); Theshold = graythresh(Image); Image_BW = im2bw(Image,Theshold); Reverse_Image_BW22=~Image_BW; figure,imshow(Image_BW),title('二值化图像'); Image_BW_medfilt= medfilt2(Image_BW,[3 3]); figure,imshow(Image_BW_medfilt),title('中值滤波后的二值化图像'); Reverse_Image_BW = ~Image_BW_medfilt; figure,imshow(Reverse_Image_BW),title('图象取反'); Image_BW_medfilt2= medfilt2(Reverse_Image_BW,[20 20]); figure,imshow(Image_BW_medfilt2),title('第二次中值滤波的二值化图像'); [Label, Number]=bwlabel(Image_BW_medfilt,8);Number [Label, Number]=bwlabel(Image_BW_medfilt2,8);Number

基于MATLAB图像处理报告

基于M A T L A B图像处理报告一、设计题目 图片叠加。 二、设计要求 将一幅礼花图片和一幅夜景图片做叠加运算,使达到烟花夜景的美图效果。 三、设计方案 、设计思路 利用matlab强大的图像处理功能,通过编写程序,实现对两幅图片的像素进行线性运算,利用灰度变换的算法使图片达到预期的效果。 、软件介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB 也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户直接进行下载就可以用。

MATLAB中图像函数大全 详解及例子

图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE=strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1=strel('square',6) %创建6*6的正方形 se2=strel('line',10,45) %创建直线长度10,角度45 se3=strel('disk',15) %创建圆盘半径15 se4=strel('ball',15,5) %创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW=roipoly(I,c,r) BW=roipoly(I) BW=roipoly(x,y,I,xi,yi) [BW,xi,yi]=roipoly(...) [x,y,BW,xi,yi]=roipoly(...) BW=roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW=roipoly(I)表示建立交互式的处理界面。 BW=roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I=imread('eight.tif'); c=[222272300270221194]; r=[21217512112175]; BW=roipoly(I,c,r); imshow(I)

(完整版)数字图像处理MATLAB程序【完整版】

第一部分数字图像处理

实验一图像的点运算 实验1.1 直方图 一.实验目的 1.熟悉matlab图像处理工具箱及直方图函数的使用; 2.理解和掌握直方图原理和方法; 二.实验设备 1.PC机一台; 2.软件matlab。 三.程序设计 在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(1,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(1,2,2),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察图像matlab环境下的直方图分布。 (a)原始图像 (b)原始图像直方图 六.实验报告要求 1、给出实验原理过程及实现代码; 2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2 灰度均衡 一.实验目的 1.熟悉matlab图像处理工具箱中灰度均衡函数的使用; 2.理解和掌握灰度均衡原理和实现方法; 二.实验设备 1.PC机一台; 2.软件matlab; 三.程序设计 在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(2,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(2,2,3),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 a=histeq(I,256); %直方图均衡化,灰度级为256 subplot(2,2,2),imshow(a) %输出均衡化后图像 title('均衡化后图像') %在均衡化后图像中加标题 subplot(2,2,4),imhist(a) %输出均衡化后直方图 title('均衡化后图像直方图') %在均衡化后直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察matlab环境下图像灰度均衡结果及直方图分布。 (a)原始图像 (b)均衡化后图像

图像处理matlab程序实例

程序实例 1旋转: x=imread('d:\MATLAB7\work\flower.jpg'); y=imrotate(x,200,'bilinear','crop'); subplot(1,2,1); imshow(x); subplot(1,2,2); imshow(y) 2.图像的rgb clear [x,map]=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh1.jpg');y=x(90:95,90:95);imshow(y)R=x(90:95,90:95,1);G=x(90:95,90:95,2);B=x(90:95,90:95,3);R,G,B 3.加法运算clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh3.jpg');J=imnoise(I,'gaussian',0,0.02);%向图片加入高斯噪声subplot(1,2,1),imshow(I);%显示图片subplot(1,2,2),imshow(J);K=zeros(242,308);%产生全零的矩阵,大小与图片的大小一样for i=1:100%循环100加入噪声J=imnoise(I,'gaussian',0,0.02);J1=im2double(J);K=K+J1;end K=K/100; figure,imshow(K);save

4.减法 clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); J=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao1.jpg'); K=imsubtract(I,J);%实现两幅图相减 K1=255-K;%将图片求反显示 figure;imshow(I); title('有噪声的图'); figure;imshow(J); title('原图'); figure;imshow(K1); title('提取的噪声'); save 5.图像的乘法 H=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); I=immultiply(H,1.2);将此图片乘以1.2 J=immultiply(H,2); subplot(1,3,1),imshow(H); title('原图'); subplot(1,3,2),imshow(I); title('·放大1.2'); subplot(1,3,3),imshow(J); title('放大2倍'); 6除法运算 moon=imread('moon.tif'); I=double(moon); J=I*0.43+90; K=I*0.1+90; L=I*0.01+90; moon2=uint8(J); moon3=uint8(K); moon4=uint8(L); J=imdivide(moon,moon2); K=imdivide(moon,moon3); L=imdivide(moon,moon4); subplot(2,2,1),imshow(moon); subplot(2,2,2),imshow(J,[]); subplot(2,2,3),imshow(K,[]); subplot(2,2,4),imshow(L,[]);

基于MATLAB的运动模糊图像处理

基于MATLAB的运动模糊图像处理 提醒: 我参考了文献里的书目和网上的一些代码而完成的,所以误差会比较大,目前对于从网上下载的模糊图片的处理效果很不好,这是我第一次上传自己完成的实验的文档,希望能帮到一些人吧。 研究目的 在交通系统、刑事取证中图像的关键信息至关重要,但是在交通、公安、银行、医学、工业监视、军事侦察和日常生活中常常由于摄像设备的光学系统的失真、调焦不准或相对运动等造成图像的模糊,使得信息的提取变得困难。但是相对于散焦模糊,运动模糊图像的复原在日常生活中更为普遍,比如高速运动的违规车辆的车牌辨识,快速运动的人群中识别出嫌疑人、公安刑事影像资料中提取证明或进行技术鉴定等等,这些日常生活中的重要应用都需要通过运动模糊图像复原技术来尽可能地去除失真,恢复图像的原来面目。因此对于运动模糊图像的复原技术研究更具有重要的现实意义。 图像复原原理 本文探讨了在无噪声的情况下任意方向的匀速直线运动模糊图像的复原问题,并在此基础上讨论了复原过程中对点扩散函数(PSF)的参数估计从而依据自动鉴别出的模糊方向和长度构造出最为近似的点扩散函数,构造相应的复原模型,实现运动模糊图像的复原;在模糊图像自动复原的基础上,根据恢复效果图的纹理特征和自动鉴别出的模糊长度和角度,人工调整模糊方向和长度参数,使得复原效果达到最佳。 实验过程 模糊方向的估计: 对图1(a)所示的原始图像‘车牌’图像做方向θ=30?,长度L=20像素的匀速直线运动模糊,得到退化图像如图1(b)

1(a) 1(b) j=imread('车牌1.jpg'); figure(1),imshow(j); title('原图像'); len=20; theta=30; psf=fspecial('motion',len,theta); j1=imfilter(j,psf,'circular','conv'); figure,imshow(j1); title('PSF 模糊图像'); 图1(c)和1(d)分别为原图像和模糊图像的二次傅里叶变化

图像增强及MATLAB实现

《数字图像处理》课程设计 课设题目:图像增强与MATLAB实现学校学院:华东交通大学理学院 学生班级:13级信息计算(2)班学生:超 学生学号:20130810010216 指导老师:自柱

图像增强与MATLAB实现 摘要 数字图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。图像增强是数字图像处理的过程中经常采用的一种方法,它对提高图像质量起着重要的作用。本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、对比度增强、平滑和锐化等几种常用的增强方法的理论基础,通过Matlab实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。 关键字:图像;图像增强;算法

目录 一、MATLAB的简介 (1) 1.1MATLAB主要功能 (1) 二、MATLAB的主要功能 (1) 2.1数字增强技术概述 (1) 2.2数字图像的表示 (2)

三、直方图的均衡化 (2) 3.1图像的灰度 (2) 3.2灰度直方图 (2) 3.3直方图均衡化 (3) 四、图像二值化 (5) 4.1图像二值化 (5) 五、对比度增强 (7) 5.1对比度增强 (7) 5.2灰度调整 (8) 5.3对数变换 (9) 六、滤波 (10) 6.1平滑滤波 (10) 6.2线性平滑滤波程序: (11) 6.3非线性滤波 (12) 七、锐化 (18) 八、参考文献 (19) 九、自我评价 (20)

一、Matlab的简介 1.1 MATLAB主要功能 MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。目前,已成为工程领域中较常用的软件工具包之一。 二、MATLAB的主要功能 2.1数字增强技术概述 图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理等。 图像增强技术主要包括:直方图修改处理,图像平滑处理,图像尖锐化处理,彩色图像处理。从纯技术上讲主要有两类:频域处理法和空域处理法。 频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像的增强处理技术;空域处理法:是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的。

图像运算的MATLAB实现

rice=imread(‘rice.png’); % 读入图像 I=double(rice); % 数据类型转换 J=I*0.43+60; % 像素点算术运算 rice2=uint8(J) % 数据类型转换subplot(1,2,1),imshow(rice); % 原图绘制subplot(1,2,2),imshow(rice2); % 计算后图像绘制

X = uint8([ 255 10 75; 44 225 100]); Y = uint8([ 50 20 50; 50 50 50 ]); Z = imdivide(X,Y)

I = imread('rice.png'); % 读入图像background = imopen(I,strel('disk',15)); % 图像开运算Ip = imdivide(I,background); % 图像除法运算imshow(Ip,[]) % 显示运算后的图像

I = imread('rice.png'); % 读入图像 J = imdivide(I,2); % 图像除以一个常数subplot(1,2,1), imshow(I) % 显示原始图像subplot(1,2,2), imshow(J) % 显示运算后的图像

I = imread('cameraman.tif'); % 读入图像J = imlincomb(2,I); % 灰度值放大imshow(J) % 显示运算后的图像

I = imread('cameraman.tif'); % 读入图像 J = uint8(filter2(fspecial('gaussian'), I)); % 图像滤波 K = imlincomb(1,I,-1,J,128); % K(r,c) = I(r,c) - J(r,c) + 128 % 图像相减后加上一个常数figure, imshow(K) % 显示运算后的图像

基于matlab数字图像处理与识别系统含程序

目录 第一章绪论 (2) 1.1 研究背景 (2) 1.2 人脸图像识别的应用前景 (3) 1.3 本文研究的问题 (4) 1.4 识别系统构成 (4) 1.5 论文的内容及组织 (5) 第二章图像处理的Matlab实现 (6) 2.1 Matlab简介 (6) 2.2 数字图像处理及过程 (6) 2.2.1图像处理的基本操作 (6) 2.2.2图像类型的转换 (7) 2.2.3图像增强 (7) 2.2.4边缘检测 (8) 2.3图像处理功能的Matlab实现实例 (8) 2.4 本章小结 (11) 第三章人脸图像识别计算机系统 (11) 3.1 引言 (11) 3.2系统基本机构 (12) 3.3 人脸检测定位算法 (13) 3.4 人脸图像的预处理 (18) 3.4.1 仿真系统中实现的人脸图像预处理方法 (19) 第四章基于直方图的人脸识别实现 (21) 4.1识别理论 (21) 4.2 人脸识别的matlab实现 (21) 4.3 本章小结 (22) 第五章总结 (22) 致谢 (23) 参考文献 (24) 附录 (25)

第一章绪论 本章提出了本文的研究背景及应用前景。首先阐述了人脸图像识别意义;然后介绍了人脸图像识别研究中存在的问题;接着介绍了自动人脸识别系统的一般框架构成;最后简要地介绍了本文的主要工作和章节结构。 1.1 研究背景 自70年代以来.随着人工智能技术的兴起.以及人类视觉研究的进展.人们逐渐对人脸图像的机器识别投入很大的热情,并形成了一个人脸图像识别研究领域,.这一领域除了它的重大理论价值外,也极具实用价值。 在进行人工智能的研究中,人们一直想做的事情就是让机器具有像人类一样的思考能力,以及识别事物、处理事物的能力,因此从解剖学、心理学、行为感知学等各个角度来探求人类的思维机制、以及感知事物、处理事物的机制,并努力将这些机制用于实践,如各种智能机器人的研制。人脸图像的机器识别研究就是在这种背景下兴起的,因为人们发现许多对于人类而言可以轻易做到的事情,而让机器来实现却很难,如人脸图像的识别,语音识别,自然语言理解等。如果能够开发出具有像人类一样的机器识别机制,就能够逐步地了解人类是如何存储信息,并进行处理的,从而最终了解人类的思维机制。 同时,进行人脸图像识别研究也具有很大的使用价依。如同人的指纹一样,人脸也具有唯一性,也可用来鉴别一个人的身份。现在己有实用的计算机自动指纹识别系统面世,并在安检等部门得到应用,但还没有通用成熟的人脸自动识别系统出现。人脸图像的自动识别系统较之指纹识别系统、DNA鉴定等更具方便性,因为它取样方便,可以不接触目标就进行识别,从而开发研究的实际意义更大。并且与指纹图像不同的是,人脸图像受很多因素的干扰:人脸表情的多样性;以及外在的成像过程中的光照,图像尺寸,旋转,姿势变化等。使得同一个人,

基本数字(精选)图像处理算法的matlab实现

基本数字图像处理算法的matlab实现 1.数字图像处理的简单介绍 所谓数字图像就是把传统图像的画面分割成为像素的小的离散点,各像素的灰度值也是用离散值来表示的。 数字图像处理是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。 2.图像的显示与运算 2.1图像的显示 Matlab显示语句 imshow(I,[lowhigh])%图像正常显示 I为要显示的图像矩阵。,[lowhigh]为指定显示灰度图像的灰度范围。高于high的像素被显示成白色;低于low的像素被显示成黑色;介于high和low之间的像素被按比例拉伸后显示为各种等级的灰色。 subplot(m,n,p) 打开一个有m行n列图像位置的窗口,并将焦点位于第p个位置上。 2.2图像的运算 灰度化将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。图像的灰度化处理可用两种方法来实现。

第一种方法使求出每个像素点的R、G、B三个分量的平均值,然后将这个平均值赋予给这个像素的三个分量。 第二种方法是根据YUV的颜色空间中,Y的分量的物理意义是点的亮度,由该值反映亮度等级,根据RGB和YUV颜色空间的变化关系可建立亮度Y与R、G、B三个颜色分量的对应:Y=0.3R+0.59G+0.11B,以这个亮度值表达图像的灰度值。 灰度是灰度级的函数,它表示图象中具有每种灰度级的象素的个数,反映图象中每种灰度出现的频率。 图像增强的目标是改进图片的质量,例如增加对比度,去掉模糊和噪声,修正几何畸变等;图像复原是在假定已知模糊或噪声的模型时,试图估计原图像的一种技术。 Matlab图像格式转换语句 rgb2gray(I) %从RGB图创建灰度图 imhist(I) %画灰度直方图 图像的线性变换 D B=f(D A)=f A*D A+f B Matlab源代码: I1=imread('F:\图片2.jpg'); subplot(2,2,1);imshow(I1);title('原图'); I2=rgb2gray(I1); %灰度化图像 subplot(2,2,2);imshow(I2);title('灰度化后图'); [M,N]=size(I2); subplot(2,2,3) [counts,x]=imhist(I2,60); %画灰度直方图 counts=counts/M/N; stem(x,counts);title('灰度直方图'); g=zeros(M,N);%图像增强

基于Matlab的遥感图像处理

基于Matlab的遥感图像处理 测绘工程1161641014 鲍家顺 摘要文章运用Matlab软件对遥感影像的不足之处进行处理改善,详细介绍了处理方法和处理的原理,对处理结果进行了比对分析,并进行了边缘检测与特征提取,论证了处理方法的可行性。 关键词图像处理;matlab ;均衡化;规定化;色彩平衡;边缘检测;特征提取 在获取遥感图像过程中,由于多种因素的影响,会导致图像质量的退化,为了改善图像质量,突出遥感图像中的某些信息,提高图像的视觉效果,需要对图像进行各方面的处理,如分段线形拉伸,对数变换,直方图规定化、正态化,图像滤波,纹理分析及目标检测等。通过图像处理可以去除图像中的噪声,增强感兴趣的目标和周围背景图像间的反差,有选择地突出便于人或电脑分析的信息,抑制一些无用的信息,强调出图像的边缘,增强图像的识别方便性,从而进行边缘检测和特征提取。图像写出函数,显示图像函数有image ( ) 、inshow ( ) 等。[2 ]Matlab 图像处理工具箱处理工具提供了imhist () 函数来计算和显示图像的直方图, 提供了直方图均衡化的函数histeq() 、边缘检测函数edge ( ) 、腐蚀函数imerode () 、膨胀函数imdilate () 及二值图像转换函数im2bw () 等。文中实验数据采用的是桂林市区灰度遥感图像,宽度为1024 像素,高度为713 像素。 文件读入: 讲workspace切入到图片所在图层: Cd d:\ 读入图片: [x,cmap]=imread('m.PNG'); %将图片读入转换为矩阵 clf;imshow(x); %显示图片 原始图片

图像处理的matlab实现

成绩: 数字图像处理实验报告实验二:图像处理的matlab的实现 学号:0967118225 姓名:洪旭浩 同组人: 电脑编号: 实验时间:2010年6月4日星期一

数字图像处理实验报告 一、实验名称 图像处理的matlab 的实现 二、实验目的 1、了解Matlab 及其工具箱的基本使用方法 2、掌握使用Matlab 打开各种图像文件的方法 3、掌握使用Matlab 进行简单图像处理的方法 三、实验平台 Windows XP,Matlab 7.8.0(R2009a) 四、实验内容 一、直方图均衡化 直方图均衡化处理可将图像的灰度范围拉开,让灰度直方图在较大的动态范围内趋于一致。用图像),(y x f 的直方图代替灰度的分布密度函数)(f p f ,则直方图均衡化后的图像g 为: ?==f f du u p f T g 0)(][对于数字图像,设原图像的像素总数为N,灰度级的个数为L,第k 个灰度级出现的频数为k n 。若原图像),(y x f 在像素点),(y x 处的灰度为k r ,则直方图均衡化后的图像),(y x g 在),(y x 处的灰度k s 为: ∑===k l l k k N n r T s 0][MATLAB 图像处理工具箱提供了用于直方图均衡化的函数histep。histep 函数的语法格式为: J=histep(I,hgram) J=histep(I,n) [J,T]=histep(I,…) newmap=histep(X,map,hgram) newmap=histep(X,map) [newmap,T]=histep(X,…) 其中J=histep(I,hgram)将原始图像I 的直方图变成用户指定的向量hgram,hgram 中的各元素值域为[0,1]。 J=histep(I,n)指定直方图均衡化后的灰度级数n,默认值为64。 [J,T]=histep(I,…)返回能将图像I 的灰度直方图变换成图像J 的直方图的变换T。 newmap=histep(X ,map ,hgram)、newmap=histep(X ,map)和[newmap ,T]=histep(X,…)是针对索引色图像调色板的直方图均衡化。 1、使用以上语句,实现选定图像的直方图均衡化; 2、修改部分参数,观察不同参数下直方图均衡化的变化规律;

基于MATLAB的图像处理的基本运算

基于MATLAB的图像处理的基本运算

————————————————————————————————作者:————————————————————————————————日期:

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 基于MATLAB的图像处理的基本运算 初始条件: 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)能够对图像亮度和对比度变化调整,并比较结果 (2)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的和旋转操作,并保存, 比较几种插值的效果 (3)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。 (4)对图像加入各种噪声,比较效果。 时间安排: 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要..................................................................................................................................................... - 2 -1 MATLAB简介 ................................................................................................................................... - 2 -2图像选择及变换.............................................................................................................................. - 3 -2.1 原始图像选择读取.................................................................................................................. - 3 - 2.1.1 原理图的读入与基本变换 ............................................................................................... - 3 - 2.1.2 程序源代码及调试结果 ................................................................................................... - 4 - 2.2 转换图像为灰阶图像.............................................................................................................. - 5 - 3 图像处理及代码程序 ..................................................................................................................... - 6 -3.1 图像亮度对比度调整.............................................................................................................. - 6 - 3.1.1 函数说明及参数选择....................................................................................................... - 6 - 3.1.2 源程序及运行结果........................................................................................................... - 6 -3.2 图像放大和缩小...................................................................................................................... - 7 - 3.2.1 函数说明及参数选择....................................................................................................... - 7 - 3.2.2 源程序及运行结果........................................................................................................... - 7 -3.3 图像任意角度的旋转.............................................................................................................. - 8 - 3.3.1 函数说明及参数旋转....................................................................................................... - 8 - 3.3.2 源程序及运行结果........................................................................................................... - 9 -3.4图像直方图统计和均衡........................................................................................................... - 9 - 3.4.1 函数说明及参数选择....................................................................................................... - 9 - 3.4.2 源程序及运行结果......................................................................................................... - 10 -3.5 图像加入噪声........................................................................................................................ - 11 - 3.5.1 函数说明及参数选择..................................................................................................... - 11 - 3.5.2 源程序及运行结果......................................................................................................... - 12 - 4 图像处理结果比较分析 ............................................................................................................... - 14 -4.1 调整对比度和亮度后图像比较 ............................................................................................ - 14 -4.2 图像放大缩小及旋转后比较 ................................................................................................ - 14 -4.3 进行直方图均衡后图像比较 ................................................................................................ - 1 5 -4.4加入各种噪声后图像比较 ..................................................................................................... - 1 6 -5感悟体会小结................................................................................................................................ - 16 -参考文献........................................................................................................................................... - 1 7 -

相关文档
最新文档