形态学图像处理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参数指定操作后的输出图像。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容

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