1. 首页 > 智能数码 >

ocr 开源 ocr开源项目

OCR软件--天若开源版操作设置

OCR软件--天若开源版操作设置

ocr 开源 ocr开源项目ocr 开源 ocr开源项目


天若OCR文字识别开源版

天若OCR开源版5.0

由于采用了第三方OCR接口, 所以必须联网才能识别 ,识别效果非常不错,不满意可以尝试换接口

无需安装直接可以使用

官网免费版不能自定义接口 ,建议用开源版

天若OCR最近会出现 该区域未发现文本 问题,是因为作者提供的百度接口过度使用导致的,解决方法如下:

不管是4.8 4.9还是5.0版本,问题一样,你需要修改为自己的接口。

登录百度云

点控制管理台

产品服务找到文字识别

点击创建应用

内容看着填,点确认,直到创建成功

点击应用列表查看应用详情,

获取API Key 和 Secret Key

将API Key 和 Secret Key 分别填入天若OCR的帐号和密码中,点击密钥测试,显示密钥通过

关键的一步,很多人没注意,用F4截屏识别后,还会出现 该区域未发现文本 ,在识别界面“右击”-接口(默认腾讯)-百度-中英再次截屏识别,正常。

文档识别--一款免费图片转文字App可将图片上的文字识别提取出来,生成可编辑的Txt文本文件,也可以上传至电脑进行进一步编辑。

微软OneNote2007--作为偶尔使用的基本的OCR工作,微软OneNote的光学字符识别功能可以节省不少时间。你可能忽略了它…叫做从图片中复制文本。

SimpleOCR--我使用微软的工具进行手写体识别时遇到的困难,可以在 SimpleOCR 找到可能的解决方案。不过这款软件对于手写体的识别只提供14天的免费试用,尽管机器打印的识别没有任何限制。

TopOCR--与典型的 OCR 软件有所不同,是专为数码相机(至少300万像素)和带有摄像头的手机设计。就像 SimpleOCR,它有两个窗口界面 – 原始图像窗口和文本 窗口。

FreeOCR--使用 Tesseract OCR 引擎。 Tesseract OCR 代码于1985到1995年间由惠普实验室开发,现在输入 Google。它被认为是最精确的开源 OCR 引擎之一。FreeOCR 是其底层代码的一个简单 Windows 界面。

得力OCR文字识别软件提供了把图片上的文字扫描成文本的功能,简称OCR。它即可识别印刷字体,也可识别手写字体。可以用它来扫描各种证件,如:身份证、银行卡、名片、驾驶证、行驶证、发票和营业执照等。它还具备拍照翻译的功能,支持多种外语,是旅游必备工具。

听学top 有个免费的ocr功能 听学top 是在线点读软件 有一个拍照点读功能 包含了ocr 挺好的

Quicker官方网址: scanner:App store 自行下载即可0:00 前序2:12 痛点分析2:49 OCR介绍3:34 Windoors 系统Quicker软件介绍8:34 MAC OS 系统 Text scanner 软件介绍10:01 结尾

手机端有全能扫描王,ocr识别,pdf输出,对比度设置,文字加黑等等应有尽有!

OCR和OpenCV的区别在于应用领域和功能。

OCR是一种光学字符识别技术,主要用于将印刷体或手写体文字转换为可编辑的电子文本。OCR技术可以应用于身份证、银行卡、发票等文本信息的识别。而OpenCV是一个开源的计算机视觉库,主要用于图像处理、分析和识别。OpenCV可以应用于人脸识别、目标跟踪、图像分割等领域。因此OCR和OpenCV的区别在于应用领域和功能。

虽然OCR和OpenCV都涉及到图像处理和识别,但是它们的应用领域和功能不同。

光学字符识别(Optical Character Recognition, OCR)是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。亦即将图像中的文字进行识别,并以文本的形式返回。

ocr的发展已经有了非常多的积累,一般人或者企业使用, 都是直接使用第三方的服务,目前提供第三方服务的大企业也非常多,百度,阿里云,腾讯等等,都提供了非常方便的api接口,可以进行调用,识别的速度、精确度和效果也都是非常不错的。唯一的缺点就是api的调用是需要收费的,对于调用频次不高的个人和企业,这个费用还是非常低的。

目前因为公司的现状,使用开源的有几个目的

目前针对ocr的相关开源项目也还是有不少的,作者正好是公司也需要类似的功能,所以做了一些简单的调研,在这里进行记录。

对于调研不准确的希望大家指出

Tesseract 是谷歌开发并开源的图像文字识别引擎,使用python开发。

所以针对目前公司的现状,放弃了这个项目的学习和调研

PaddleOCR 是百度开源的中文识别的ocr开源软件

