opencv 手写选择题阅卷 (二)字符识别
来源:互联网 发布:类似蝰蛇音效的软件 编辑:程序博客网 时间:2024/04/30 15:19
opencv 手写选择题阅卷 (二)字符识别
选择题基本上只需要识别ABCD和空五个内容,理论上应该识别率比较高的,识别代码参考了网上搜索的代码,因为参考的网址比较多,现在也弄不清是参考何处的代码了,在这里就不一一感谢了.
基本步骤:
一,识别函数接受一般64X64的灰度图像;
二,二值化并反色为黑底白字;
三,找出字符的最小包围矩形,并大小归一化为32X32;
四,计算图像的HOG特征;
五,用SVM分类器对HOG特征进行识别,从而确定当前图像属于ABCD还是空白;
整个识别代码还是比较简单的.这得得益于opencv 对分类器的封装,除了图像预处理代码,实际识别代码只有几行;
部分代码
CvSVM svm;int svm_inited = 0;int svm_init(char * data_filename){ svm.load(data_filename);//"HOG_SVM_DATA.xml" svm_inited = 1; return 0;}//int svm_recognition(IplImage* image){ if (svm_inited != 1){ return -1; } //预处理 IplImage* test_img = cvCreateImage(cvSize(32, 32), 8, 1); preproc_img(image, test_img);//处理为黑底白字,并大小归一化#ifdef _WIN32 cvShowImage("Image", test_img); cvWaitKey(0);#endif //特征提取 HOGDescriptor *hog = new HOGDescriptor(cvSize(32, 32), cvSize(16, 16), cvSize(8, 8), cvSize(8, 8), 9); vector<float> descriptors;//存放结果 hog->compute(test_img, descriptors, Size(1, 1), Size(0, 0)); //Hog特征计算 cvReleaseImage(&test_img);//释放不需要的图像,释放内存 //生成要检测的特征数据矩阵 CvMat * mat_samples = cvCreateMat(1, descriptors.size(), CV_32FC1); int n = 0; for (vector<float>::iterator iter = descriptors.begin(); iter != descriptors.end(); iter++) { cvmSet(mat_samples, 0, n, *iter); n++; } //识别 int ret = svm.predict(mat_samples);//检测结果 cvReleaseMat(&mat_samples); return ret;}
阅读全文
0 0
- opencv 手写选择题阅卷 (二)字符识别
- opencv 手写选择题阅卷 (一)表格设计与识别
- opencv 手写选择题阅卷 (三)训练分类器
- opencv 手写选择题阅卷 (四)Android端 手机应用开发
- OpenCV OpenGL手写字符识别
- 手写选择题识别-生成编译opencv项目.so文件-失败
- 手写选择题识别-边学边记录
- 手写选择题识别-透视变换
- OpenCV手写数字字符识别(基于k近邻算法)
- opencv 基于KNN的手写数字字符识别
- OpenCV手写数字字符识别(基于k近邻算法)
- OpenCV手写数字字符识别(基于k近邻算法)
- opencv(三):HOG+SVM实现手写字符识别
- OpenCV手写数字字符识别(基于k近邻算法)
- SVM手写字符识别
- 手写数字识别【QT+OpenCV】
- 手写选择题识别-封装tensorflow模型-移植到android程序
- 手写选择题识别-实现android调用c++ oepncv项目
- JSP内置对象---request对象
- 结合源码分析Spark中的Accuracy(准确率), Precision(精确率), 和F1-Measure
- 1636
- #pragma 预处理指令详解
- 创建ROS消息和ROS服务
- opencv 手写选择题阅卷 (二)字符识别
- LX
- Y
- 研磨设计模式之结构型:外观模式
- opencv 手写选择题阅卷 (三)训练分类器
- Mysql入门学习(2)之表级操作
- Lesson 3 上机练习题——继承
- 看源码了解Gson excludeStrategy的使用
- UBUNTU安装faac