OpenCV C++基于CNN模型识别单个字符(OCR)
这个程序使用opencv text模块识别图片里的单个英文字符。
输入图片:
程序运行后显示识别结果和对应的置信度:
代码:
#include "opencv2/text.hpp" #include "opencv2/highgui.hpp" #include "opencv2/imgproc.hpp" #include <iostream> int main() { Mat image = imread("scenetext_char01.jpg"); Ptr<OCRHMMDecoder::ClassifierCallback> ocr = loadOCRHMMClassifierCNN("OCRBeamSearch_CNN_model_data.xml.gz"); string vocabulary = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; vector<int> out_classes; vector<double> out_confidences; ocr->eval(image, out_classes, out_confidences); cout << vocabulary[out_classes[0]] << ":"<< out_confidences[0]; return 0; }OCRBeamSearch_CNN_model_data.xml.gz在text模块里有提供。
