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

相关推荐
goujunwe9 小时前
GEO 内容的“可摘录性”打磨技巧:段落、表格、小标题怎么写,方便大模型提取独立答案块
大数据·人工智能
羲云网络10 小时前
GPT Image 2.6 接入指南:Flare、Sunburst 怎么选,编辑失败如何排查
人工智能·python·aigc·图像生成·acedatacloud
张张123y10 小时前
DSH 插件调试避坑:client.js 设置面板、热重载与高频报错排查表
开发语言·javascript·人工智能·开源·ecmascript·后端开发·ai agent
wo_jack11 小时前
C++ 入门笔记(十六):第16课 vector 模拟实现十问十答 —— 从三指针到迭代器失效
c++·后端·面试·stl·vector
tellmewhoisi12 小时前
深度学习0:数学知识:正态分布4(坐标变换的缩放比例(面积微元变换))
人工智能·深度学习
D e re k ZH12 小时前
C++ 标准库算法全景指南
数据结构·c++·算法
布吉岛的石头12 小时前
Java 程序员第 50 阶段14:灾难性遗忘与回放
人工智能·深度学习·transformer
不吃鱼的羊12 小时前
诊断27解锁dll文件制作(Visual Stdio无法安装版)
人工智能
后端小肥肠12 小时前
漫画工坊上线用户破百:公众号漫画从需求到变现全复盘
人工智能·aigc·agent