第二次大作业——缺失检测
实验内容
文件夹images中有一些药片图片,其中有2张文件名中带有reference的分别是2类药片的参考图像,其他的为带检测图像,有些图片中有完整的药片填充,而有些缺失。要求将缺失药片的图片找到,并标注药片缺失的位置。
实验思路
刚看到这几个图片的时候,可以说毫无思绪可言。上网搜了一下想看看别人是怎么做的。发现有好多人都用的HALCON。然后自己并不会,最后本次实验是参考网上的一篇博文[i]所实现的。
首先是对图像的预处理,使我们可以明显地看到各个胶囊的大小及缺失情况。
因为在实验过程中没有发现图像受噪声影响,所以预处理该图像时没有去噪。首先是对图像进行二值化处理,这里直接使用的是固定阈值的方法,因为可以简便地更改阈值,通过肉眼观察不同阈值的处理结果,选取自己认为最好的。
二值分割后发现胶囊边缘有许多边边角角,但是其实自己刚开始没有太关注它,不知道他会对下面的结果产生什么影响,所以就接着做下面的处理。
因为是要检测出缺失的胶囊或者是尺寸过小的胶囊,在老师的提醒下,想到了用面积进行比较。所以想到用到填充函数。但是填充函数只能自动填充封闭的区域,我们观察到该二值化图像每个胶囊的区域并不封闭。
所以想到了对图像进行形态学处理——闭运算,先对图像进行膨胀后腐蚀。因为闭运算可以用来填充物体内的小空洞,连接邻近的物体,连接断开的轮廓线,平滑其边界的同时不改变面积。闭运算结果如图 1所示
图 1
闭运算之