- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用 VISUAL BASIC 实现图像的锐化处理.doc
用 Visual Basic 实现图像的锐化处理
谭阳,裴亮
辽宁工程技术大学测绘与地理科学学院,辽宁阜新(123000)
E-mail:sunnycclucky@163.com
摘 要:本文介绍了一种实现图像锐化增强处理的原理,并在 Visual Basic 编程环境中实现。
关键词:图像;锐化;Visual Basic
1. 引 言
空间增强是有目的的突出图像上的某些特征,如突出边缘或线形地物;也可以有目的的
去除某些特性,如抑制图像上在获取和传输过程中所产生的各种噪声。空间增强的目的性很
强,处理后的图像从整体上看可能与原图像差异很大,但却突出了需要的信息或削弱了不需
要的信息,从而达到了增强的目的[1]。
为了突出边缘和轮廓,线状目标信息,可以采用锐化的方法。锐化可使图像上边缘与线
性目标的反差提高,因此也称为边缘增强。在本文中我将介绍一下对图像进行平滑和锐化的
原理,以及在 Visual Basic 中的实现。在 Visual Basic 中提供了较强的图形和图像的处理功
能,VB 通过使用颜色来进行对图像的处理,它可以获取像素的颜色,也可用颜色在窗体上
画点,对图像进行锐化处理的原理主要是从图像上获取某一像素的颜色,再对颜色进行模板
和卷积操作从而达到锐化的效果[2]。
2. 卷积运算
卷积运算是在空间域上对图像进行临域检测的运算。选定一个卷积函数,又称为“模板”
实际上是一个 M×N 的小图像,例如 3×3,5×7,7×7 等。图像的卷积运算是运用模板来实现
的[1]。
模板运算的方法是选定运算模板,其大小为 M×N。从图像的左上角开始,在图像上开
一个与模板同样大小的活动窗口 f(m,n),使图像窗口与模板像元的灰度值对应相乘再相加。
计算结果 g(i,j)作为窗口中心像元的新的灰度值。模板运算的公式为
M
m?1
N
n?1
3. 图像平滑和锐化的原理
3.1 常用的锐化模板
锐化滤波通过增强高频成分减少图像的模糊,因此又被称为高通滤波。微分求导运算即
为一种高通滤波,它只记录图像的变化,而不保留图像的能量,在一般的增强应用中,锐化
滤波可以通过组合微分滤波器和原图像得到。常用的微分算子是拉普斯算子,它是一个二维
二阶微分算子,而且无方向性,定义为:
2
? 2 f ( x, y)
?x 2
?
? 2 f ( x, y)
?y 2
3?? 3的拉普斯卷积模板为:
-1-
-1
-1
-1
-1 -1
9 -1
-1 -1
它相当于将原图像减去拉普斯运算的结果。应当注意的是锐化处理在增强图像边缘效果的同
时势必同时增加了图像的噪声。
3.2 颜色的获取和设置
获得图像上某一点的颜色值,可以用 Private Declare Function Getpixel Lib ”gdi320”
Alias”Getpixel” (ByVal hdc As Long , ByVal X As Long , By Val Y As Long ) As Long
其中 hdc 是指对象的设备上下文,对象是放图像的 Picture 控件(不能是 Image 控件)。X,
Y 是需获得颜色的点的位置。
用指定的颜色在窗体或图片框中画点,可以用 API 函数 SetPixel 函数,它的函数原型为
Private Declare Function Set pixel Lib ”gdi320” Alias ”SetPixel”(By Val hdc As Long, By Val
hdc X As Long, By Val y As Long, By, Val crColor As long) As Long
其中 hdc,X,Y 参数与 GetPixel 函数中的相同,crColor 画点所需的颜色。在使用这两
个函数之前,在窗体的公共声明部分要声明[3]。
4. 图像在 Visual Basic 中的实现
4.1 定义锐化函数
锐化函数可以在模块中的公共声明部分定义,并且为了存储模板矩阵定义一个数据类型
Matrix(矩阵)。
Public Type matrix
Items (-1To1,-1To1) As Integer
End Type
再在模块中定义三个函数,Getrvalue,Getgvalue,Getbvalue,分别用于获得某颜色的 RGB
三个颜色分量。
Public Function getrvalue (color As Long) As Integer
Getrvalur = color Mod 256
‘获取颜色值的红色分量
End Function
Public Function getgvalue (colorAsLong) As Integer
Getgvalu
您可能关注的文档
最近下载
- 2022年海南省自贸港政策知识竞赛考试题库集(含答案).pdf VIP
- 乙醚安全技术说明书(MSDS).pdf VIP
- 2025年医学课件-流式细胞术原理及在中医药研究中应用简介.pptx VIP
- 天梭TTOUCH触屏表使用说明书_中文.pdf VIP
- 电工基础(第2版)课件:电路基本元件及其伏安特性.pptx VIP
- 传感器原理及应用技术(第2版)全套PPT课件.pptx
- 日常生活能力量表(ADL)量表.docx VIP
- GB14881-2025食品安全国家标准培训大纲.pptx VIP
- 消防继续教育题目和答案(完整版).docx VIP
- 附件大连民族大学校院两级财务管理办法-大连民族大学教务处.doc VIP
文档评论(0)