OpenCV C++基于AI模型的场景文本识别(OCR)

这个程序使用OpenCV识别场景中的文本。

输入图片:

程序运行后会在CMD里打印图片的识别结果:

代码:

cpp 复制代码
#include <iostream>
#include <fstream>

#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>

int main() {
	Mat image = imread("/path/to/text_rec_test.png");

    TextRecognitionModel model("path/to/crnn_cs.onnx");

    model.setDecodeType("CTC-greedy");
 
    std::ifstream vocFile;
    vocFile.open("path/to/alphabet_94.txt");
    String vocLine;
    std::vector<String> vocabulary;
    while (std::getline(vocFile, vocLine)) {
        vocabulary.push_back(vocLine);
    }
    model.setVocabulary(vocabulary);

    double scale = 1.0 / 127.5;
    Scalar mean = Scalar(127.5, 127.5, 127.5);
 
    Size inputSize = Size(100, 32);
 
    model.setInputParams(scale, inputSize, mean);

    std::string recognitionResult = recognizer.recognize(image);
    std::cout << "'" << recognitionResult << "'" << std::endl;

}

crnn_cs.onnx下载地址:

https://drive.google.com/uc?export=dowload\&id=12diBsVJrS9ZEl6BNUiRp9s0xPALBS7kt

alphabet_94.txt下载地址:

https://drive.google.com/uc?export=dowload\&id=1oKXxXKusquimp7XY1mFvj9nwLzldVgBR

相关推荐
审小匠OpenCPAi1 小时前
审计票据与财报 PDF 怎么识别?通用 OCR、表格结构识别与多模态大模型的精度对比
pdf·ocr·审计
anscos1 小时前
为CUDA 代码引入静态分析
c++·工业软件·功能检测
众少成多积小致巨1 小时前
C++ 规范参考(中)
c++
李昊哲小课1 小时前
FastAPI 猫咖预约系统 API
人工智能·python·fastapi
国服第二切图仔1 小时前
LabGuide (Pip) 的 【GPASS x 百宝箱】参赛获奖之路
人工智能·语音识别·gpass x 百宝箱·蚂蚁
中科天工1 小时前
数智引领 载誉启航|中科天工亮相第一届包装行业数字化大会,以AI驱动智能工厂从“蓝图”到“标杆”
大数据·人工智能
红色星际1 小时前
跨国车企智驾供应链重新洗牌
人工智能
OpenApi.cc1 小时前
来了,来了,我来了,Mocode
人工智能·深度学习·神经网络·目标检测·数据挖掘
shylyly_2 小时前
C++中的类型转换
开发语言·c++·匿名对象·隐式类型转换·拷贝优化