最近在弄掌纹识别相关的事情,由于要用到大量掌纹数据,但大多都没有现成的ROI图片数据,因此必须手动或者自动截取图片,由于香港理工大学的公开掌纹库数量众多,决定写一个批量处理的程序,我便开始从网上搜集资料,发现一位大佬的写的文字不错茶洛特 ,但是根据他的方法来比较繁琐,而且鲁棒性不太行,有的图片ROI提取会导致失败,因此决定换个方式,先从数据看看掌纹图片的特征,如图所示
先将图片进行二值化处理,黑色的像素值为0,白色的像素值为1,由于单通道的图像,因此我们可以看作是一个二维数组,因此我们可以进行行列循环,将第一个的像素值为1的位置A点可以计算出来,同理,从最后一行开始循环,我们可以获取第一个像素值为1的位置B计算出来。然后将A,B连成一条直线,同时我们通过行列遍历,将像素值为1的列最远的位置C获取到,然后将直线AB平移到C后AB两点的位置分别记做A1,B1,然后我们再获取里右上角位置最近的位置D即可,其实D是进行了微调的,这里向左平移了20个像素点,主要是怕右边的列呈现弯曲状,然后计算AB直线和D的交点位置E,后面再微调E,以E为位置,ED为长宽,围城一个正方形,该正方形即为ROI,这种方式十分灵活和鲁棒性强,经过香港理工大学公开课掌纹的所有图像检测,所有的掌纹图片ROI提取成功!如图所示
需要源码的和ROI掌纹图片的可以联系我 qq:1449917271 微信:liuyoudyping
点击此处登录后即可评论