彩色图像的边缘检测处理程序设计(6)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

彩色图像的边缘检测处理程序设计(6)


尽管人们很早就提出了边缘检测的概念,多年来研究出了很多成果,但由于边缘检测本身所具有的难度,使得研究没有多大的突破性进展。仍然存在两个问题:一、是没有一种普遍使用的检测算法;二、没有一个好的通用的检测评价标准。
现有的主要的边缘检测算法包括基于一阶导数的边缘检测算子roberts 算子、sobel 算子、prewitt 算子、log算子 、和canny算子等。和基于二阶导数的边缘检测算子:拉普拉斯算子、拉普拉斯-高斯边缘检测算子(LOG算子)等。
由于实际图像中的边缘是多种边缘类型的组合,加上有外界环境噪声的干扰, 造成了边缘检测成为数字图像处理中的一个重要难题。边缘存在于图像的不平稳现象和不规则结构中,即存在于信号的突变点处,这些突变点的结合组成了图像轮廓的位置,这些轮廓又是图像边缘检测时所需要的极其重要的特征条件,这也就是需要对一幅图像检测并提取出它的边缘意义所在。边缘检测算法是图像边缘检测问题中技术难题之一,边缘检测算法对进行图片高层次的特征描述、识别等有很大的意义。至今许多学者仍在致力于研究和解决如何构造出具有良好的性质,较高的检测效率通用性强的边缘检测算子的问题。
1.4    C#图像处理基础
1.4.1    C#特点
C#是由微软公司所开发的一种面向对象,且运行于.NET Framework之上的高级程序设计语言。C#看似基于C++写成,但又融入其他语言如:Delphi、 Java、VisualBasic等。
微软公司开发C#的初衷及C#的特点如下:
C#旨在设计成为一种简单、现代、通用以及面向对象的程序设计语言。
C#语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组文数检查、未初始化的变量引用检测、自动垃圾收集(一种自动内存释放技术),软件必须做到强大、持久,并具有较强的编程能力。
C#语言应在分布式环境中的开发提供适用的组件开发应用。
为使人容易迁移到C#语言,源代码的可移植性十分重要,尤其是对于那些已熟悉C和C++的人而言。
对国际化的支持非常重要。
最重要的一点,C#程序在存储和操作能力需求方面具有很好的经济性。而且,C#从使用复杂操作系统的大型系统到特定应用的小型系统均适用。
综上,C#易学性强,应用简单方便,融合了多种语言,安全性高。
C#并不被变异成为能够直接在计算机上执行的二进制本地代码。与Java类似,它被编译成为中间代码,然后通过.NET Framework的虚拟机执行。所有的.NET编程语言都被编译成这种被称为MSIL的中间的代码。因此,虽然最终的程序在表面上仍然与传统意义上的可执行文件都具有“.exe”的后缀名。但实际上,如果计算机上没有安装.NET Framework,那么这些程序将不能被执行。在程序执行时,.NET Framework将中间代码翻译成为二进制机器码,从而使它得到正确的运行。最终的二进制代码被存储在一个缓冲区。所以一旦程序使用了相同的代码,那么将会调用缓冲区中的版本。这样,如果一个.NET 程序第二次被运行,那么这种编译不需要进行第二次,速度明显加快。
C#的文件实用性较强,编译运行产生的结果大都可以用到实际的工作中,是偏向于实践操作的工具,易用、易操作。
1.4.2    WinForm与GDI+编程
WinForm是.NET平台开发中对Windows Form的一种称谓。.NET为开发WinForm的应用程序提供了丰富的类库。这些Winform类库支持RAD(快速应用程序开发),它们被封装在一个命名空间之中,这个命名空间就是System.Windows.Forms。在该命名空间中定义了许多类,在开发基于.NET的GUI应用程序的时候,就是通过继承和扩展这些类才使得程序有着多样的用户的界面。 (责任编辑:qin)