一种有效的二值图像细化算法

合集下载

二值图像的细化算法

二值图像的细化算法

二值图像的细化算法摘要:二值图像是只有黑白两种颜色的图像,二值图像的细化是讨论将一个图像中的黑色部分沿着它的中心轴线将其细化为一个像素宽的线条的处理过程,细化的结果能基本保留图形中黑色部分的拓扑结构。

介绍了一个二值图像的细化算法,思想是从原图像的边界逐层消除黑色像素点,但同时保持黑色部分的连通性,直到最后得到细化结果。

关键词:二值图像;细化;连通性;边界点;连通点0引言在计算机领域,图像处理的问题越来越成为重要的一部分,因为现在的数据交流,已不再是简单的数值,而是更多地转换到大量的图片和影音图像上来。

所以一个个的图像处理的问题就摆在了我们的面前。

但形形色色的图像处理的算法,通过抽象处理,都是可以归结为一些简单的处理。

比如多颜色的处理,可以先从两个颜色的情况开始,再进行展开。

二值图像的细化就是这些简单处理中的一个问题。

二值图像就是只有黑白两种颜色构成的图像,二值图像的细化就是将图像中的黑色部分沿着它的中心轴线将其细化为一个象素宽的线条的处理过程。

二值图像的细化在计算机的图像处理领域有重要的意义,它其实是显示了整个图像的一个拓扑结构,它在一些模式识别,点阵图形的矢量化等方面有很好的作用。

1二值图像的细化的分析首先,对二值图像进行设定。

这里假定二值图像以白色为底,细化黑色部分,且给出的黑色部分的图像为连通的。

这样,对任意的黑色图像,必定存在一个合适的n为正整数,使得它在以白色为底的2n×2n的正方形内。

由于假定黑色图像的连通性,则二值图像的细化处理后的图像必定是连通的。

为了便于处理,设计了一个256×256的正方形作为处理二值图像的区域,且在初始的作图中保证黑色部分图像的连通性。

其次,对边界点、连通点、连通单位等进行说明。

边界点就是黑色图像区域内与白色图像区域接触的黑色像素,这接触判断是考虑这点对应的上、下、左、右4个方向的4点是否存在白色像素。

连通点就是若此点去掉的话,黑色图像区域会失去连通性,具体判断要考虑该点的8个方向的像素的颜色值。

采用PCNN模板的二值指纹图像改进细化算法

采用PCNN模板的二值指纹图像改进细化算法

En i e rn n piain 。 0 0, 6 1 : 6 — 7 . gn e ig a d Ap l t s 2 1 4 ( 7) 1 9 1 0 c o
Ab t a t T e e S sr c : h r i mu h ru l i t i n n ag rt m a e o t d t n l CNN, u h s o t i n n t n p x l b e k n c t b e n h n i g lo i b s d n r i o a P o h a i s c a n t h n ig O o e ie , r a i g t e c n e t i f r g g n r t g s i e n S o . r e o o e c me t e e d s d a t g s a mp o e i ay f g r r t i h o n ci t o i e, e e a i p k s a d O nI o d r t v r o h s ia v n a e , n i r v d b n r n e p i m— vy d n n i n a e hn i g lo i m b s d n a al l a a i t o CNN s r p s d B a a y i g h r c e o p k s s me e lt s r g t i n n ag rt h a e o p r l c p b l y f P e i i p o o e . y n l zn c a a t r f s i e ,o tmp a e a e p o o e . ig t e e tmpa e ,h p k s a d b e k a f c iey b l n t d Al t i r p s d Usn h s e lt s t e s i e n r a s c n e f t l e e i ae . s hs e v mi o, meh d c n ef cie y s le t e l s t o a f t l ov h e s e v to o g t i n n p o lm. h ag rt m t ss n VC 0 4 aa a eT e e u t h w h t h meh d a efc ie y e u e h ru h hn ig rbe T e loi h et o F 2 0 d tb s . h r s l s o t a te s t o c n f t l r d c e v b e k n p k s a d a py t h a tmai n e r tr c g i o y tm o i rv c e t rt . r a s a d s i e , n p l o t e u o tc f g r i e o n t n s se t mp o e a c p ae i p n i

细化算法研究

细化算法研究

论文中文摘要毕业设计说明书(论文)外文摘要1 绪论图像的细化是数字图像预处理中的重要的一个核心环节。

图像细化在图像分析和图像识别中如汉子识别、笔迹鉴别。

指纹分析中有着广泛的应用。

图像的细化主要有以下几个基本要求:(1)骨架图像必须保持原图像的曲线连通性。

(2)细化结果尽量是原图像的中心线。

(3)骨架保持原来图形的拓扑结构。

(4)保留曲线的端点。

(5)细化处理速度快。

(6)交叉部分中心线不畸变。

虽然现在人们对细化有着广泛的研究,细化算法的方法有很多。

然而大多数算法如Hilditch算法和Rosenfield算法存在着细化后图形畸变,断点过多,在复杂的情况下关键信息的缺失等问题。

基于上诉考虑,传统的细化算法已经无法满足如今的数字图像处理要求。

因此,需要提出新的一种算法,来解决相关问题。

1.1 相关定义1.1.1串行与并行从处理的过程来看,主要可以分为串行和并行两类,前者对图像中当前象素的处理依据其邻域内象素的即时化结果,即对某一元素进行检测,如果该点是可删除点,则立即删除,且不同的细化阶段采用不同的处理方法;后者对当前的象素处理依据该象素及其邻域内各象素的前一轮迭代处理的结果,至始至终采用相同的细化准则。

即全部检测完汉子图像边缘上的点后再删除可删除点。

1.1.2骨架对图像细化的过程实际上是求一图像骨架的过程。

骨架是二维二值目标的重要拓扑描述,它是指图像中央的骨架部分,是描述图像几何及拓扑性质的重要特征之一。

骨架形状描述的方法是Blum最先提出来的,他使用的是中轴的概念。

如果用一个形象的比喻来说明骨架的含义,那就是设想在t=0的时刻,讲目标的边界各处同时点燃,火焰以匀速向目标内部蔓延,当火焰的前沿相交时火焰熄灭,那么火焰熄灭点的集合就构成了中轴,也就是图像的骨架。

例如一个长方形的骨架是它的长方向上的中轴线,正方形的骨架是它的中心点,圆的骨架是它的圆心,直线的骨架是它自身,孤立点的骨架也是自身。

细化的目的就是在将图像的骨架提取出来的同时保持图像细小部分的连通性,特别是在文字识别,地质识别,工业零件识别或图像理解中,先对被处理的图像进行细化有助于突出形状特点和减少冗余信息量。

鲁棒的二值图像并行细化算法

鲁棒的二值图像并行细化算法

