文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发C/C++Visual C++ 实现数字化图像的分割
精品推荐
特别推荐
·C语言编程易犯毛病集合
·C语言编程常见问题解答(目录)
·C#程序开发中的常用函数汇总
·C/C++笔试、面试题目大汇总
·Beej的网络socket编程指南
·socket编程原理
·C语言的常用库函数使用方法分析及用途
·在C语言中如何处理时间和日期
·C++设计模式之Singleton
·VC++动态链接库编程之MFC扩展 DLL
·TCP/IP网络重复型服务器通信软件的设计
·DirectX游戏开发入门
·经典与现代的结合:在MFC中集成RAD .NET框架
·Windows API-GDI入门基础知识详解(2)
·Visual C++ 入门精解
·C#基础概念二十五问
·用C#实现pdf文件的完整性验证
·成为嵌入式程序员应知道的0x10个问题
·TCP/IP编程实现远程文件传输
·几个C#编程的小技巧
热点TOP10
·学生成绩管理系统实习
·C#编写的windows计算器-源代码
·socket编程原理
·飞机订票系统设计
·C/C++笔试、面试题目大汇总
·TCP/IP编程实现远程文件传输
·Visual C++ 实现数字化图像的分割
·C语言图形函数
·改编 的 C版 职工管理系统
·C语言的常用库函数使用方法分析及用途
·C#基础概念二十五问
·C#源码读取excel数据到程序中-SQL SERVER-到dataset中
·用C语言实现Ping程序功能
·C# GridView 排序及分页
·进程调度模拟程序
·Windows下C语言网络编程快速入门
·通讯录的源代码(用链表实现)
·DirectX游戏开发入门
·在Visual Studio.NET中使用Crystal Report(上)
·asp.net中调用javascript函数实现多功能日期控件示例

Visual C++ 实现数字化图像的分割

日期:2007年12月28日 作者: 查看:[大字体 中字体 小字体]


  一、前言

  用计算机进行数字图像处理的目的有两个,一是产生更适合人类视觉观察和识别的图像,二是希望计算机能够自动进行识别和理解图像。无论是为了何种目的,图像处理的关键一步是对包含有大量各式各样景物信息的图像进行分解。分解的最终结果就是图像被分成一些具有各种特征的最小成分,这些成分就称为图像的基元。产生这些基元的过程就是图像分割的过程。图像分割作为图像处理领域中极为重要的内容之一,是实现图像分析与理解的基础。从概念上来说,所谓图像分割就是按照一定的原则将一幅图像或景物分为若干个部分或子集的过程。目前图像处理系统中我们只能得到二维图像信息,因此只能进行图像分割而不是景物分割(景物是三维信息);图像分割也可以理解为将图像中有意义的特征区域或者需要应用的特征区域提取出来,这些特征区域可以是像素的灰度值、物体轮廓曲线、纹理特性等,也可以是空间频谱或直方图特征等。在图像中用来表示某一物体的区域,其特征都是相近或相同的,但是不同物体的区域之间,特征就会急剧变化。目前已经提出的图像分割方法很多,从分割依据的角度来看,图像的分割方法可以分为相似性分割和非连续性分割。相似性分割就是将具有同一灰度级或相同组织结构的像素聚集在一起,形成图像的不同区域;非连续性分割就是首先检测局部不连续性,然后将它们连接在一起形成边界,这些边界将图像分成不同的区域。由于不同种类的图像,不同的应用场合,需要提取的图像特征是不同的,当然对应的图像特征提取方法也就不同,因此并不存在一种普遍适应的最优方法。

  图像分割方法又可分为结构分割方法和非结构分割方法两大类。结构分割方法是根据图像的局部区域象素的特征来实现图像分割,如阈值分割、区域生长、边缘检测、纹理分析等,这些方法假定事先知道这些区域的特性,或者在处理过程中能够求得这些特性,从而能够寻找各种形态或研究各像素群。非结构分割法包括统计模式识别、神经网络方法或其它利用景物的先验知识实现的方法等等。这些内容由于专业性很强,就不在本文讨论内容中了,有兴趣的读者可以参考图像处理的专业书籍。总之,图像分割可以分为图像的边缘提取和图像的二值化二部分内容,下面我们首先来讨论一下各种常用的图像边缘提取的方法。

  二、图像边缘检测

  数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域十分重要的基础,是图像识别中提取图像特征的一个重要属性,图像理解和分析的第一步往往就是边缘检测,目前它以成为机器视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。物体的边缘是以图像的局部特征不连续的形式出现的,也就是指图像局部亮度变化最显著的部分,例如灰度值的突变、颜色的突变、纹理结构的突变等,同时物体的边缘也是不同区域的分界处。图像边缘有方向和幅度两个特性,通常沿边缘的走向灰度变化平缓,垂直于边缘走向的像素灰度变换剧烈,根据灰度变化的特点,可分为阶跃型、房顶型和凸缘型,如图一所示,这些变化对应图像中不同的景物。需要读者注意的是,实际分析中图像要复杂的多,图像边缘的灰度变化情况并不仅限于上述标准情况。

