基于阈值图像处理的目标检测
从今天起开始要写一些关于目标检测的文章,涵盖从简单的阈值图像处理检测、霍夫变换(hough transform)检测、模版匹配检测(刚体匹配)、AAM+ASM+ACM(非刚体)匹配检测到近代机器学习方法检测,尽量贴一些代码,这些很实用。本篇就从阈值图像处理检测开始。阈值顾名思义就是一个分界值,做图像处理的都明白阈值的用途,但是考虑到各种观众,干脆把OpenCV中的各种阈值标识符和对应代码示意都贴出来,如(图一)所示:
(图一)
仔细阅读下(图一)中的各种伪代码,就很容易明白阈值函数的工作机制,其中src(x,y)是图像像素点值。下面就给出一个处理答题卡的例子,(图二)是从网上找到的一个答题卡样图,我们的目标是检测到哪些选项被涂黑了,然后根据坐标判定是哪个数字,其实根据坐标是有依据的,因为答题卡四个角有一些对准线,对齐后用扫描仪扫描后紧跟着经过算法处理就可以判断出考生选项,本篇文章就简化流程,考虑到涂的选项是黑色的,因此我们使用第二个阈值方法,经过处理后如(图三)所示。
(图二) (图三)
几乎perfect,嘿嘿,下面把代码也贴出来,Python版本的。