Ti i l rh E T ) 经过大量对比实验表明, h n g g i m, P A . n n A ot 新算法能很好解决斜线信息丢失、 冗余像 素和 多余 枝杈 问题 , 效率 高 、 且 鲁棒 性 强 .
关键词 : 二值 图像 ; 细化 ; 并行算法; 骨架
中图分类 号 :T 3 14 P9.1 文 献标 志码 : A
0 引 言
细化又称为骨架化 , 该算法在保持原 图像结构 信息的前提下 , 删除边缘像素, 抽取单像素宽度 的骨 架特征. 细化是图像预处理过程的重要方法 , 在图像 分析 、 信息压缩 、 特征提取及模式识别 中起着重要作 用. 细化算法按照细化后的图形连续性可分为 4 _ 1 邻接和 8 邻接 , 照处理过程 中的迭代方式又分为 按 串行和并行. 串行细化算法 的处理结果依赖于对
与原图像 的一致 , 处理效果很好 , 且同时从 4个方 向 处理 , 迭代次数少 、 执行速度快 , 但缺 点是局 部信息 丢失 、 细化结果存在冗余像素. U和 WA G提 出对 L N z 的改进算法 ( w)53使 z s L [ . , s的局 部信息 丢失问 6
题得到改善 , 同时又产生多余枝权问题 , 但 且细化结 果仍然存在冗余像素. 本文在分析 z s和 L 并行细化算法原 理的基 W
基金项 目: 国家 自然科 学基金 (0 7 0 9 64 5 1 )
作者简 介: 包建军(95) 男, 17 一, 江苏南通人 , 在读硕 士, 究方向为图像 处理及模 式识剐 ,Emi bo@t .o 研 ( .a )aj o cr l j m n
维普资讯
鲁棒 的二值 图像并行细化算 法
包建 军 樊 , 菁
(. 1同济大学 电子与信息工程学院, 上海 209 ;. 0022 常州信息职业技术学院, 江苏 常州 236 ) 11 4

骨架提取(skeleton)-二值图像细化

骨架提取(skeleton)-二值图像细化

⾻架提取(skeleton)-⼆值图像细化# ⾻架提取-skeleton# ⾻架提取属于形态学处理范畴,放在skimage.morphology⼦模块内# ⾻架提取,也叫⼆值图像细化。

将⼀个连通区域细化成⼀个像素的宽度,⽤于特征提取和⽬标拓扑表⽰。

# skimage.morphology⼦模块提供了两个函数⽤于⾻架提取,分别是Skeletonize()函数和medial_axis()函数。

## skimage.morphology.skeletonize(image)# 格式为:skimage.morphology.skeletonize(image)# 输⼊和输出都是⼀幅⼆值图像。

# 例1:from skimage import morphology,drawimport numpy as npimport matplotlib.pyplot as plt#创建⼀个⼆值图像⽤于测试image = np.zeros((400, 400))#⽣成⽬标对象1(⽩⾊U型)image[10:-10, 10:100] = 1image[-100:-10, 10:-10] = 1image[10:-10, -100:-10] = 1#⽣成⽬标对象2(X型)rs, cs = draw.line(250, 150, 10, 280)for i in range(10):image[rs + i, cs] = 1rs, cs = draw.line(10, 150, 250, 280)for i in range(20):image[rs + i, cs] = 1#⽣成⽬标对象3(O型)ir, ic = np.indices(image.shape)circle1 = (ic - 135)**2 + (ir - 150)**2 < 30**2circle2 = (ic - 135)**2 + (ir - 150)**2 < 20**2image[circle1] = 1image[circle2] = 0#实施⾻架算法skeleton =morphology.skeletonize(image)#显⽰结果fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(8, 4))ax1.imshow(image, cmap=plt.cm.gray)ax1.axis('off')ax1.set_title('original', fontsize=20)ax2.imshow(skeleton, cmap=plt.cm.gray)ax2.axis('off')ax2.set_title('skeleton', fontsize=20)fig.tight_layout()plt.show()#例2:利⽤系统⾃带的马图⽚进⾏⾻架提取from skimage import morphology,data,colorimport matplotlib.pyplot as pltimage=color.rgb2gray(data.horse())image=1-image #反相#实施⾻架算法skeleton =morphology.skeletonize(image)#显⽰结果fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(8, 4))ax1.imshow(image, cmap=plt.cm.gray)ax1.axis('off')ax1.set_title('original', fontsize=20)ax2.imshow(skeleton, cmap=plt.cm.gray)ax2.axis('off')ax2.set_title('skeleton', fontsize=20)fig.tight_layout()plt.show()## skimage.morphology.medial_axis(image, mask=None, return_distance=False)# medial_axis就是利⽤中轴变换⽅法计算前景(1值)⽬标对象的宽度,格式为:# skimage.morphology.medial_axis(image, mask=None, return_distance=False)# mask: 掩模。

数字图像处理二值图像处理PPT课件

数字图像处理二值图像处理PPT课件
图6-8 曲线的链码表示
第14页/共57页
(d) 边界的8链码表
•链 码 的 表 示 方 法 具 有 下 面 一 些 有 趣 的 特 性 : • ① 如果曲线上的像素数目为N,那么链码的长度则为N-1; • ② 链码是和起点相关的,不同的起点可以得到不同的链码表示。 • ③ 链码具有平移的不变性,也就是说曲线的位置变动不改变其链码结构; • ④ 曲线的旋转将使得得到的链码中的每个元素分量增加相同的数值。
• 对于离散的的数字图像f(i,j),矩定义为:
• 对于二值图像,在目标区域R有f(i,j)=1,背景区域f(i,j)=0,因此:
M 1 N 1
mpq
i p j q f (i, j) p, q 0,1,2
i0 j0
mpq
ip jq
(i, j)R
第22页/共57页
• 同样的,考察二值图像各阶矩,我们可以知道,其零阶矩m00为目标区域的面 积,也即区域中包含的点数;假设
• ② 对称性:

• ③ 三角不等式:
d(A, B) 0
d(A, B) d(B, A) d(A,C) d(A, B) d(B,C)
第2页/共57页
•假 设 计 算 点 P ( a , b ) 与 Q ( c , d ) 间 距 离 可 以 采 取 下 面 的 几 种 定 义 形 式 :

① 欧几里德距离,用来De表示,如下式所示:
阶矩称为惯性矩。
•中心矩 :
pq (x x) p ( y y)q f (x, y)dxdy p, q 0,1,2
第21页/共57页
• 低阶矩主要描述区域的面积、转动惯量、质心等等,具有明显得几何意义,而高 阶矩一般主要描述区域的细节特征,比如三阶矩描述扭曲度,四阶矩描述峰值的状 态等等,一般来说高阶矩受到图像离散化等的影响,高阶矩一般在应用中不一定十 分准确。

图像细化(骨架化)算法分析

图像细化(骨架化)算法分析

图像细化(⾻架化)算法分析图像细化(⾻架化)算法分析图像的细化是模式识别中很重要的⼀个技术,指的是将原本"臃肿"的像素简化为单像素相连接的⼆值图像(即类似⾻架的概念),细化的好坏直接影响到后⾯识别匹配的效率。

摘⾃某⽂章的话,细化就是经过⼀层层的剥离,从原来的图中去掉⼀些点,但仍要保持原来的形状,直到得到图像的⾻架。

⾻架,可以理解为图象的中轴,例如⼀个长⽅形的⾻架是它的长⽅向上的中轴线;正⽅形的⾻架是它的中⼼点;圆的⾻架是它的圆⼼,直线的⾻架是它⾃⾝,孤⽴点的⾻架也是⾃⾝。

下⾯先介绍经典的Zhang并⾏快速细化算法:设p1点的⼋邻域为:【 p9 p2 p3p8 p1 p4p7 p6 p5 】(其中p1为⽩点,如果以下四个条件同时满⾜,则删除p1,即令p1=0)其中迭代分为两个⼦过程:过程1 细化删除条件为:(1)、2 < =N(p1) <= 6, N(x)为x的8邻域中⿊点的数⽬(2)、A(p1)=1, A(x)指的是将p2-p8之间按序前后分别为0、1的对数(背景⾊:0)(3)、p2*p4*p6=0(4)、p4*p6*p8=0如果同时满⾜以上四个条件则该点可以删除(赋值为0)。

过程2 细化删除条件为:(1)、2 < =N(p1) <= 6, N(x)为x的8邻域中⿊点的数⽬(2)、A(p1)=1, A(x)指的是将p2-p8之间按序前后分别为0、1的对数(背景⾊:0)(3)、p2*p4*p8=0(4)、p2*p6*p8=0如果同时满⾜以上四个条件则该点可以删除。

代码如下:A.m1 function n=A(temp,i,j)2 %0->1的数⽬3 shuzu=[temp(i,j),temp(i-1,j),temp(i-1,j+1),temp(i,j+1),temp(i+1,j+1),temp(i+1,j),temp(i+1,j-1),temp(i,j-1),temp(i-1,j-1)];4 n=0;5for i=2:86if shuzu(i)==0&&shuzu(i+1)==17 n=n+1;8 end9 end主函数代码:1 test=input('Please input a digits image:','s'); %输⼊图像2 x=imread(test);3if ~isbw(x)4'请确保输⼊图像为⼆值化图像!';5else6 [height,width]=size(x);7 mark=1;8 % temp=zeros(height+2,width+2);9 % temp(2:height+1,2:width+1)=x(:,:);10 temp=x;11 imshow(temp);12while mark==113 mark=0;1415for i=2:height-116for j=2:width-117 condition=0;18 %判断P(r,c)是否为可细化像素19if temp(i,j)==120 n=0;21for ii=-1:122for jj=-1:123 n=n+temp(i+ii,j+jj);24 end25 end26if (n>=3 && n<=7)27 condition=condition+1;28 end29if A(temp,i,j)==130 condition=condition+1;31 end32if temp(i-1,j)*temp(i,j+1)*temp(i+1,j)==033 condition=condition+1;34 end35if temp(i,j+1)*temp(i+1,j)*temp(i,j-1)==036 condition=condition+1;37 end38if condition==439 mark=1;40 temp(i,j)=0;41 end42 end43 end44 end45 figure;imshow(temp);464748for i=2:height-149for j=2:width-150 condition=0;51 %判断P(r,c)是否为可细化像素52if temp(i,j)==153 n=0;54for ii=-1:155for jj=-1:156 n=n+temp(i+ii,j+jj);57 end58 end59if (n>=3 && n<=7)60 condition=condition+1;61 end62if A(temp,i,j)==163 condition=condition+1;64 end65if temp(i-1,j)*temp(i,j+1)*temp(i,j-1)==066 condition=condition+1;67 end68if temp(i,j-1)*temp(i+1,j)*temp(i,j-1)==069 condition=condition+1;70 end71if condition==472 mark=1;73 temp(i,j)=0;74 end75 end76 end77 end78 figure;imshow(temp);79 end80 end结果:。

二值图象分析BinaryImageAnalysis

二值图象分析BinaryImageAnalysis

06
二值图像的应用实例
文字识别
总结词
文字识别是二值图像分析的一个重要应用,通过将文字转换为二值图像,可以方便地进行文字提取、识别和分类。
详细描述
在文字识别中,首先将文字图像进行预处理,包括去噪、二值化、归一化等操作,然后利用特征提取和分类器进 行文字识别。常见的文字识别方法有基于模板匹配、基于深度学习的OCR等。
基于神经网络的分类方法
总结词
基于神经网络的分类方法是一种深度学习方法,通过训练神经网络来识别和分类二值图 像中的对象。
详细描述
基于神经网络的分类方法的基本思想是,利用神经网络学习大量的训练样本,通过训练 得到一个能够自动识别和分类二值图像中的对象的模型。常用的神经网络模型有卷积神
经网络(CNN)、循环神经网络(RNN)等。
基于聚类的分类方法
总结词
基于聚类的分类方法是一种无监督学习方法,通过将像素点聚类成不同的组,将每个组视为一个类别 。
详细描述
基于聚类的分类方法的基本思想是,利用聚类算法将像素点聚类成若干个组,每个组内的像素点具有 相似的灰度值或特征,然后根据聚类结果将像素点分类。常用的聚类算法有K-means、DBSCAN等。
指纹识别
总结词
指纹识别是利用二值图像分析技术对指 纹进行提取、匹配和分类的过程,是身 份识别的一种重要手段。
VS
详细描述
在指纹识别中,首先对指纹图像进行预处 理,包括增强、二值化、细化等操作,然 后提取指纹的特征点,如脊线方向、脊线 间距等,最后进行匹配和分类。常见的指 纹识别算法有基于细节点匹配和基于图像 特征的匹配等。
连通区域标记通常使用深度优先搜索(DFS)或广度 优先搜索(BFS)算法实现,标记后的每个连通区域都 有一个唯一的标识符。

一种中国书法作品的骨架提取算法

一种中国书法作品的骨架提取算法
s e e o s p o u e y t i g rt m oton y h v o d s mme r a d o e t d e sb t i k ltn r d c d b hs a o h l i n l a e g o y ty n c nn c e n s ,u t
维普资讯
第5 期

瑶等 :一种 中国书法作 品的骨架提取 算法
速 三角剖 分 的骨 架化 算法 ,但 其不 适合 于提 取 宽
度 变化 不规 则 的 图像 的骨架 。赵 春江 等[以最 大 3 1 正方形 的 中轴变 换为 基础 ,提 出 了一 种具 有鲁 棒

要: 为给使用计算机对 中国水墨作品进行模拟提供 良好 的前提 ,以一种有效的
二值图像细化算法为基础 , 结合 实验提 出了一种新的适用于提取 中国水墨书法作品骨架的细
化算法。实验证明, 该算法对 于提取 中国水墨书法作品的骨架具有普遍的适用性, 提取 出的 骨架不仅具有较好的对称性、 连通性, 还在去除骨架- 0 L* 的同时基本保证 了单像素的骨架宽
维普资讯
20 o 6年
工 程 图 学 学 报
J OURNAL OFENG眦 ERI NG GRAP CS HI
2 啷
第 5期
NO .

种 中 国书法 作 品 的骨 架提 取 算 法
唐 瑶, 张锡哲, 王钲旋
( 吉林 大学计算机科学 与技术学 院,吉林 长春 10 1 3 0 2)
W o k fCh n s l g a h r so i e eCa l r p y i
T ANG Ya , Z o HA G Xi h , W A G Zh n — u n N — e z N e gx a

图像处理中的图像二值化算法

图像处理中的图像二值化算法

图像处理中的图像二值化算法随着科技的发展,图像处理技术应用越来越广泛。

作为一项基础技术,图像二值化算法在图像处理中扮演着非常关键的角色,它可以将图像分割成黑白两种颜色,也就是将图像中的灰度值转化为0和1,简化了后续的处理流程。

本文将介绍图像二值化算法的基本原理和应用情况。

一、二值化算法的基本原理在图像中,每个像素都有一定的灰度值,在8位灰度图像中,灰度值的范围在0-255之间,其中0是代表黑色,255代表白色。

当我们需要处理一张图片时,如果直接对每一个灰度值进行处理,那么处理的过程就会非常繁琐,因此,我们需要将图像灰度值转化为0和1两种数字进行处理。

常见的二值化算法有全局阈值算法、局部阈值算法、自适应阈值算法、基于梯度算法等。

其中,全局阈值算法是最基本、最简单的一种算法。

它将整张图像分成黑白两个部分,通过将整个图像的像素点的灰度值与一个固定的阈值进行比较,如果像素点的灰度值大于阈值,就将该像素点的灰度值置为1,否则置为0。

使用全局二值化算法的步骤如下:1.将图像读入到内存中;2.将图像转化为灰度图像;3.计算整个图像的平均灰度值,该平均灰度值作为全局阈值;4.将图像中每个像素点的灰度值与该全局阈值进行比较,灰度值大于等于该全局阈值的像素点赋值为255(代表白色),小于该阈值的像素点赋值为0(代表黑色);5.输出处理后的图像。

当然,这种方法的缺点也非常明显,那就是无法适应不同场合下的图像处理需求,处理效果难以保证。

因此,我们需要更为灵活的算法和方法来进行二值化处理。

二、不同类型的二值化算法1.基于直方图的全局阈值法二值化算法中的全局阈值算法通常是将整个图像分成两类像素:一类像素比较暗,另一类像素比较亮。

在直方图中,该分割就是直方图上的两个峰。

我们可以通过直方图分析来确定这个阈值,并将灰度值低于阈值的像素变为黑色,将灰度值高于阈值的像素变为白色。

对于图像I(x,y),它的灰度直方图h(i)可以表示为:h(i) = N(i) / MN (i=0,1,…,L-1)其中N(i)是图像中所有像素灰度值为i的像素数量,MN是总的像素数量,L是灰度级别数量(在8位图像中,L等于256)然后我们需要确定一个阈值T,所有像素点的灰度值小于T的变为黑色,大于等于T的变为白色。

图像细化算法 2

图像细化算法 2

图像细化算法一、细化算法简介图像细化(Image Thinning),一般指二值图像的骨架化(Image keletonization)的一种操作运算。

所谓的细化就是经过一层层的剥离,从原来的图中去掉一些点,但仍要保持原来的形状,直到得到图像的骨架。

骨架,可以理解为图象的中轴。

好的细化算法一定要满足:∙收敛性;∙保证细化后细线的连通性∙保持原图的基本形状∙减少笔画相交处的畸变∙细化结果是原图像的中心线∙细化的快速性和迭代次数少依据是否使用迭代运算可以分为两类:(1)非迭代算法一次即产生骨架,如基于距离变换的方法。

游程长度编码细化等。

(2)迭代算法即重复删除图像边缘满足一定条件的像素,最终得到单像素宽带骨架。

迭代方法依据其检查像素的方法又可以再分成①串行算法是否删除像素在每次迭代的执行中是固定顺序的,它不仅取决于前次迭代的结果,也取决于本次迭代中已处理过像素点分布情况.②并行算法像素点删除与否与像素值图像中的顺序无关,仅取决于前次迭代的结果二、本文所用算法我所采用的是Zhang并行快速细化算法,它的原理也很简单:我们对一副二值图像进行骨架提取,就是删除不需要的轮廓点,只保留其骨架点。

假设一个像素点,我们定义该点为p1,则它的八邻域点p2->p9位置如下图所示,该算法考虑p1点邻域的实际情况,以便决定是否删除p1点。

假设我们处理的为二值图像,背景为黑色,值为0,要细化的前景物体像素值为1。

算法的描述如下。

首先复制源图像到目地图像,然后建立一个临时图像,接着执行下面操作:1. 把目地图像复制给临时图像,对临时图像进行一次扫描,对于不为0的点,如果满足以下四个条件,则在目地图像中删除该点(就是设置该像素为0),这里p2,…,p9是对应位置的像素灰度值(其为1或者0)。

a. 2<= p2+p3+p4+p5+p6+p7+p8+p9<=6大于等于2会保证p1点不是端点或孤立点,因为删除端点和孤立点是不合理的,小于等于6保证p1点是一个边界点,而不是一个内部点。

一种快速准确的细化算法

一种快速准确的细化算法

收稿日期:2002206208 基金项目:国家“九五”重中之重科技攻关资助项目(962B02203) 作者简介:吴丹(19802),女,江西南昌人,中国地质大学(武汉)信息工程学院硕士研究生,研究方向:GIS ,图像处理。

文章编号:100622475(2003)0120006202一种快速准确的细化算法吴 丹(中国地质大学信息工程学院,湖北武汉 430074)摘要:细化广泛应用于图像处理与模式识别。

从细化得到的骨架不但保持了原图像的几何和拓扑特征,而且更重要的是减少了图像的冗余。

细化算法多种多样,本文介绍了一种简单但却具备其它算法优势的细化算法。

本算法仅使用几条简单的规则来决定是否删除像素点,以达到细化的目的。

经计算机模拟该算法对汉字的处理过程,证实其快速且易于实现。

关键词:细化;骨架;相邻像素点;0~1模式数中图分类号:TP391 文献标识码:AA F ast and Accurate Thinning AlgorithmW U Dan(In formation Engineering Faculty ,China University of G eosciences ,Wuhan 430074,China )Abstract :Thinning is widely used in image processing and pattern recognition.The skeleton obtained from thinning not only maintains the geometric and topologic features of the original image ,but als o substantially reduces its redundancy.There are all kinds of thinning alg orithms.This paper introduces a thinning alg orithm ,which is simple yet can maintain the same advantages of other key alg orithms.This alg orithm only uses a very small set of rules of criteria for deleting pixels ,it is faster and easier to implement.K eyw ords :thinning ;skeleton ;neighbor pixel ;0~1pattern number0 引 言细化,也被称之为骨架化,是广泛应用于图像处理与模式识别的一个重要的图像预处理过程。

基于二值化指纹图像细节点提取的改进算法

基于二值化指纹图像细节点提取的改进算法
22 1行 程 ..
① 对 图像第 l 中的每一个黑色行程, 行 以它们为 起始行程生成若干初始 图段 ;
在 图像的某一行水平 扫描线 上 ,由多个连 续的、
② 逐步扫描 图像 , 得到 的当前黑色行 程与所 有 已
生成 的黑色图段 中的最后一个行程进行 匹配 ,如果 前行程 与某个 图段的最后行程互 为一对一 相关,则当 前行程 属于此 图段 ,将其加入此 图段 中,否则以当前 行程 为起始行程 生成新 的图段 。
具有相 同灰度值 的像素所 组成的像素点集合称 为一个 行程 ,用行程码记录表示 , 对于 二值 图像有两种 行程:
黑色行程和 白色 行程 。如下图 1有 a到 f 6个黑色 共
行程 。

③ 对某 个 图段 中相邻行 程之 间的长度 相差较 大
( 例如相差 3倍)则在这两个相邻行程处将该图段分割 ,
种较 为理想 的二值化指纹图像细节 点提取算法 。
关键 词:二值化指纹 图像 :细节点:行程 :图段
I pr v d M i uta t a to g rt m o e n i eEx r c n Al o ihm s d o na y Fi e prntI g i Ba e n Bi r ng r i ma e
计 算 机 系 统 应 用
ht:w w. S .r. t / w c - og n p/ -a c
21 0 2年 第 2 卷 第 3期 l
基于二值化指纹图像细节点提取的改进算法
赵 磊 一 , ,姜 小奇 一 , ,蒋澎涛 ,刘春雷 ,陈宏君 ,杨梦婷 。
( 湖南科技经 贸职业学 院 计算机科学技术学院,衡阳 4 10 ) 2 01 ( 衡阳师 范学院 计算机科学系,衡 阳 4 10 ) 2 0 8

二值图像的快速细化算法

二值图像的快速细化算法
k e h l c ma e’ o oo ia tu t r .I g h n ig i t e k y se f i g at r e o nt n e p t e b a k i g S tp l gc lsr c u e ma e ti n n s h e tp o ma e p t n r c g i o .Ra i h n i g a g r h e i pd ti n n l o i m t c n i r v h n s e d b e lcn rgn l lo t m h t st l n t l c ie tp b t p f m h o n a . a mp o et i p e y r p a i g oi i a g r h t a o ei ae b a k p x l e y se o t e b u d r a i i mi s r y
舞嚣精舟蔫簿辩。 ll l a l 秭O 5
t 01 。 ,, . , 0 赢
瓤 01 , 0,
o11L , , O氍
鼙裔
0 , 1 01 , 0 , , 0, 0 ,
氍 赫静缸
l , 0 t , 1 , 1 0 ,
o  ̄O ll1 h, A ,
有效 的提高 了处理效率 , 减少数据冗余 。
1 像 的细化 分析
图像 的细化 主要是针对二值 图而 言 。 图像 的细化 过程 对 实际上是求该 图像骨架 的过程 。所谓 的骨架 , 以理解为 图 可 像 的中轴 : 长方形 的骨架 , 是长方 向的中线 ; 圆形的骨架 , 是
圆心 这 一 点 。
常用 的逐层剥取 细化算 法有 H lih i t ,该算法通 过判断 dc 图像 中属于边界点 而不是连通 点 . 可以去掉 此点 . 就 这是 一 种反复扫描的过程 。 如果对于一个矩形 区域 ( 3 , 图 )从左上角

一种最优化链码指纹二值细化图像压缩编码

一种最优化链码指纹二值细化图像压缩编码

7 5 i .w c ss o e h h to re tt n r e n c a n c e o r e n d e e t h n c e wh s v rg 6 t 1 s b i h h i h  ̄ rt a t a f8 o n a i s F e ma h o rF ma i r ni c a o o e a e a e n i o i d e f l a i d
的实验 结果证明, 对于指纹二值细化图像 , 本算法优 于现有的链码压缩二值 图像 的算法 , 针对于线状 结 构的条 形纹 线 二 值 图像 , 算 法 也 优 于 其 他 压 缩 算 法。 其 平 均 码 长 为 1 7 5 bt, 于 8方 向 本 . 6 1i 低 s
F ema re n链码 或者 Fema re n差分 链码 的 3 i bt s的平 均码 长 。
关键词 : re n链 码 ; 值 图像 ; 缩编码 Fema 二 压 中图分类 号 : P 9 . 1 T 3 14 文献 标识 码 : A
Optm ie han o e c m p e so l o ih o ng r i tb na y i a e i zd c i c d o r si n a g rt m f r f e prn i r m g i
V0 _ 6 No 0 l 2 .1 Oc .2 o6 t 0
种 最 优 化 链 码 指 纹 二 值 细 化 图 像 压 缩 编 码
李 超, 杜 赓 , 义先 , 心 忻 杨 钮 ( 北京 邮 电 大学 信 息安全 中心 , 京 10 7 北 0 86)
( hoe @1 6 cr c ale 2 .o ) n
107,Ci ) 086 h a n
Ab t a t n o t z d c mp e s n ag r h fr l e r sr c u t p ma e wa i u s d i h s p p r w ih i sr c :A p mie o r s i l o t m o i a t t r s i e i g s d s se n t i a e , h c s i o i n u e r c F e n d f r ni h i o e Hu ma o ig C mp r d t h r dt n r e n h i o e t e p o o e n s a e r ma e e t c an c d f n c n . o a e o t e ta i o a F e ma c an c , h rp s o e i i l a d i l d d

一种摄像机采集图像的二值化算法

一种摄像机采集图像的二值化算法
借助softice工具对stamp滤镜程序进行了解剖基本分析清楚了其工作原理并在此基础上针对工业现场所采集图像的特点对该算法进行了改进解决了此种图像的二值化问题为后续的图像细化图像分割和图像识别打下了良好的基础
维普资讯
2 2 20 .3 3 ) 0 0 7 4 (0
2 S h o f C mp t r S in e Xi a oy e h i . c o l o o u e ce c , ’ n P lt c n c Unv r i , ’ n 7 0 4 C i a ie st Xi a 0 8, h n y 1
3D pr eto C m ue S i c n eh oo ,s g u n esy B in 0 0 4 C ia .eat n f o p tr c n ead T c nl Ti h a U i ri ,e ig 10 8 ,hn m e y g n v t j E m i j a g x ueuc — al c n @ p . . :w d n
W AN J- h a , I u QIYo g e L ia i tt n ag r h o ie a r ol t g i g. o ue n iern G ic u n L U Y , n ,ta Bn r aai lo i m fv o c mea c lc n maeC mp tr E g eig z o t d ei n
c a a t r t ma eI i si p l d t ma e p e r e s i g i u o t e il ie s lt e o n i n e 1 h r c e si i g . s t l a p i o i g r p o e sn n a t ma i v hc e l n e p a e r c g R o t a . i c t l e c c Ke r s ag rtm ; i a y i g ; i a iaa in; c u l td h so r m y wo d : lo h bn r ma e b n r tt i z o a c mu ae i g a t

中轴变换方法、细化方法和形状分解方法

中轴变换方法、细化方法和形状分解方法

中轴变换方法、细化方法和形状分解方法中轴变换方法、细化方法和形状分解方法是数字图像处理中常用的一类方法,用以提取图像中的特征信息。

本文将分别介绍这三种方法,并探讨它们的应用领域和优缺点。

一、中轴变换方法中轴变换(skeletonization)是一种将二值图像转换为其骨架的方法。

所谓骨架,是指将图像中不重要的细节去除后,将图像中的重要特征用线条表示出来。

中轴变换方法通过迭代地操作,将图像中的对象细化为一系列细线。

中轴变换方法的主要应用领域是图像分析和形状识别。

通过获得图像的中轴线,可以进一步分析图像中的形状特征,如曲线的拟合和分割等。

中轴变换方法还可以用于图像的压缩和特征提取,有效地减小图像数据的存储量,同时保留图像的基本特征。

中轴变换方法的优点是能够提取出图像的骨架结构,有助于进一步分析和处理图像。

然而,中轴变换方法在处理复杂图像时可能会存在问题,例如对于细长和叉状物体的处理效果不佳。

二、细化方法细化(thinning)方法是一种将二值图像细化为其最细表示的方法。

所谓最细表示,是指在保持图像中的特征完整性的前提下,将图像中的线条尽可能细化。

细化方法的主要应用是图像的形状分析和对象识别。

通过细化处理,图像中的细线可以更好地表示线条的方向和形状,有助于进一步分析图像中的几何特征和形状信息。

细化方法还可以用于图像的特征提取和匹配,例如指纹识别和虹膜识别等。

细化方法的优点是能够保持图像中的主要特征,并且能够有效地提取线条的方向和形状信息。

然而,细化方法在处理图像中的噪声和连接区域时可能会丢失细节信息,导致图像处理结果不准确。

三、形状分解方法形状分解(shape decomposition)方法是一种将复杂形状分解为简单形状的方法。

通过将图像中的形状划分为几个基本的形状单元,可以更好地理解和描述整个形状。

形状分解方法的主要应用是形状分析和形状识别。

通过形状分解,可以将复杂形状拆分为简单的几何形状,有助于进一步分析形状的几何特征和拓扑关系。

opencv实现二值图像细化的算法

opencv实现二值图像细化的算法

opencv实现⼆值图像细化的算法opencv实现⼆值图像细化的算法细化算法通常和⾻骼化、⾻架化算法是相同的意思,也就是thin算法或者skeleton算法。

虽然很多图像处理的教材上不是这么写的,具体原因可以看这篇论⽂,Louisa Lam, Seong-Whan Lee, Ching Y. Suen,“Thinning Methodologies-A Comprehensive Survey ”,IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 14, NO. 9, SEPTEMBER 1992 ,总结了⼏乎所有92年以前的经典细化算法。

函数:void cvThin( IplImage* src, IplImage* dst, int iterations=1)功能:将IPL_DEPTH_8U型⼆值图像进⾏细化参数:src,原始IPL_DEPTH_8U型⼆值图像dst,⽬标存储空间,必须事先分配好,且和原图像⼤⼩类型⼀致iterations,迭代次数参考⽂献:T. Y. Zhang and C. Y. Suen, “A fast parallel algorithm for thinning digital patterns,” Comm. ACM, vol. 27, no. 3, pp. 236-239, 1984.void cvThin( IplImage* src, IplImage* dst, int iterations=1){CvSize size = cvGetSize(src);cvCopy(src, dst);int n = 0,i = 0,j = 0;for(n=0; n<iterations; n++){IplImage* t_image = cvCloneImage(dst);for(i=0; i<size.height; i++){for(j=0; j<size.width; j++){if(CV_IMAGE_ELEM(t_image,byte,i,j)==1){int ap=0;int p2 = (i==0)?0:CV_IMAGE_ELEM(t_image,byte, i-1, j);int p3 = (i==0 || j==size.width-1)?0:CV_IMAGE_ELEM(t_image,byte, i-1, j+1);if (p2==0 && p3==1){ap++;}int p4 = (j==size.width-1)?0:CV_IMAGE_ELEM(t_image,byte,i,j+1);if(p3==0 && p4==1){ap++;}int p5 = (i==size.height-1 || j==size.width-1)?0:CV_IMAGE_ELEM(t_image,byte,i+1,j+1);if(p4==0 && p5==1){ap++;}int p6 = (i==size.height-1)?0:CV_IMAGE_ELEM(t_image,byte,i+1,j);if(p5==0 && p6==1){ap++;}int p7 = (i==size.height-1 || j==0)?0:CV_IMAGE_ELEM(t_image,byte,i+1,j-1);if(p6==0 && p7==1){ap++;}int p8 = (j==0)?0:CV_IMAGE_ELEM(t_image,byte,i,j-1);if(p7==0 && p8==1){ap++;}int p9 = (i==0 || j==0)?0:CV_IMAGE_ELEM(t_image,byte,i-1,j-1);if(p8==0 && p9==1){ap++;}if(p9==0 && p2==1){ap++;}if((p2+p3+p4+p5+p6+p7+p8+p9)>1 && (p2+p3+p4+p5+p6+p7+p8+p9)<7){if(ap==1){if(!(p2 && p4 && p6)){if(!(p4 && p6 && p8)){CV_IMAGE_ELEM(dst,byte,i,j)=0;}}}}}}}cvReleaseImage(&t_image);t_image = cvCloneImage(dst);for(i=0; i<size.height; i++){for(int j=0; j<size.width; j++){if(CV_IMAGE_ELEM(t_image,byte,i,j)==1){int ap=0;int p2 = (i==0)?0:CV_IMAGE_ELEM(t_image,byte, i-1, j);int p3 = (i==0 || j==size.width-1)?0:CV_IMAGE_ELEM(t_image,byte, i-1, j+1);if (p2==0 && p3==1){ap++;}int p4 = (j==size.width-1)?0:CV_IMAGE_ELEM(t_image,byte,i,j+1);if(p3==0 && p4==1){ap++;}int p5 = (i==size.height-1 || j==size.width-1)?0:CV_IMAGE_ELEM(t_image,byte,i+1,j+1);if(p4==0 && p5==1){ap++;}int p6 = (i==size.height-1)?0:CV_IMAGE_ELEM(t_image,byte,i+1,j);if(p5==0 && p6==1){ap++;}int p7 = (i==size.height-1 || j==0)?0:CV_IMAGE_ELEM(t_image,byte,i+1,j-1); if(p6==0 && p7==1){ap++;}int p8 = (j==0)?0:CV_IMAGE_ELEM(t_image,byte,i,j-1);if(p7==0 && p8==1){ap++;}int p9 = (i==0 || j==0)?0:CV_IMAGE_ELEM(t_image,byte,i-1,j-1);if(p8==0 && p9==1){ap++;}if(p9==0 && p2==1){ap++;}if((p2+p3+p4+p5+p6+p7+p8+p9)>1 && (p2+p3+p4+p5+p6+p7+p8+p9)<7) {if(ap==1){if(p2*p4*p8==0){if(p2*p6*p8==0){CV_IMAGE_ELEM(dst, byte,i,j)=0;}}}}}}}cvReleaseImage(&t_image);}}//使⽤举例#include "cxcore.h"#include "cv.h"#include "highgui.h"int main(int argc, char* argv[]){if(argc!=2){return 0;}IplImage *pSrc = NULL,*pDst = NULL,*pTmp = NULL;//传⼊⼀个灰度图像pSrc = cvLoadImage(argv[1],CV_LOAD_IMAGE_GRAYSCALE);if(!pSrc){return 0;}pTmp = cvCloneImage(pSrc);pDst = cvCreateImage(cvGetSize(pSrc),pSrc->depth,pSrc->nChannels);cvZero(pDst);cvThreshold(pSrc,pTmp,128,1,CV_THRESH_BINARY_INV);//做⼆值处理,将图像转换成0,1格式 //cvSaveImage("c://Threshold.bmp",pTmp,0);cvThin(pTmp,pDst,8);//细化,通过修改iterations参数进⼀步细化cvNamedWindow("src",1);cvNamedWindow("dst",1);cvShowImage("src",pSrc);//将⼆值图像转换成灰度,以便显⽰int i = 0,j = 0;CvSize size = cvGetSize(pDst);for(i=0; i<size.height; i++){for(j=0; j<size.width; j++){if(CV_IMAGE_ELEM(pDst,uchar,i,j)==1){CV_IMAGE_ELEM(pDst,uchar,i,j) = 0;}else{CV_IMAGE_ELEM(pDst,uchar,i,j) = 255;}}}//cvSaveImage("c://thin.bmp",pDst);cvShowImage("dst",pDst);cvWaitKey(0);cvReleaseImage(&pSrc);cvReleaseImage(&pDst);cvReleaseImage(&pTmp);cvDestroyWindow("src");cvDestroyWindow("dst");return 0;}。

二值图像的模式识别方式

二值图像的模式识别方式

其中 5 的取值根据采用的距离度量不同而不同 # 根据 G 隶 属度确定图像的分类 # # % 结论 ( 对于本文提出的算法的测试结果 # 由于识别率只是 对 未 参 与 训 练 的 样 本 进 行 统 计4 因 此4 该 算 法 有 良 好 的 泛 化 能 力 4 这与传统的方法相比 4 有着明显的优势 " 本算法的虽然不能 保证 )""D 的识别率 " 但与单一的识别方式相比较有很高的识别 效率 # 在高速公路的收费 " 国防中的雷达扫描有着很高的利用价 值 # 关键就在于它是从数据本身出发去逼近其分布的几何轮廓 # 因此 4 该算法对于解决像运动物体的识别这类大规模的问题是 有效的 #
个 方 向 的 各 个 相 邻 像 素 都 与 01 有 相 同 的 取 值 % 则 称 0+1%2( 是 八 方连通的 ! 像点 0+1%2( 若八方不连通 % 称为孤立像点 % 若是四方连 通 的 % 称 为 内 部 像 点 % 若 0+1%2( 与 四 方 相 邻 像 点 至 少 有 一 个 不 相 连 % 则称为边界像点 % 若 0+1%2( 只与上 " 下或左 " 右 的 两 个 相 邻 像 点 连通 % 则称为孤像点 ! 则称为无键像点 # 见图 ’+,( ! 图 ’ +-( 亏键像 点 ) 若某一像点 0+1%2( 连接 键 总 数 满 足 不 等 式 )" 6 7 6 8 # 则 该 种 像点称之为亏键像点 % 简称亏键点 ! 显然 % 图像边缘上的像 点 皆 为亏键点 % 见图 ’& -* ! 图 ’ &.* 满键像点 ) 若某一像点 01! 的四周 八个 $ 邻域 % 均 为 像 点 & 9 : ’* % 则 7 : 8 % 故 该 种 像 点 称 之 为 满 键 像点 % 简称满键点或内点 ! 显然 % 图像内部的 像 点 皆 为 满 键 点 % 见 图 ’&.* ! &;* 目 标 图 像 的 二 值 化 和 矩 阵 表 示 ) 在 数 字 图 像 处 理 中 % 二 值图像处理占有非常重要的地位 % 在 二 值 图 像 的 实 时 处 理 系 统 中%其 分 析 与 处 理 的 方 法 有 收 缩 "细 化 "膨 化 和 轮 廓 跟 踪 等 %它 们 是基于对图像集的某一像素的分析与处理 ! 在处理每一个像素 时 % 首先判别它的像点连接键 % 然后根据算法 进 行 逻 辑 判 别 % 确 定 该像素是保留还是删除 ! 二值图像的处理过程是按照一定准则 保留和删除不同位置的像素过程 ! 通 常 情 况 下%目 标 灰 度 变 化 较 均 匀%背 景 的 灰 度 变 化 可 能 是 均匀的 % 也可能是非均匀的 ! 但在空中 % 目标和背景之间存在着灰 度跃变 ! 根据目标图像信号和背景图像信号的信息来确定目标 灰度阈值 ! <= 和 <> 分别是目标图像信号和背景图像信号的灰 度阈值为第 1 行第 2 列像素点的灰度值 % 则二值图像的表达式为 ) 若 <>6?126<= 则 <12 的值为 $’ %# 否则为 $" %# 有了 <> 和 <=% 可以 对目标图像进行二值分割 ! 将原来的灰度图像分割为的二值图 像 # 而连续的二值图像的存放可以用矩阵表示 #012 的值与 <12 相 对应 ! 在本文中的二值图像以 /! ╳ /! 的矩阵来存储 % 如图 ! ! !&’’ &’! ’ &’$ $ &!’ &!! ’ &!$ % ! +" # $*% " " % ’ #&"’ &"! ’ &"$ & 图 ! & 二值图像的存储矩阵 # 不变性的神经网络处理 在图像信号的处理分析中 % 首先 要 解 决 图 像 平 移 " 旋 转 和 缩 放三个不变性 % 即图形的归一化 ! 只处理 边 缘 中 的 直 线 " 弧 线 和 折 线 及 其 组 合 状 态%而 这 种 组 合 状 态 与 平 移 "旋 转 和 缩 放 无 关 ! 例如 % 对于任何几何图形 ) 三角形 " 四边形 " 凹凸多边形 " 含有弧的 多 边 形%用 数 学 方 法 描 述 时%由 于 平 移 "旋 转 和 缩 放 以 后%其 数 学 方程中的有关参数不同 % 因此必须将 它 们 转 换 到 事 先 确 定 的 基 准坐标中去 % 再进行运算及相应处理 ! 对于一些特殊的几何图形 来 说 并 不 困 难 %而 对 于 事 先 不 知 的 实 时 获 得 的 图 形 % 特 别 是 对 运 动图像探测装置实时获得的一次性含有弧线的凹凸多边形类的 复杂几何图像来说 % 要在短时间内确定平 移 量 " 旋 转 中 心 和 旋 转 量以及缩放量在理论上就相当困难 ! 因此 % 解决上述三个不变性 问题的最好办法是无需转换到基准坐 标 系 中 去 % 可 以 直 接 提 取 边 缘 状 态 特 征 + 线 的 性 质 和 数 量 及 其 组 合 * ! 例 如 图 / 中 的 +-* " +.* "+@* 是 +,* 由 经 平 移 " 旋 转 和 缩 放 后 形 成 的 % 而 其 由 四 条 直 接 组 合而成的状态 + 特征 * 并未因平移 " 旋转及缩放有所改变 ! 对于简 ’ ’ ’
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图像的细化是指在保持原图像拓扑结构的情况下
图像细化是数字图
像预处理中的重要一环
因此
近年来
依考虑问题的角度不同
即边缘点删除和内点保留
只对边缘点的可删除性进行判断并作
相应处理
基于内点保留的细化算法容易使所获得的骨
架大于一个像素
综合运用上述两种细化方法提出一种新的
几个基本定义
1 对于一幅二值图像背G
G F 1景上的像素记为先给出以下几个B 0基本定义
像素的对像素下
右个方向上点的集合称为像素的4(x,y)4

义邻域将其上
8(x,y)

邻域
(x,y)8表
像素

邻域的
»·ÓòÁÚÓòµÄËÄÖÜΧµÄ
8168

p 23
ÁÚÓòµÄ
Èç±í
交叉数
交叉数定义为点
F
P 的P 8(1)
g(P
k ) - g(P k-1) =1 (1)
式中0k 7
P 8算法设计
2 算法的基本思想
2.1 任何一个细化算法一般都必须满足以下点要求
(1)
骨架图像应尽可能是原图像目标边缘的中心线(3)
细化速度要快
我们提出了一种新的其基本思想是保留内点及图像中绝对不能被删除的特殊点
交叉点

其次
最后
算法的实现
2.2 第步
1前景中应保留的点包括以下类
(1)
图像中目标边缘的内点(3)
细化到宽度为之前难以判定是否删除的点
其灰度值为定义的
邻域的灰度值之和为的
4P 88
P »·ÓòµÄ»Ò¶ÈÖµÖ®ºÍΪµãµÄ½»²æÊýΪ
8
1616
P
N 8
Ϊ±£Ö¤Ï¸»¯ºóµÄͼÏñÄÜ·´Ó³Ô-ͼÏñÖÐÄ¿±êµÄÍ»³ö
²¿·Ö
ÁÚÓò
ÁÚÓòÖ®ºÍΪ
P
8P 8
1
ÁÚÓò½ö´æÔÚµ¥Ò»Ò»¸ö»Ò¶ÈÖµ
81P 8
为的点
1其次邻点邻点的灰度值均
P
44为
接着考察点的
保留即
即1
N 8的点
基金项目
(1969
)女
讲师
字图像处理
一种有效的二值图像细化算法
吕俊白
泉州
基于对图像中目标边缘的分析
实验证明
而且为单像素宽关键词细化骨架
An Efficient Thinning Algorithm for Binary Images
LV Junbai
(Department of Computer Science, Huaqiao University, Quanzhou 362011)Abstract B ased on analyzing the edges of the objects in an image, an efficient thinning algorithm for binary images is proposed. Experiments prove that the skeletons of the objects produced by this algorithm have good symmetry, one pixel wide, and can completely preserve the connectedness of the original image.Key words B inary image; Thinning; Mask; Skeleton
第卷
第期
2918多媒体技术及应用
TP 391.41
文章编号
10003428(2003)18 014702文献标识码
此外在细化过程中
邻域之8
和为和邻域
1(8
1)4
1(
41)
8
的环域中灰度值为的点数小于1
,
,
最后
在设计中我们采用图中的模板进行检测
真则保留当前点以确保当边缘
1细化到双线时不致断裂
删除多余的像素点
实现骨架上像素点之间
的单点连通
若模板的输出为
去除多余枝线
获得光滑的
图像骨架
若N 8不大于1
归纳起来step1:
按从上到下寻找灰度值为的(1)1
像素点
则(2)4=1 or 8=1and (8>=16)保留之(6)
若当前点满足条件则保留之(3)4=4(6)若当前点满足条件(4)N 8则保留之1(6)对于当前点若图两模板之一输出为真否则
判断是否扫描完所有像素点
转若有
step2:
按从上到下寻找灰度值为的(1)1
像素点
则删除之
若否
(3)(1)
step3:
按从上到下寻找灰度值为的
(1)1
像素点
则删除之若否则转
图为原图
实验表明
所得的骨架图像对称性好且为单像素宽
a (b)
图原图
3
(a) (b)
图细化后的骨架图像
4 参考文献
北京清华大学出版1 Kenneth R,Castleman. Digital Image Processing.:
社,1998-04
李侠民徐美瑞两个快速的完全的并行细化算法计算机研究与发2 ,..展,1996,33(7):521-527
谭柏珠叶邦彦一种适用于工程图的快速细化算法微型机与应3 ,. .用,1999,(10):11-12张远鹏董海周文灵编著计算机图像处理技术基础北京北京4 ,
,..:大学出版社,1996-09
148
x x x 0 P=1 1P =0
8
x
x
x
x 0 x
x P=1 x x
1 x
P =0 20
上接第页(137)
步增大拥塞窗口和发送窗口前者能够以更快的速度发送数据包在图中我们看到
并一直保持着领
先的优势
我们可以得出结论
提升TCP 协议的性能
移动主机的
基站切换频繁的情况下
参考文献
1 Parsa C, Garcia-Luna-Aceves J J. Improving TCP Congestion Control over Internets with Heterogeneous Transmission Media. In Proceedings of IEEE ICNP '99, Toronto, 1999-10
á2 C ceres R, Iftode L. The Effects of Mobility on Reliable Transport Protocols. In Proceedings of the 14th International Conference on Distributed Computing Systems, 1994-06
3 Balakrishnan H, Padmanabhan V, Seshan S, et al. A Comparison of Mechanisms for Improving TCP Performance over Wireless Links. In IEEE/ACM Transactions on Networking, 1997-12
0 1 x 1P=1 0 x
x
1
P=1 1
x。

相关文档
最新文档