zoukankan      html  css  js  c++  java
  • C++调用Asprise OCR识别图片

    在一个识别软件中发现了Asprise OCR的“身影”,上官网查了一下相关信息,发现功能挺强大的,识别印刷体应该不错,遗憾的是好像不能识别中文,不过不知道它对扭曲后的英文识别能力怎么样,否则的话可以用来识别验证码。在官网下载了C++的Demo,这里记录一下。

    1.准备

    官网下载C++的Dll和头文件,创建使用VS2010创建win32工程,将下载的dll和文件拷贝到创建的工程目录。

    image

    2.代码

    #include <iostream>
    #include "asprise_ocr_api.h"
    
    using namespace std;
    
    void testOcr() {
        const char * libFolder = ".";   // 修改为dll所在目录,这里.表示是当前目录
        const char * fileImg = "test.png"; // 修改需要识别的图片目录,
    
        //加载dll
        LIBRARY_HANDLE libHandle = dynamic_load_aocr_library(libFolder);
        //输出当前OCR的版本信息
        cout << "Version: " << c_com_asprise_ocr_version() << endl;
    
        int setup = c_com_asprise_ocr_setup(false);
        if (setup != 1) {
            cerr << "Failed to setup. code: " << setup << endl;
            return;
        }
    
        // must be of long long type
        long long ptrToApi = c_com_asprise_ocr_start("eng", OCR_SPEED_FAST, NULL, NULL, NULL);
        //设置识别参数
        if (ptrToApi == 0) {
            cerr << "Failed to start." << endl;
            return;
        }
    
        cout << "OCR engine started. " << endl;
        //开始识别,OCR_OUTPUT_FORMAT_PDF表示输出为PDF文件,PROP_PDF_OUTPUT_FILE为文件名,
        //PROP_PDF_OUTPUT_TEXT_VISIBLE表示是否在原图片上面显示文字
        char * s = c_com_asprise_ocr_recognize(ptrToApi, fileImg, -1, -1, -1, -1, -1, OCR_RECOGNIZE_TYPE_ALL, OCR_OUTPUT_FORMAT_PDF,
            "PROP_PDF_OUTPUT_FILE=result.pdf,PROP_PDF_OUTPUT_TEXT_VISIBLE=true,PROP_PDF_OUTPUT_IMAGE_FORCE_BW=true,PROP_OUTPUT_SEPARATE_WORDS=false,PROP_PDF_OUTPUT_RETURN_TEXT=text", ",", "=");
    
        cout << "Returned: " << s << std::endl;
    
        //关闭
        c_com_asprise_ocr_stop(ptrToApi);
        //卸载dll
        cout << "Unload: " << (dynamic_unload_aocr_library(libHandle) ? "OK" : "Failed") << endl;
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        testOcr();
    
        std::cout << "Press ENTER to exit: ";
        std::cin.ignore();
        return 0;
    }

    3.结果

    原图片(图片格式):

    image

    识别后的pdf文档:

    image

    4.相关下载

    转到CSDN下载

    5.结束

  • 相关阅读:
    JS脚本延时
    Linux的关机与重启命令
    MasterCard信用卡测试卡号-creditcard-1
    HTTP_USER_AGENT
    nginx 502
    今天收到报警邮件,提示网站502 bad gateway,
    Iptables網路連線限制及攻擊防護和相關設定
    #添加屏蔽IP LINUX
    linux下启动和关闭网卡命令
    unfinish
  • 原文地址:https://www.cnblogs.com/Reyzal/p/5022690.html
Copyright © 2011-2022 走看看