Visual C++ 实现数字化图像的分割(图一)
(a)阶跃型
Visual C++ 实现数字化图像的分割(图二)
(b) 房顶型
Visual C++ 实现数字化图像的分割(图三)
(c) 凸缘型

     图一 边缘灰度变换的几种类型

  由于边缘是图像上灰度变化最剧烈的地方,传统的边缘检测就是利用了这个特点,对图像各个像素点进行微分或求二阶微分来确定边缘像素点。一阶微分图像的峰值处对应着图像的边缘点;二阶微分图像的过零点处对应着图像的边缘点。根据数字图像的特点,处理图像过程中常采用差分来代替导数运算,对于图像的简单一阶导数运算,由于具有固定的方向性,只能检测特定方向的边缘,所以不具有普遍性。为了克服一阶导数的缺点,我们定义了图像的梯度为梯度算子为Visual C++ 实现数字化图像的分割(图四) ,它是图像处理中最常用的一阶微分算法,式子中Visual C++ 实现数字化图像的分割(图五) 表示图像的灰度值,图像梯度的最重要性质是梯度的方向是在图像灰度最大变化率上,它恰好可以放映出图像边缘上的灰度变化。

  图像边缘提取的常用梯度算子有Robert算子、Sobel算子、Prewitt算子、Krisch算子等。下面以边缘检测Sobel算子为例来讲述数字图像处理中边缘检测的实现:

  对于数字图像,可以用一阶差分代替一阶微分;

    △xf(x,y)=f(x,y)-f(x-1,y);
    △yf(x,y)=f(x,y)-f(x,y-1);

[1] [2] [3] [4] [5] [6] [7] 下一页 




上一篇:用Win32 API枚举应用程序窗口和进程

下一篇:C语言嵌入式系统编程修炼之内存操作

Visual C++ 实现数字化图像的分割 相关文章:
·Vista中硬盘分区合并分割全攻略
·如何实现局域网打印机共享
·TCP/IP编程实现远程文件传输
·Visual C++ 实现数字化图像的分割
·ASP.NET购物车的实现及结算处理
·一个Struts实现分页,增删改查,Tiles,国际化的DEMO
·javascript+xml实现二级下拉菜单,不会被任何标签或元素遮住
·用C语言实现Ping程序功能
·windows 2003服务器配置VPN实现各种网络环境VSS协同开发
·让Windows XP操作系统实现全速启动
Visual C++ 实现数字化图像的分割 相关软件:
·视频分割专家 V5.83
·Video Convert Master(转换,分割,合并视频)V8.0.5.20 汉化版
·Ultra RM Converter(Real文件转换分割,合并)V3.3.0916 汉化版
·Allok Video Splitter(视频文件分割)V2.2 0726 修正II版
·蓝光影音Mp3分割器 V1.60
·TCP-IP详解卷2:实现
·Super Video Splitter(视频分割工具)绿色汉化版 V3.9
·雅丁文件分割器V1.0
·cPicture LE(图像快速浏览)V1.6.9.4 简体中文版
·PE(*.EXE,*.DLL,*.OCX等)文件图像资源浏览器

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn