matlab与c混合编程的方法研究与实现 毕业论文

matlab与c混合编程的方法研究与实现 毕业论文

ID:353751

大小:826.00 KB

页数:25页

时间:2017-07-27

matlab与c混合编程的方法研究与实现  毕业论文_第1页
matlab与c混合编程的方法研究与实现  毕业论文_第2页
matlab与c混合编程的方法研究与实现  毕业论文_第3页
matlab与c混合编程的方法研究与实现  毕业论文_第4页
matlab与c混合编程的方法研究与实现  毕业论文_第5页
资源描述:

《matlab与c混合编程的方法研究与实现 毕业论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Matlab与C混合编程的方法研究与实现摘要:文章探讨了MATLAB与VC++的优缺点,介绍了VC++与Matlab混合编程的几种方法。通过二者的结合,既有效地利用了MATLAB强大的数值计算能力和众多的函数,大大减少程序设计的工作量,又继承了VC++良好的程序界面,证明是一种很好的程序设计方法。具体说明了如何应用Matlab引擎实现混合编程以及如何利用MATCOM进行MATLAB和VC++混合编程,并将两种方法用于数字图像处理。关键词:MATLAB;VC++;MATCOM;引擎;混合编程;图像处理一、引言1、数字图像处理简介:

2、图像技术由高到低分为三个层次:图像处理、图像分析和图像理解。图像处理是比较底层的操作,它主要在图像像素级上进行处理,处理的数据量非常大。数字图像处理最基本的目的就是改善图像,主要是按需要进行适当的变换突出某些有用的信息,去除或消弱无用的信息,如改变图像的对比度,去除噪声或强调边缘的处理等,其基本方法有:直方图修正、灰度变换、图像的频域特性、图像平滑、图像锐化等。直方图是图像的重要统计特征,是表示数字图像中每一灰度级与该灰度级出现的频率数间的统计关系。直方图能给出该图像的大致描述,如灰度范围、灰度级的分布、整幅图像的平均亮度等,但

3、它不能完整地描述一幅图像。通常用横坐标表示灰度级,纵坐标表示频数。通常一幅均匀量化的自然图像由于其灰度直方图分布集中在较窄的低值灰度区间,引起图像的细节看不清楚,为使图像变得清晰,我们可以通过变换使图像的灰度范围拉开或使灰度分布在动态范围内趋于均匀化,从而增加反差,使图像的细节清晰,达到图像增强的目的。灰度变换是图像增强的一种重要手段,它可以使图像动态范围加大,使图像对比度扩展,图像更加清晰,特征更加明显。灰度变换可分为线性、分段线性、非线性以及其他的灰度变换。线性灰度变换实际上使曝光不充分的图像中黑的部分更黑,白的部分更白,从

4、而提高对比度。图像中的边缘或者线条部分与图像频谱中的高频成分相对应,因此采用高通滤波的方法让高频分量顺利通过,使低频分量受到抑制,就可以增强高频的成分,使图像的边缘或者线条变得清晰,实现图像的锐化。图像的平滑主要目的是减少图像噪声,减少噪声的方法可以在空间域或者在频率域处理,即:在空间域中进行时,其基本方法是求像素的平均值或者中值;在频率域中则运用低通滤波技术。低通滤波,图像的噪声频谱一般位于空间频率较高的区域,而图像本身的频率分量则处于空间频率较低的区域内,因此可以通过低通滤波的方法,使高频成分受到抑制,而使低频成分顺利通过,

5、从而实现图像的平滑。2、混合编程在图像处理方面的应用Matlab是一种应用广泛的编程工具,语法简单函数丰富,具有优秀的图形显示功能及强大的人机交互能力。Matlab在图象处理方面更有着明显的优势:(a)它具有强大的矩阵运算功能,在进行一些简单的图象变换时可以避免很多烦琐的计算;(b)图形显示方便,有专门的灰度及彩色图象显示函数,甚至在调试过程中也能随时观察图形的变化;(c)带有丰富的图象处理函数库,如wavelettoolbox、imageprocessingtoolbox等。然而由于图象处理的针对性很强,而被处理的对象又千变万

6、化,不可避免地在用Matlab编程时会遇到一些其自带函数无法处理的问题,只能自己编程解决。这时便会遇到运算速度慢的问题,这是因为Matlab是一种解释性的编程语言,对程序读一句执行一句,虽然可以很方便地实现编程过程中的交互,但在执行时速度慢也根源于此,这一问题在程序做循环运算时显得尤为严重。C是Windows平台下主要的应用程序开发环境之一,它是一种面向对象的可视化编程语言,广泛用于图形与图像、网络与通信以及控制等领域。能方便实现软件开发,开发的程序文件小、执行速度快、实时性好,开发的系统具有接口友好、易维护和升级等优点。它已成

7、为操作系统、设备驱动程序和系统级平台类软件的最佳开发工具。但缺乏对大量数据处理与分析、数据可视化方面的能力。在工程计算方面,和Matlab相比编程显得复杂的多。如上所述,Matlab的优点在于图像处理方面,而C的优点在于可视化界面的编程。由于C与Matlab的各自特点,因此在Windows环境下实现两者的混合编程将是一种极为强大的编程手段,更加有效地发挥C与Matlab各自的优点,提高软件开发效率,使所开发的软件具有更高的性能,更大的应用范围,也可以为科学研究和工程技术提供更强的技术支持。本文将通过Matlab与C的混合编程实现

8、上述数字图像处理的基本工作。二、几种混合编程方式简介Matlab和C混合编程的思路:在C的集成开发环境下使用Matlab,可以利用Matlab的数学库将Matlab的程序编译为C编译器所能识别的源代码嵌入C的环境。也可用C的语法在C的环境里直接编写程序。不过,M

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。