美文网首页
形态学图像处理3

形态学图像处理3

作者: 还浴月 | 来源:发表于2018-07-23 15:44 被阅读0次

细化算法

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

思路:我们假定一个图像的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参数指定操作后的输出图像。

相关文章

  • OpenCV图像处理(七)图像滤波(2)

    1、形态学滤波 简单来说,形态学操作就是基于形状的一系列图像处理操作,最基本的形态学操作:膨胀、腐蚀。在图像处理中...

  • 形态学图像处理1

    形态学,即数学形态学(Mathematical Morphology),在图像处理中有广泛的应用,主要应用是从图像...

  • 博客收集

    1. 图像处理: 图像处理基本算法-形态学OpenCV-Pythonimage fusion 2. 图像数据: I...

  • 灰度形态学基本运算

    上海交通大学 医学图像处理 与二值形态学相对应另一种形态学运算是灰度形态学。灰度形态学与二值形态学相比,不仅在图像...

  • Morphology -形态学操作

    前言 简单的来讲,形态学操作是基于形状的图像处理操作,通过将结构元素作用于输入图像来输出图像。 对图像形态学运算,...

  • imgproce腐蚀膨胀

    形态学操作简单来讲,形态学操作就是基于形状的一系列图像处理操作。通过将 结构元素 作用于输入图像来产生输出图像。 ...

  • 形态学图像处理3

    细化算法 “骨架”是指一幅图像的骨骼部分,描述物体的几何形状和拓扑结构,是重要的图像描绘子之一。计算骨架的过程一般...

  • OpenCV for Android (5)——腐蚀、膨胀、开闭

    1. 形态学操作 形态学操作就是基于形状的一系列图像处理操作。通过将结构元素作用于输入图像来产生输出图像。最基本的...

  • 图像的形态学变换

    在之前的图像处理中我们已经使用到了两个最基本的图像形态学变换:腐蚀和膨胀。但之前的文章并不主要讲解图像形态学变换,...

  • 灰度形态学的基本应用

    上海交通大学 医学图像处理技术 形态学边缘检测(Edge Detection) 用灰度形态学实现的边缘检测,按照...

网友评论

      本文标题:形态学图像处理3

      本文链接:https://www.haomeiwen.com/subject/uimvpftx.html