EasyOCR 是一个用 Python 编写的 OCR 库,用于识别图像中的文字并输出为文本,支持 80 多种语言。

chineseocr

chineseocr_lite

TrWebOCR

cnocr

针对上面的比较讨论,同时根据现在的公司的情况和之前既定的一些目标,暂时选择最简单的cnocr进行学习和内部学习和使用。同时也针对目前cnocr仅仅是一个python包,而且无法通过接口进行调用的情况,做了一个补充项目 hn_ocr 。

目前放到github上面,欢迎大家一起学习和完善。

如何通过Tesseract开源OCR引擎创建Android OCR应用

要编译Android平台的Tesseract,需要使用Google提供的tesseract-android-tools。

代码获取方式:

git clone https://code.。

打开README,在命令行工具中执行下面的步骤:

cd

curl -O https://tesseract-ocr。googlecode.。com/files/tesseract-ocr-3.02.02.tar.gz

curl -O http://leptonica。googlecode。com/files/leptonica-1.69.tar.gz

tar -zxvf tesseract-ocr-3.02.02.tar.gz

tar -zxvf leptonica-1.69.tar.gz

rm -f tesseract-ocr-3.02.02.tar.gz

rm -f leptonica-1.69.tar.gz

mv tesseract-3.02.02 jni/com_googlecode_tesseract_android/src

mv leptonica-1.69 jni/com_googlecode_leptonica_android/src

ndk-build -j8

android update project --target 1 --path .

ant debug (release)

注意:如果你在使用NDK r9,编译的时候会出现错误:

format not a string literal and no format arguments [-Werror=format-security]

解决的方法就是在Application.mk中加入一行:

APP_CFLAGS += -Wno-error=format-security

编译之后会生成class.jar和一些*.so。

Android OCR Application

创建一个Android应用,把生成的jar和so导入进来。

创建TessOCR:

public class TessOCR {

private TessBaseAPI mTess;

public TessOCR() {

// TODO Auto-generated constructor stub

mTess = new TessBaseAPI();

String datapath = Environment.getExternalStorageDirectory() + "/tesseract/";

String language = "eng";

File dir = new File(datapath + "tessdata/");

if (!dir.exists())

dir.mkdirs();

mTess.init(datapath, language);

}public String getOCRResult(Bitmap bitmap) {

mTess.setImage(bitmap);

String result = mTess.getUTF8Text();

return result;

}public void onDestroy() {

if (mTess != null)

mTess.end();

}}

构造函数中需要在存储卡上创建一个目录tessdata,如果不创建程序运行就会出错。因为源码中会检测这个目录,不存在就抛出异常:

public boolean init(String datapath, String language) {

if (datapath == null) {

throw new IllegalArgumentException("Data path must not be null!");

}if (!datapath.endsWith(File.separator)) {

datapath += File.separator;

}File tessdata = new File(datapath + "tessdata");

if (!tessdata.exists() || !tessdata.isDirectory()) {

throw new IllegalArgumentException("Data path must contain subfolder tessdata!");

}return nativeInit(datapath, language);

}就这么简单。现在通过三种方式获取图片做OCR:

在图库中选取一张图,选择发送或者分享,选择OCR应用

在AndroidManifest.xml中加入IntentFilter,让OCR应用出现在图库的分享列表中:

获得URI之后,对URI解码,获取bitmap:

if (Intent.ACTION_SEND.equals(intent.getAction())) {

Uri uri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);

uriOCR(uri);

}private void uriOCR(Uri uri) {

if (uri != null) {

InputStream is = null;

try {

is = getContentResolver().openInputStream(uri);

Bitmap bitmap = BitmapFactory.decodeStream(is);

mImage.setImageBitmap(bitmap);

doOCR(bitmap);

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

if (is != null) {

try {

is.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}}

}}

}启动OCR应用,从图库中选择一张图做OCR

发送Intent调用图库,在onActivityResult中获取返回的URI做OCR:

Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

startActivityForResult(intent, REQUEST_PICK_PHOTO);

启动OCR应用,拍照之后做OCR

为了获取高质量的图片,在Intent中加入图片路径。返回之后就可以直接使用这个图片路径解码:

private void dispatchTakePictureIntent() {

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

// Ensure that there's a camera activity to handle the intent

if (takePictureIntent.resolveActivity(getPackageManager()) != null) {

// Create the File where the photo should go

File photoFile = null;

try {

photoFile = createImageFile();

} catch (IOException ex) {

// Error occurred while creating the File

}// Continue only if the File was successfully created

if (photoFile != null) {

takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,

Uri.fromFile(photoFile));

startActivityForResult(takePictureIntent, REQUEST_TAKE_PHOTO);

}}

}最后不要忘记下载语言包,并push到存储卡的tessdata目录下。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息