C++调用Asprise OCR识别图片
生活随笔
收集整理的這篇文章主要介紹了
C++调用Asprise OCR识别图片
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在一個識別軟件中發現了Asprise OCR的“身影”,上官網查了一下相關信息,發現功能挺強大的,識別印刷體應該不錯,遺憾的是好像不能識別中文,不過不知道它對扭曲后的英文識別能力怎么樣,否則的話可以用來識別驗證碼。在官網下載了C++的Demo,這里記錄一下。
1.準備
在官網下載C++的Dll和頭文件,創建使用VS2010創建win32工程,將下載的dll和文件拷貝到創建的工程目錄。
2.代碼
#include <iostream> #include "asprise_ocr_api.h"using namespace std;void testOcr() {const char * libFolder = "."; // 修改為dll所在目錄,這里.表示是當前目錄const char * fileImg = "test.png"; // 修改需要識別的圖片目錄,//加載dllLIBRARY_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 typelong 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);//卸載dllcout << "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.結果
原圖片(圖片格式):
識別后的pdf文檔:
總結
以上是生活随笔為你收集整理的C++调用Asprise OCR识别图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET(C#):使用SmtpClien
- 下一篇: 【ffmpeg for wince】音视