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"; // 修改需要识别的图片目录, //加载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.结果
原图片(图片格式):

识别后的pdf文档:

4.相关下载
5.结束
C++调用Asprise OCR识别图片的更多相关文章
- Onenote实现OCR识别图片
OCR识别推荐两个软件: 1. Tesseract:一个开源的,由谷歌维护的OCR软件. 2. Onenote:微软Office附带或者可以自己独立安装. 3. O ...
- 【转】Python OCR识别图片验证码
转载自:博客 对于某些网站登录的时候,往往需要输入验证码才能实现登录.如果要爬虫这类网站,往往总会比这个验证码导致无法爬取数据.以下介绍一种比较折中的方法,也是比较可行的方法: 实现思想: 1.通过截 ...
- python截图+百度ocr(图片识别)+ 百度翻译
一直想用python做一个截图并自动翻译的工具,恰好最近有时间就在网上找了资料,根据资料以及自己的理解做了一个简单的截图翻译工具.整理一下并把代码放在github给大家参考.界面用python自带的G ...
- 基于百度云的OCR识别(Python)
2019年7月3日早上,在百度AI开发者大会上,一个来自山西的青年,将一瓶矿泉水浇在了同样来自山西的李彦宏身上. 可以回顾一下 https://b23.tv/av57665929/p1 ,着实让人一惊 ...
- 使用burp插件captcha-killer识别图片验证码
0x01 开发背景 说起对存在验证码的登录表单进行爆破,大部分人都会想到PKav HTTP Fuzzer,这款工具在前些年确实给我们带来了不少便利.反观burp一直没有一个高度自定义通杀大部分图片验证 ...
- 以API方式调用C# dll,使用OneNote2013 sp1实现OCR识别本地图片
http://www.cnblogs.com/Charltsing/p/OneNoteOCRAPI.html OneNote2013 OCR API调用使用说明2019.4.17 使用说明:1.安装干 ...
- 微信公众号开发调用摄像头、拍摄或选择图片、OCR识别
一 .准备工作 <1> 域名认证准备工作 在需要调用摄像头的接口页面引入微信的js,具体地址为:(支持https):http://res.wx.qq.com/open/js/ ...
- 图片文字OCR识别-tesseract-ocr
帮助文件:https://github.com/tesseract-ocr/tesseract/blob/master/doc/tesseract.1.asc 下载地址:https://github. ...
- Java文字识别软件-调用百度ocr实现文字识别
java_baidu_ocr Java调用百度OCR文字识别API实现图片文字识别软件 这是一款小巧方便,强大的文字识别软件,由Java编写,配上了窗口界面 调用了百度ocr文字识别API 识别精度高 ...
随机推荐
- miniMobile(手机)
官网:http://www.web2014.cn/
- 【洛谷P2574】XOR的艺术
XOR的艺术 题目链接 用线段树维护sum, 修改时 tag[p]^=1; sum=r-l+1-sum; 详见代码 #include<iostream> #include<cstdi ...
- video object detection
先说一下,我觉得近两年最好的工作吧.其他的,我就不介绍了,因为我懂得少. 微软的jifeng dai的工作. Deep Feature Flow github: https://github.co ...
- c语言描述的顺序表实现
//顺序表的实现:(分配一段连续地址给顺序表,像数组一样去操作) #include<stdio.h> #include<stdlib.h> #define OK 1 #defi ...
- js图片预览(一张图片预览)
核心思想:无论是一张图片上传还是多图上传,首先我们都需要先获得图片对象. 栗子: <inuput type="file" id="myfile" onch ...
- CentOS 7 下 Oracle 11g 安装教程
一.准备工作 1.关闭selinux 查看selinux状态: getenforce或者sestatus -v 临时关闭: setenforce 0 永久关闭: vim /et ...
- pl sql 存储过程、函数
存储过程用于执行特定的操作,当建立存储过程时,既可以指定输入参数(in),也可以指定输出参数(out),通过在过程中使用输入参数,可以将数据传递到执行部分:通过使用输出参数,可以将执行部分的数据传递到 ...
- c# 本地完整缓存组件
用了一段时间java,java实现服务端程序很简单,有很多公共开源的组件或者软件.但是c#的很少. 现在准备自己写点东西,学习下新的东西,总结下c#的内容以及我们经常用的内容,抽离成类,组件,模型.方 ...
- POJ 2318--TOYS(二分找点,叉积判断方向)
TOYS Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 17974 Accepted: 8539 Description ...
- 【TOJ 3305】Hero In Maze II
描述 500年前,Jesse是我国最卓越的剑客.他英俊潇洒,而且机智过人^_^.突然有一天,Jesse心爱的公主被魔王困在了一个巨大的迷宫中.Jesse听说这个消息已经是两天以后了,他急忙赶到迷宫,开 ...
