OCR svm opencv3.1

    最近两天试着用svm来完成车牌识别的OCR部分,  查了中文资料大部分都是从opencv官网上原文截取的,  我都有些怀疑有些博主运行完样例程序之后有没有做下去..     google了一下也是,  前几页没看到想要的东西,  机器学习小白的心受到了打击,  所以就边看边玩了两天..  最后还是自己写了程序

    其实如果想先跑svm的话也不用去特意理解原理,  直接调用程序就好.  当然学学svm的原理更好,  这些天我就在看Andrew机器学习的网易公开课,   但是让我来讲的话怕误导人,  还是直接说怎么用吧

 
这里有个 SVM + HOG 摘要PPT

opencv的SVM是用的LIBSVM,  关于LIBSVM可以看看这个文档 ,  东西比较全

我也参考了下面的两个网站

http://www.csie.ntu.edu.tw/~piaip/svm/#      

http://docs.opencv.org/3.1.0/d0/dcc/tutorial_non_linear_svms.html#gsc.tab=0


-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

可以看看我的新文章 , HOG+svm 行人检测

http://blog.csdn.net/traumland/article/details/52288473, 里面有一些更加详细的解释

                                                                                                                2016.8.24

------------------------------------------------------------------------------------------------------------------------------------------------------------------------


首先呢,  先要准备用来训练的样本

    样本,  是由特征构成的   n维向量 

样本数为m时,   首先应该定义一个 m x  n 的Mat (或n x m)类型的变量.(非Mat类型的暂时还没有见过)


对于每个样本, 需要对应的标签, 比如说一共有 s 种标签, 那么对应应该定义一个 m x 1的Mat, 
且对应(i,0)像素要存标签名. i是[0,m)的整数, 对应该行样本
标签也可以用vector储存,  只需要对应push_back m个对应标签即可

对于 m x n 样本(samples), 由于每行代表一个样本, 所以要列方向进行行取样(ROW_SAMPLE), 
    cv::Ptr<cv::ml::TrainData> trainData =
            cv::ml::TrainData::create(samples, cv::ml::SampleTypes::ROW_SAMPLE,
                                      labels);
注意所有Mat要用CV_32F去存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值