OpenCV C++识别词典里的单词(OCR)

📅 2026/8/5 4:21:56
OpenCV C++识别词典里的单词(OCR)
这个程序使用OpenCV text模块识别词典里的单词。首先创建了一个词典包含abbriserCHINAHEREPresidentsmashKUALAProduktNINTENDO。程序会输出词典里有的单词以减少识别错误。输入的4张图片运行程序后会在CMD里输出识别结果代码int main() { Mat image imread(scenetext_word04.jpg); string vocabulary abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789; vectorstring lexicon; lexicon.push_back(string(abb)); lexicon.push_back(string(riser)); lexicon.push_back(string(CHINA)); lexicon.push_back(string(HERE)); lexicon.push_back(string(President)); lexicon.push_back(string(smash)); lexicon.push_back(string(KUALA)); lexicon.push_back(string(Produkt)); lexicon.push_back(string(NINTENDO)); Mat transition_p; createOCRHMMTransitionsTable(vocabulary,lexicon,transition_p); Mat emission_p Mat::eye(62,62,CV_64FC1); PtrOCRBeamSearchDecoder ocr OCRBeamSearchDecoder::create( loadOCRBeamSearchClassifierCNN(OCRBeamSearch_CNN_model_data.xml.gz), vocabulary, transition_p, emission_p, OCR_DECODER_VITERBI, 50); string output; vectorRect boxes; vectorstring words; vectorfloat confidences; ocr-run(image, output, boxes, words, confidences, OCR_LEVEL_WORD); cout output endl; }