形态学图像处理3

细化算法

“骨架”是指一幅图像的骨骼部分,描述物体的几何形状和拓扑结构,是重要的图像描绘子之一。计算骨架的过程一般被称为“细化”或“骨骼化”,对目标物体进行细化有助于突出目标的形状特点和拓扑结构,减少冗余的信息。

思路:我们假定一个图像的3×3区域标记为P1,P2,....,P9,如下,

· · · ·
· P3 P2 P9
· P4 P1 P8
· P5 P6 P7

规定1表示黑色,0表示白色,如果中心P1=1(为黑),若同时满足下列4个条件,则删除P1(令P1=0),

  1. 2<=NZ(P1)<=6;
  2. Z0(P1)=1;
  3. P2×P4×P8=0或者Z0(P1)不等于1;
  4. P2×P4×P6=0或者Z0(P4)不等于1;

其中,NZ(P)表示P点的8邻域中1的数目,如下表所示,

· · · ·
· P-1,-1 P-1,0 P-1,1
· P0,-1 P0,0 P0,1
· P1,-1 P1,0 P1,1

而Z0(P)按照以下方式计算,

nCount=0;
if P-1,0=0 && P-1,-1=1
        nCount++;
if P-1,-1=0 && P0,-1=0
        nCount++;
if P0,-1=0 && P1,-1=1
        nCount++;
if P1,-1=0 && P1,0=1
        nCount++;
if P1,0=0 && P1,1=1
        nCount++;
if P1,1=0 && P0,1=1
        nCount++;
if P0,1=0 && P-1,1=1
        nCount++;
if P-1,1=0 && P-1,0=1
        nCount++;
Z0(P)=nCount;

而后对图像中的每一个点都进行重复这些步骤,直到所有的点都不可删除为止。

像素化算法

细化通常适用于和物体拓扑结构或形状有关的应用,比如手写字符识别等,但有时候关心的是目标对象是否存在,它们的位置关系或者是个数,这个时候我们就可以用像素化的方法进行预处理。

像素化的操作就是先找到在二值图像中所有的连通区域,然后用这些区域的质心作为这些连通区域的代表,即将一个连通区域化为位于连通区域质心的一个像素

有时候为了过滤噪声,我们可以设定一个低阈值lowerThres和一个高阈值upperThres用来指出图像中所需要的对象的连通数(也就是连通分量的像素数目),就可以将连通数在范围之外的对象滤除。

凸壳

如果连接物体A内任意两点的直线段都在A的内部,则称A是凸的,**任意物体A的凸壳H是包含A的最小凸物体。

因为光照不均等其他原因,所以图像在二值化之后,本身形状容易发生破损,也就不那么容易找到质心,所以适当的进行凸壳处理,可以找到包含原始形状的最小凸多边形,便于找到物体质心而后进行像素化处理。

bwmorph()函数

matlab中有一个bwmorph()函数,很多形态学操作都可以利用这个函数进行实现,

Iout=bwmorph(I,operation,n);

参数说明:

  • I为输入二值图像;
  • operation是一个指定操作类型的字符串,有如下取值,
合法取值 功能描述
‘bridge’ 桥接由单个像素缝隙分隔的前景像素
‘clean’ 清除孤立的前景像素
‘diag’ 围绕对角线相连的前景像素进行填充
‘fill’ 填充单个像素的孔洞
‘hbreak’ 去掉前景中的H形连结
‘majority’ 如点P的8邻域中一半以上的像素为前景像素,则使P也为前景像素;否则P为背景像素
‘remove’ 去除内部像素(无背景像素相邻的前景像素)
‘shrink’ 将物体收缩为一个点或者带洞的环形
‘skel’ 骨骼化图像
‘spur’ 去除毛刺
‘thicken’ 粗化物体
‘thin’ 将物体细化至最低限度相连的线形
  • 可选参数n是一个正整数,用于指定将被重复操作的次数,默认为1。当设定为n=Inf时表示重复操作一直到图像停止改变为止。
  • Iout为经过n次operation参数指定操作后的输出图像。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文转自 python数字图像处理 霍夫线变换 在图片处理中,霍夫变换主要是用来检测图片中的几何形状,包括直线、圆...
    jiandanjinxin阅读 33,517评论 6 23
  • 不同图像灰度不同,边界处一般会有明显的边缘,利用此特征可以分割图像。需要说明的是:边缘和物体间的边界并不等同,边缘...
    大川无敌阅读 13,968评论 0 29
  • 二值图像中的形态学应用 击中击不中 形态学击中击不中变换常用于图像中某种特定形状的精确定位,是一种形状检测的基本工...
    还浴月阅读 2,289评论 1 1
  • 长安城彻夜繁华,明媚的江边荡漾着碧波和月儿的柔光。 这是一年一度的花会,每每这个时候,无数才子佳人都会相携而来,嘴...
    云春风阅读 212评论 0 0
  • 因为我,妳爱上了女人,因为爱上了女人,所以妳爱上了阿俊。 这件事并不是妳告诉我的,是我自己猜到,再由别人的口中说出...
    Zero梓诺阅读 292评论 0 1