高帧率扑克牌识别技术详解一(可用于车牌识别,字符识别,人脸检测,验证码识别等等成熟领域)

时间:2024-03-11 16:45:58

本文主要介绍目前主流的adaboost目标检测算法,和CNN卷积神经网络字符识别算法。以扑克牌识别技术为题介绍相关的开发流程和经验。

整个系统包括,

1、摄像头采集,这里以USB摄像头通过directShow采集为例进行介绍。一个线程做采集,一个线程做检测识别。

2、字符检测正负样本得取。后面会详细介绍怎么在只有视频的情况下,

(1)自己写个鼠标拉框手工割取样本的软件,采用OpenCV的鼠标相应控件很容易实现。

(2)或者通过灰度化,自适应二值化,ROI找轮廓,轮廓筛选,ROI轮廓分割,自动割取样本;

(3)以及通过pictureRelate进行重复高样本自动剔除等等筛选。

3、adaboost字符检测:

(1)用adaboost+haar特征训练第2步中得取的样本。

(2)进一步将测试分割出的误识别样本,进行筛选,重复2,3两步。直到获得满意的检测率。

4、识别样本得取

(1)字符识别样本读取,分为0-10,JQK,共14个类别。

(2)花色样本得取,共桃杏梅方四个类。

5、采用CNN组进行样本训练识别。这里为了提高识别率,采用两个CNN分别识别4.1和4.2,采用两个CNN并行思路提升识别速度。

(1)针对4.1的14各类,训练一个CNN分类器;

(2)针对4.2的4各类训练一个CNN分类器。


在介绍系统之前先对本文涉及的两大算法做简要的介绍:

1、adaboost算法实例介绍,这里不上理论,直接来实例对照着学boosting的思路。

http://www.sigvc.org/bbs/thread-727-1-1.html





2、CNN算法详细介绍。

http://www.cnblogs.com/tornadomeet/archive/2013/05/05/3061457.html