数字图像处理--掩膜重建

来源:互联网 发布:淘宝保证金别骗怎么办 编辑:程序博客网 时间:2024/05/16 19:12

内容描述:给定皮肤镜黑素细胞瘤图像,检测毛发噪声,并修复毛发遮挡部位的信息。

主要包括以下五个大的步骤,流程图如下:


过程分析

第一步:对原图进行灰值化处理;计算公式为:Gray = R*0.299 + G*0.587 + B*0.114。

下图分别为实验原图和灰值化之后的图:

                                            

图1                                                                                           图2 

第二步:波谷检测;波谷检测可以分解为两个小的步骤,首先是使用结构元素对原图进行灰度闭运算(先膨胀后腐蚀:填充物体内细小空洞、连接邻近物体),进过多次试验,最终采用的是5×5的结构元素;然后用原图减去闭运算的结果,会得到图像的波谷区,也就是本图中的毛发区域,检测结果如下图3所示。

第三步:固定阈值分割;由于图片中的毛发区域在整张图中的占比很小,查阅文献可知,一般情况下,毛发占比仅有5%,所以不宜使用大津阈值的方法,这里采用的是固定阈值分割,这里使用的阈值为15,由图4可知,除了毛发区域,也出现了很多小的噪声,所以需要对图像降噪。

                                              

图3                                                                                         图4 

第四步:区域生长;在这里区域生长的作用主要是用来滤除小噪声的,对整幅图进行区域生长,对每个连通区域进行数量统计,对于统计量小于15的区域进行滤除。降噪之后的结果如图5所示。

第五步:掩膜重建;首先,为了减少毛发区域的颜色对图像重建产生影响,以及标记掩膜区域,在原图中将毛发区域赋值为255;伪代码如下:

if (二值图掩膜区像素 == 255)  {

                      for(int k=0;k<3;k++) 

                           原彩色图对应的区域 = 255;  }

然后建立了一个9×9的模板,在原始彩色图毛发区域对原图进行滤波,伪代码如下:

if ( 二值图掩膜区像素== 255)

                            { 使用9×9的模板对原图进行卷积滤波 }

模板结构如下:


最后得到的结果如下图6所示。

                                                   

图5                                                                                             图6

结果分析

在整个实验中关键的一步是波谷检测,它能够有效的将原图中的毛发区域检测出来,提供了掩膜的主要框架,需要注意的是在结构元素选择的时候,选择稍微较大的结构元素,这样可以将图中较为粗大的毛发也能提取出来,否则将会提取不完整,如图7所示,当然也不能选择的太大,不然噪声会非常多。对于阈值分割和区域生长已经在过程分析中交代清楚,这里不再赘述。最后就是掩膜重建,在重建的时候,进行一次滤波不能达到有效的重建结果,如图8所示,所以需要多次滤波,这里选择的滤波次数loop=5。

                                                                                                             

图7                                                                                     图8      

0 0
原创粉丝点击