灰度图像基本处理及实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 2
一图像中 , 形象直观 . 我们在色阶处理中自动将灰 度直方图显示在弹出界面上, 便于用户根据显示 的数据进行分析处理 . 并且, 为了方便进行二值化 处理 , 添 加了预 览功能 , 以 及恢复 功能 ( 取消功 能) . 具体实现上, 系统先将图像中的像素点提取 出来 , 并进行保存, 再根据不同的需要对象素值进 行编辑处理 , 最后再将处理完的数据反映在用户 界面上 . 通过采用大量的不同画制的图片进行测 试后, 图片处理的主要功能及打开关闭和恢复功 能均能在多数情况下正常完成. 但图像的平滑处 理中, 当白色与其它不同灰度级相邻的象素进行 平滑时, 若反差较大 , 即边缘尖锐 , 则会出现不同 程度的失真情况. 这个问题是这个系统暂时无法 解决的. 该软件可实现其预期提供的一些功能, 但 还需进行完善 , 如图像的平滑处理中, 如何做到不 失真, 以及在锐化过程中利用其它微分算子时会 产生哪些效果及应用 , 另外, 如何扩展系统可处理 的图像类型, 来进一步扩展软件的应用范围 , 提高 处理图像的能力, 也可以做进一步的研究设计. 很 希望能得到各位老师、 专家的批评和指正.
度值的像素数的图形叫做灰度值直方图 ( 简称直 方图 ) . 直方图是表达图像灰度级分布情况的统计 表, 但直方图不提示像素的具体位置. 一般用横坐 标表示灰度, 纵坐标视图像的类型而定 ( 连续的图 像信号中 , 它表示灰度值出现的概率密度; 数字图 像信号中 , 它表示某一灰度值的像素个数) . 1. 2 二值图像处理 二值图像 ( Binary Image) 是指整幅图像画面 内仅黑( 灰度值为 0) 白 ( 灰度值为 1) 二值的图像, 如文字图像、 进行掌纹识别的掌纹图像 . 二值化后 的图像能够用几何学中的概念进行分析和特征描 述. 因此, 在某些情况下如对掌纹或其他人体特征 进行分割或识别的时候 , 就设法使灰度图像变成 二值图像再进行处理 ( 称为灰度图像的二值化 ) . 二值图像处理目前已成为图像处理中的一个独立 的 重要分支而获得广泛的应用. 因此我们的系 统中必然加入二值化图像的功能. 具体实现时, 图像二值化可根据有标尺值( 用 户可操控 ) 确定的阈值, 将大于阈值的像素置为白 色, 反之为黑色 ( 这种方法称为阈值处理也有人称 之为窗口操作 ) . 1; f ( i , j ) t 时 0; f ( i , j ) < t 时 确定 t 的方法叫做阈值选择. 确定 t 值的方 f 1( i , j ) = 法有 p 参数法、 状态法、 微分直方图法等 . 本系统 采用的是第三种方法 . 这里采用的离散灰度变换 方法的关键代码如下 :
灰度 图像基 本处 理及 实现
刘晓乐, 王素华
( 东北师范大学 计算机学院 , 吉林 长春 130117)
摘要 : 这是一套关于灰度图像处理的简易系统 , 尝试实 现了对 灰度图 像的色阶 处理、 平滑 处理、 锐化处 理、 反相处理 及灰度调整等功能 . 设计了一套方便使 用、 针 对性强 的灰度图 像处理 软件并 给出了 相应的 算子和数学摸拟实现 . 相较其它的图像处理软件而言 , 该系统 所占空 间非常 小 , 却 方便实 现了图 像处理 中的一些基本应用 , 因此可将该系统作为插件修改或添加到其它图像软件中 , 实现图像识别或 模式匹配 的预处理功能 . 关 键 词 : 二值图像 ; 阈值 ; 平滑 ; 锐化 文献标识码 : A 中图分类号 : T P 391. 41
F
2
2
x y 称为拉普拉斯 算子, 拉 普拉斯算子
+源自文库
F
2
也具有各向同性的特性 . 本系统分别利用两种算 子的化简式来对图像进行锐化处理 , 相比较起来, 利用拉普拉斯算子处理会得到更为清楚的结果. 在系统中 , 拉普拉斯锐化方法的实现如下: F or x= 1 T o w 2 F or y= 1 T o h 2 pp= 4* getin( x, y) getin( x+ 1, y 1) get in( x 1, y+ 1) get in( x + 1, y+ 1) getin( x 1, y 1) Picture1. P Set ( x, y) , pp Next y Next x 由于灰度图像的反相功能可简单地利用开发 语言中的反相显示参数完成, 熟悉 Visual Basic 语言 的人可以很容易地了解到 , 因此在这里不再赘述.
1
图像色阶处理
为了实现色阶处理的功能 , 首先根据读取的
数字图像, 按某一灰度级内的象元频数 ( 或个数) 画出图片框中图像的灰度直方图, 再利用标尺的 VALUE 属性 ( 即标尺的刻度值 , 该值可由变量 承接, 以实现对像素值的判断 ) , 进而对图像进行 二值化处理( 使图像变为单色图像 ) . 因此, 首先要 引进灰度直方图的概念. 1. 1 灰度直方图 对应于每个灰度值、 求出在图像中具有该灰
参考文献:
[ 1] [ 2] [ 3] [ 4] [ 5] [ 6] 晶辰工作室 . 最流行图像格式实用参考手册 [ M ] . 北 京 : 电子工业出版社 , 1998. 11- 24. 刘传憬 , 黄 煜 . 多格式图像程序设计入门 [ M ] . 北京 : 人民邮电出版社 , 1995. 118- 146. 陈晓明 . 实 用图像 分析与 处理技 术 [ M ] . 北京 : 电 子 工业出版社 . 田村秀 行 , 坂田 俊 , 赫荣 威 , 等 . 计 算机 图像 处理 技 术 [ M ] . 北京 : 北京师范大学出版社 , 1986. 10- 26. 姚家奕 , 姜 万录 . 计算 机图像技 术及其 应用 [ M ] . 北 京 : 国防工业出版社 , 1998. 3. 崔屹 . 数字 图像处 理技术 与应用 [ M ] . 北京 : 电子 工 业出版社 , 1997.
f y 矢量 G ( x , y ) 指向函数 f ( x , y ) 最大率的方向; 也可说是对图像中变化明显的边缘曲线求导的方 法。对数字图像而言 , 微分运算一般用差分来代 替。利用差分运算时 , 图像的最后一行和最后一 列的像素的梯度无法求得 , 一般用前一行或前一 列的梯度值近似代替。梯度算出后, 可有多种方 法产生不同的梯度增强图像。经过实验应用选择 如下形式的差分运算 能得到更高质 量的锐化效 果。代码如下 : F or x= 0 T o w 2 F or y= 0 T o h 2
Form1. Picture1. PSet ( i, j) , RGB( 0, 0, 0)
2
图像平滑处理
图像信号在传输过程中的各种干扰及信号统
3
图像锐化处理
在图像的判断和识别中, 会需要边缘鲜明的
计噪声都会使图像质量下降, 使原本均匀、 连续变 化的灰度突然改变, 形成虚假的物体边缘或轮廓. 抑制或消除这类噪声而改善图像质量的过程称为 对图像的平滑过程 . 平滑的原理就是用某一像素 邻域内各点灰度级的平均值来代替该像素的灰度 级. 这种方法可在空间域上对图像的灰度级进行 平滑运算 . 平滑的具体方法有以下两种 : 2. 1 邻域平均法 在邻域平均法中, 假设图像是由许多灰度恒 定的小块组成, 假设原图像为 f ( x , y ) , 点集的变 化域 S 为相邻 4 个点. 那么, 平滑后中心点( x , y ) 的灰度值由下式决定 : f ( x , y ) = [ f ( x - 1, y - 1) + f ( x + 1, y - 1) + f ( x - 1 , y + 1 ) + f ( x + 1, y + )] / 4 即取 4 个邻域像素灰度值平均值为平滑后中 心点像素的灰度值 . 如果平滑沿水平和垂直方向 逐点移动 , 这样就平滑了整幅图像 . 2. 2 固定加权 9 点平滑 当然 , 在要求比较严格的图像处理中, 往往应 用复杂一点的平滑方法, 比如利用模版 ( 空间平滑 滤波器 ) 平滑图像的方法, f ( x , y ) 代表邻域 S 内 的中心像素, 即要平滑的像素 . f ( x , y ) 为该点平 滑后的灰度值. f (x,y) =
收稿日期 : 2005- 03- 09 作者简介 : 刘晓乐 ( 1980 ) , 女 , 吉林长春人 , 东北师范大学在读硕士 , 主要从事计算机软 件与理论方面的研究 .
第2期
刘晓乐 , 等 : 灰度图像基本处理及实现
51
If Check1. Value = Checked T hen F or i = 0 T o w F or j = 0 T o h If getin( i, j) Else Form1. P icture1. PSet ( i, j) , RGB( 255, 255, 255) End If Next j Next i End If 1 1 Slider1. Value per T hen
*
像噪声方差降低 M 倍, 因此提高图像质量. 但原 理较复杂 , 计算量大 , 且这种平滑降低了图像清晰 度, 越大的窗口平滑效果越好 , 也越失算. 这两种 平滑方法都有很广的应用领域 , 根据不同的目的, 可选择不同的平滑方法 . 由于希望尽量减小系统 所占空间 , 故此处只用了 4 邻域无权值的平滑滤 波器 . 该实现的关键代码如下 : F or i= 1 T o w 2 F or j= 1 T o h 2 pix= ( get inn( i 1, j 1) + getinn ( i 1, j + 1) + get inn( i+ 1, j 1) + get inn( i+ 1, j+ 1) \ 4 Picturel PSet ( i, j) , pix Next j Next i
随着计算机技术的不断发展以及各种软件与 操作平台的不断更新 , 出现了以位图格式和矢量 格式为代表的许多种图像格式 . 如照片、 数字化的 视频图像等. 在图像处理技术中, 要比较准确地表 达图像的真实视觉效果, 经常需要使用灰度, 这种 图像常被称为灰度图像 . 下面的尝试就是建立在 将灰度图像记录为真正的灰度级的基础之上的. 对于灰度级图像 , 利用位图格式进行描述时, 这些 位内容即代表颜色号 , 通常用 0 表示黑色, 用最高 位( 8 位像素时为 255) 表示白色, 而中间值则代表 灰度级别. 本文研究对象选定了八位灰度位图格 式. 本系统将对色阶处理、 反相、 平滑、 锐化及灰度 调整等一些图像处理技术进行浅显的尝试 . 下面 的内容将按照系统的功能逐项进行介绍 .
i, j S
图像. 图像尖锐化技术 ( 锐化处理 ) 常用来对图像 的边缘进行增强. 图像中的边缘是由灰度级和邻 域点不同的像素点构成的 , 边缘与轮廓一般位于 灰度突变的地方, 因而用微分运算锐化图像 ; 而且 这种变化常常具有任意方向, 因而要挑选那些不 具备空间方向性的和具有旋转不变的线性微分算 子, 如梯度算子、 拉普拉斯算子和其他一些相关算 子. 3. 1 梯度算子 图像处理中最常用的微分方法是求梯度. 对 于图像 f ( x , y ) , 它在点 ( x , y ) 处的梯度定义为 : G( x , y) = f x
w ( i, j ) 、 f (i,j)
9 点平滑取窗口为 3 ! 3. 以上两种方法中 , 第 一项平滑结果接受于原始图像灰度级 , 实现方法 简单 , 原理更容易理解. 而第二项平滑结果 , 使图
52
吉
林
化
工
学
院
学
报
2005 年
pp= Abs( g et in ( x , y) get in( x + 1, y + 1) ) + Abs( getin( x+ 1, y) getin( x , y+ 1) ) Picture1. P Set ( x, y) , pp Next y Next x 3. 2 拉普拉斯算子 对于一个连续的二元函数 F ( x, y) 其拉普拉 斯算子定义为: ! 2F ( x , y ) = 其中 !
第 22 卷 第 2 期 2005 年 4 月
吉 林 化 工 学 院 学 报 JOU R NA L O F J ILIN IN STITU TE OF CHEM ICA L T ECHN O LOG Y
V ol. 22 N o. 2 A pr. 2005
文章编号 : 1007 2853( 2005) 02 0050 03
一图像中 , 形象直观 . 我们在色阶处理中自动将灰 度直方图显示在弹出界面上, 便于用户根据显示 的数据进行分析处理 . 并且, 为了方便进行二值化 处理 , 添 加了预 览功能 , 以 及恢复 功能 ( 取消功 能) . 具体实现上, 系统先将图像中的像素点提取 出来 , 并进行保存, 再根据不同的需要对象素值进 行编辑处理 , 最后再将处理完的数据反映在用户 界面上 . 通过采用大量的不同画制的图片进行测 试后, 图片处理的主要功能及打开关闭和恢复功 能均能在多数情况下正常完成. 但图像的平滑处 理中, 当白色与其它不同灰度级相邻的象素进行 平滑时, 若反差较大 , 即边缘尖锐 , 则会出现不同 程度的失真情况. 这个问题是这个系统暂时无法 解决的. 该软件可实现其预期提供的一些功能, 但 还需进行完善 , 如图像的平滑处理中, 如何做到不 失真, 以及在锐化过程中利用其它微分算子时会 产生哪些效果及应用 , 另外, 如何扩展系统可处理 的图像类型, 来进一步扩展软件的应用范围 , 提高 处理图像的能力, 也可以做进一步的研究设计. 很 希望能得到各位老师、 专家的批评和指正.
度值的像素数的图形叫做灰度值直方图 ( 简称直 方图 ) . 直方图是表达图像灰度级分布情况的统计 表, 但直方图不提示像素的具体位置. 一般用横坐 标表示灰度, 纵坐标视图像的类型而定 ( 连续的图 像信号中 , 它表示灰度值出现的概率密度; 数字图 像信号中 , 它表示某一灰度值的像素个数) . 1. 2 二值图像处理 二值图像 ( Binary Image) 是指整幅图像画面 内仅黑( 灰度值为 0) 白 ( 灰度值为 1) 二值的图像, 如文字图像、 进行掌纹识别的掌纹图像 . 二值化后 的图像能够用几何学中的概念进行分析和特征描 述. 因此, 在某些情况下如对掌纹或其他人体特征 进行分割或识别的时候 , 就设法使灰度图像变成 二值图像再进行处理 ( 称为灰度图像的二值化 ) . 二值图像处理目前已成为图像处理中的一个独立 的 重要分支而获得广泛的应用. 因此我们的系 统中必然加入二值化图像的功能. 具体实现时, 图像二值化可根据有标尺值( 用 户可操控 ) 确定的阈值, 将大于阈值的像素置为白 色, 反之为黑色 ( 这种方法称为阈值处理也有人称 之为窗口操作 ) . 1; f ( i , j ) t 时 0; f ( i , j ) < t 时 确定 t 的方法叫做阈值选择. 确定 t 值的方 f 1( i , j ) = 法有 p 参数法、 状态法、 微分直方图法等 . 本系统 采用的是第三种方法 . 这里采用的离散灰度变换 方法的关键代码如下 :
灰度 图像基 本处 理及 实现
刘晓乐, 王素华
( 东北师范大学 计算机学院 , 吉林 长春 130117)
摘要 : 这是一套关于灰度图像处理的简易系统 , 尝试实 现了对 灰度图 像的色阶 处理、 平滑 处理、 锐化处 理、 反相处理 及灰度调整等功能 . 设计了一套方便使 用、 针 对性强 的灰度图 像处理 软件并 给出了 相应的 算子和数学摸拟实现 . 相较其它的图像处理软件而言 , 该系统 所占空 间非常 小 , 却 方便实 现了图 像处理 中的一些基本应用 , 因此可将该系统作为插件修改或添加到其它图像软件中 , 实现图像识别或 模式匹配 的预处理功能 . 关 键 词 : 二值图像 ; 阈值 ; 平滑 ; 锐化 文献标识码 : A 中图分类号 : T P 391. 41
F
2
2
x y 称为拉普拉斯 算子, 拉 普拉斯算子
+源自文库
F
2
也具有各向同性的特性 . 本系统分别利用两种算 子的化简式来对图像进行锐化处理 , 相比较起来, 利用拉普拉斯算子处理会得到更为清楚的结果. 在系统中 , 拉普拉斯锐化方法的实现如下: F or x= 1 T o w 2 F or y= 1 T o h 2 pp= 4* getin( x, y) getin( x+ 1, y 1) get in( x 1, y+ 1) get in( x + 1, y+ 1) getin( x 1, y 1) Picture1. P Set ( x, y) , pp Next y Next x 由于灰度图像的反相功能可简单地利用开发 语言中的反相显示参数完成, 熟悉 Visual Basic 语言 的人可以很容易地了解到 , 因此在这里不再赘述.
1
图像色阶处理
为了实现色阶处理的功能 , 首先根据读取的
数字图像, 按某一灰度级内的象元频数 ( 或个数) 画出图片框中图像的灰度直方图, 再利用标尺的 VALUE 属性 ( 即标尺的刻度值 , 该值可由变量 承接, 以实现对像素值的判断 ) , 进而对图像进行 二值化处理( 使图像变为单色图像 ) . 因此, 首先要 引进灰度直方图的概念. 1. 1 灰度直方图 对应于每个灰度值、 求出在图像中具有该灰
参考文献:
[ 1] [ 2] [ 3] [ 4] [ 5] [ 6] 晶辰工作室 . 最流行图像格式实用参考手册 [ M ] . 北 京 : 电子工业出版社 , 1998. 11- 24. 刘传憬 , 黄 煜 . 多格式图像程序设计入门 [ M ] . 北京 : 人民邮电出版社 , 1995. 118- 146. 陈晓明 . 实 用图像 分析与 处理技 术 [ M ] . 北京 : 电 子 工业出版社 . 田村秀 行 , 坂田 俊 , 赫荣 威 , 等 . 计 算机 图像 处理 技 术 [ M ] . 北京 : 北京师范大学出版社 , 1986. 10- 26. 姚家奕 , 姜 万录 . 计算 机图像技 术及其 应用 [ M ] . 北 京 : 国防工业出版社 , 1998. 3. 崔屹 . 数字 图像处 理技术 与应用 [ M ] . 北京 : 电子 工 业出版社 , 1997.
f y 矢量 G ( x , y ) 指向函数 f ( x , y ) 最大率的方向; 也可说是对图像中变化明显的边缘曲线求导的方 法。对数字图像而言 , 微分运算一般用差分来代 替。利用差分运算时 , 图像的最后一行和最后一 列的像素的梯度无法求得 , 一般用前一行或前一 列的梯度值近似代替。梯度算出后, 可有多种方 法产生不同的梯度增强图像。经过实验应用选择 如下形式的差分运算 能得到更高质 量的锐化效 果。代码如下 : F or x= 0 T o w 2 F or y= 0 T o h 2
Form1. Picture1. PSet ( i, j) , RGB( 0, 0, 0)
2
图像平滑处理
图像信号在传输过程中的各种干扰及信号统
3
图像锐化处理
在图像的判断和识别中, 会需要边缘鲜明的
计噪声都会使图像质量下降, 使原本均匀、 连续变 化的灰度突然改变, 形成虚假的物体边缘或轮廓. 抑制或消除这类噪声而改善图像质量的过程称为 对图像的平滑过程 . 平滑的原理就是用某一像素 邻域内各点灰度级的平均值来代替该像素的灰度 级. 这种方法可在空间域上对图像的灰度级进行 平滑运算 . 平滑的具体方法有以下两种 : 2. 1 邻域平均法 在邻域平均法中, 假设图像是由许多灰度恒 定的小块组成, 假设原图像为 f ( x , y ) , 点集的变 化域 S 为相邻 4 个点. 那么, 平滑后中心点( x , y ) 的灰度值由下式决定 : f ( x , y ) = [ f ( x - 1, y - 1) + f ( x + 1, y - 1) + f ( x - 1 , y + 1 ) + f ( x + 1, y + )] / 4 即取 4 个邻域像素灰度值平均值为平滑后中 心点像素的灰度值 . 如果平滑沿水平和垂直方向 逐点移动 , 这样就平滑了整幅图像 . 2. 2 固定加权 9 点平滑 当然 , 在要求比较严格的图像处理中, 往往应 用复杂一点的平滑方法, 比如利用模版 ( 空间平滑 滤波器 ) 平滑图像的方法, f ( x , y ) 代表邻域 S 内 的中心像素, 即要平滑的像素 . f ( x , y ) 为该点平 滑后的灰度值. f (x,y) =
收稿日期 : 2005- 03- 09 作者简介 : 刘晓乐 ( 1980 ) , 女 , 吉林长春人 , 东北师范大学在读硕士 , 主要从事计算机软 件与理论方面的研究 .
第2期
刘晓乐 , 等 : 灰度图像基本处理及实现
51
If Check1. Value = Checked T hen F or i = 0 T o w F or j = 0 T o h If getin( i, j) Else Form1. P icture1. PSet ( i, j) , RGB( 255, 255, 255) End If Next j Next i End If 1 1 Slider1. Value per T hen
*
像噪声方差降低 M 倍, 因此提高图像质量. 但原 理较复杂 , 计算量大 , 且这种平滑降低了图像清晰 度, 越大的窗口平滑效果越好 , 也越失算. 这两种 平滑方法都有很广的应用领域 , 根据不同的目的, 可选择不同的平滑方法 . 由于希望尽量减小系统 所占空间 , 故此处只用了 4 邻域无权值的平滑滤 波器 . 该实现的关键代码如下 : F or i= 1 T o w 2 F or j= 1 T o h 2 pix= ( get inn( i 1, j 1) + getinn ( i 1, j + 1) + get inn( i+ 1, j 1) + get inn( i+ 1, j+ 1) \ 4 Picturel PSet ( i, j) , pix Next j Next i
随着计算机技术的不断发展以及各种软件与 操作平台的不断更新 , 出现了以位图格式和矢量 格式为代表的许多种图像格式 . 如照片、 数字化的 视频图像等. 在图像处理技术中, 要比较准确地表 达图像的真实视觉效果, 经常需要使用灰度, 这种 图像常被称为灰度图像 . 下面的尝试就是建立在 将灰度图像记录为真正的灰度级的基础之上的. 对于灰度级图像 , 利用位图格式进行描述时, 这些 位内容即代表颜色号 , 通常用 0 表示黑色, 用最高 位( 8 位像素时为 255) 表示白色, 而中间值则代表 灰度级别. 本文研究对象选定了八位灰度位图格 式. 本系统将对色阶处理、 反相、 平滑、 锐化及灰度 调整等一些图像处理技术进行浅显的尝试 . 下面 的内容将按照系统的功能逐项进行介绍 .
i, j S
图像. 图像尖锐化技术 ( 锐化处理 ) 常用来对图像 的边缘进行增强. 图像中的边缘是由灰度级和邻 域点不同的像素点构成的 , 边缘与轮廓一般位于 灰度突变的地方, 因而用微分运算锐化图像 ; 而且 这种变化常常具有任意方向, 因而要挑选那些不 具备空间方向性的和具有旋转不变的线性微分算 子, 如梯度算子、 拉普拉斯算子和其他一些相关算 子. 3. 1 梯度算子 图像处理中最常用的微分方法是求梯度. 对 于图像 f ( x , y ) , 它在点 ( x , y ) 处的梯度定义为 : G( x , y) = f x
w ( i, j ) 、 f (i,j)
9 点平滑取窗口为 3 ! 3. 以上两种方法中 , 第 一项平滑结果接受于原始图像灰度级 , 实现方法 简单 , 原理更容易理解. 而第二项平滑结果 , 使图
52
吉
林
化
工
学
院
学
报
2005 年
pp= Abs( g et in ( x , y) get in( x + 1, y + 1) ) + Abs( getin( x+ 1, y) getin( x , y+ 1) ) Picture1. P Set ( x, y) , pp Next y Next x 3. 2 拉普拉斯算子 对于一个连续的二元函数 F ( x, y) 其拉普拉 斯算子定义为: ! 2F ( x , y ) = 其中 !
第 22 卷 第 2 期 2005 年 4 月
吉 林 化 工 学 院 学 报 JOU R NA L O F J ILIN IN STITU TE OF CHEM ICA L T ECHN O LOG Y
V ol. 22 N o. 2 A pr. 2005
文章编号 : 1007 2853( 2005) 02 0050 03