- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
车牌字符识别OCR算法评估
最近学习了《Mastering Opencv with Pratical Computer Vision Projects》中第五章:基于SVM和神经⽹络的车牌识别系统。原⽂最
后提到:当训练OCR这样的机器学习算法时,需要知道所使⽤的最佳参数和特征,以及如何修正项⽬中出现的分类、识别和检测错误。⽂
中给出的⽅法是直接读取保存样本特征的XML⽂件,将所有样本分为测试组(100个)和训练组,最后通过UNIX脚本来批量不同参数下误
差率的计算,并使⽤gnuplot绘图显⽰。因为本⼈对UNIX脚本语⾔没有接触,这⾥提供⼀种⽣成.m⽂件,导⼊matlab实现误差率与所取特
征可视化⽅法。
1.OCR算法评估类
class evalOCR {
public:
OCR ocr;
static const int TRAIN_DATA_TYPE_NUM=4;
public:
//随机选取100个样本
void generateRandom(int n,int min,int max,vectorint *samples);
//对样本进⾏测试并求出误差率
float test(Mat samples,Mat classes);
//⽣成可视化.m⽂件
void evaluate(const char* xml_file_path, const string resName);
void evaluate(const char* xml_file_path,vectorvectordouble prec);
int PrintVector(FILE *f, const vectordouble v, const string name, int maxNum);
};
2.OCR算法类的具体实现
#include evalOCR.h
char* data_type[4]={TrainingDataF5,TrainingDataF10,TrainingDataF15,TrainingDataF20};
// 随机抽取100个样本
void evalOCR::generateRandom(int n,int min,int max,vectorint *samples) {
int range=max-min;
int r=rand()%range+min;
if(samples-at(r)==0) {
samples-at(r)=1;
n++;
}
if(n100) {
generateRandom(n,min,max,samples);
}
}
//通过训练模型分类结果与原始类别进⾏对⽐,求出错误率
float evalOCR::test(Mat samples,Mat classes) {
float errors=0;
for(int i=0;isamples.rows;i++) {
int result=ocr.classify(samples.row(i));
if(result != classes.atint(i))
errors++;
}
return errors/samples.rows;
}
void evalOCR::evaluate(const char* xml_file_path, const string resName) {
vectorvectordouble prec(TRAIN_DATA_TYPE_NUM);
int NUM_MLP;
static const int SHOW_COLOR_NUM = 7;
static const char* colorShow[SHOW_COLOR_NUM] = {k, b, g, r, c, m, y};
FILE* f = fopen(resName.c_str(), w);
FILE* f = fopen(resName.c_str(), w);
CV_Assert(f != NULL);
fprintf(f, clear;\nclose all;\nclc;\nhold on;\nfigure(1);\n
您可能关注的文档
- 专家解读:武汉工程大学是一本吗?在湖北高校排名怎么样?.pdf
- 102学年度第2学期辅仁大学大陆地区学生各项收费标准表.pdf
- 国际化方案——精选推荐.pdf
- groovy风格字符串截取、赋值、拼接.pdf
- 专业与职业丨武汉工程大学测控技术与仪器.pdf
- 七年级数学上学期易错题及压轴题.pdf
- C语言__LINE__-C语言零基础入门教程.pdf
- 大学生创业实训教学课程设计方案.pdf
- 一次性快餐盒.pdf
- 怎么计算买基金的年化收益率.pdf
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
文档评论(0)