导航:首页 > 源码编译 > ocr源码

ocr源码

发布时间:2022-02-14 03:43:19

❶ 关于有谁用过tesseract-ocr开源吗

Tesseract是图盲,默认情况下只能看得懂未压缩的TIFF图像,如果直接用tesseract处理其它格式的图片,会报错如下:_to_image_type:Error:Unrecognizedimagetype:code.jpgIMAGE::read_header:Error:Can’treadthisimagetype:code.jpgtesseract:Error:Readoffilefailed:code.jpg所以需要用ImageMagick来转换图片格式,ImageMagick(TM)是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布。它遵守GPL许可协议。它可以运行于大多数的操作系统。ImageMagick的大多数功能的使用都来源于命令行工具。通常来说,它可以支持以下程序语言:Perl,C,C++,Python,PHP,Ruby,Java;现成的ImageMagick接口(PerlMagick,Magick++,PythonMagick,MagickWandforPHP,RubyMagick,andJMagick)是可利用的。这使得自动的动态的修改创建图片变为可能。ImageMagick支持至少90种图片格式:A,ART,AVI,AVS,B,BIE,BMP,BMP2,BMP3,C,CACHE,CAPTION,CIN,CIP,CLIP,CLIPBOARD,CMYK,CMYKA,CUR,CUT,DCM,DCX,DNG,DOT,DPS,DPX,EMF,EPDF,EPI,EPS,EPS2,EPS3,EPSF,EPSI,EPT,EPT2,EPT3,FAX,FITS,FPX,FRACTAL,G,G3,GIF,GIF87,GRADIENT,GRAY,HDF,HISTOGRAM,HTM,HTML,ICB,ICO,ICON,JBG,JBIG,JNG,JP2,JPC,JPEG,JPG,JPX,K,LABEL,M,M2V,MAP,MAT,MATTE,MIFF,MNG,MONO,MPC,MPEG,MPG,MSL,MTV,MVG,NULL,O,OTB,P7,PAL,PALM,PATTERN,PBM,PCD,PCDS,PCL,PCT,PCX,PDB,PDF,PFA,PFB,PGM,PGX,PICON,PICT,PIX,PJPEG,PLASMA,PNG,PNG24,PNG32,PNG8,PNM,PPM,PREVIEW,PS,PS2,PS3,PSD,PTIF,PWP,R,RAS,RGB,RGBA,RGBO,RLA,RLE,SCR,SCT,SFW,SGI,SHTML,STEGANO,SUN,SVG,SVGZ,TEXT,TGA,TIF,TIFF,TILE,TIM,TTC,TTF,TXT,UIL,UYVY,VDA,VICAR,VID,VIFF,VST,WBMP,WMF,WMFWIN32,WMZ,WPG,X,XBM,XC,XCF,XPM,XV,XWD,Y,YCbCr,YCbCrA,YUV,ImageMagick.NET的相关项目:UseMagickNettoconvert,compose,andeditimagesfromWindows.NET.ImageMagickAppisa.NETapplicationwritteninC#ormatstodifferentformats.假设需要识别的图片验证码为code.jpg,需要做的只有两步:d:\ImageMagick\convert.exe-compressnone-depth8-alphaoff./code.gif./code.tifD:\\tesseract\\tesseract.exe./code.tif./result结果就在文本文件./result.txt里面了,tesseract会自动地在./result后面添加上后缀名.txt。然后再对两个命令做点解释。convert.exe:ImageMagick套件的一部分,负责图片格式转换,各个参数的意义如下:-compressnone:转换后的图片不要压缩,如果没有加这一项,后续tesseract处理的时候会报错:read_tif_image:Error:Illegalimageformat:Compression-depth8:设置转换后图像的色深为8位,也就是bpp为8。如果没有此参数,后果如下:_legal_image_size:Error:Only1,2,4,5,6,8bpparesupported:16Segmentationfault-alphaoff:在转换后的图像中不要添加alpha图层。如果没有此参数,后果同上。紧跟着就是待转换的图片的文件名,最后是转换后的图片的文件名。

❷ 有什么比较好的支持中文ocr开源库

需要OCR识别开发代码可以到云脉OCR SDK开发者平台下载给类OCR识别API接入文档

❸ 有什么比较好的支持中文ocr开源库

好像叫openocr的,中文要配置下,那天初略看了下,没深入研究,是用docker的,非常方便

❹ 身份证OCR识别有没有开源实现的

如果自己没有开发条件的话推荐嵌入身份证识别API接口进行开发,云脉OCR SDK开发者平台有提供各类OCR SDK的API接口文档下载。

❺ OCR 开源的库识别率比较好的有哪些

OCR技术是光学字符识别的缩写(Optical Character Recognition),是通过扫描等光学输入方式将各种票据、报刊、书籍、文稿及其它印刷品的文字转化为图像信息,再利用文字识别技术将图像信息转化为可以使用的计算机输入技术。云脉以OCR识别技术为基础,推出驾驶证识别、行驶证识别、文档识别、名片识别、车牌识别、护照识别等OCR识别功能的工具...

❻ 关于ocr扫描的问题。目的是能实验扫描出数字即可。(需要源码)

在国际领域来讲,纯数字的识别技术已经是极为简单的识别应用。如果基于国内来讲涵盖的中文复杂性,这个有点难度。目前我考察过一些公司,汉王 厦门图睿 名片王等一些,汉王的人脸考勤机推广还行,厦门图睿身份证 银行卡识别技术很好,名片王自然名片领域搞的很优秀。希望这些信息能够给你带来帮助!

❼ tesseract-ocr源文件怎么用

如果你是终端用户请下载exe安装包,

这个是源码包是针对开次开发或DIY用户使用的

如果你想自己编程调用请直接看api目录的api.cpp文件即可

这个文件是调用入口,里面有详细的注释,只不过是英文的

❽ 开源ocr哪个好

纸张在许多地方已日益失宠,无纸化办公谈论40多年,办公环境正限制纸山的生成。而过去几年,无纸化办公的概念发生了显着的转变。在计算机软件的帮助 下,包含大量重要管理数据和资讯的文档可以更方便的以电子形式储存。扫描文档的好处不纯粹是存档理由。为了访问基于纸张的信息和将信息整合进数字工作流, 光学字符识别(OCR)技术至关重要。选择正确的OCR工具要基于特定需求而定,例如在线OCR服务对某些人有用,但可能存在隐私问题和文件大小限制。 OCR软件非大众产品,因此开源替代相对于商业级重量级产品相对较少,再加上OCR软件需要先进的算法将扫描的图像正确翻译成实际的文字,而图像不仅仅含 有文字,它还包含布局、图形和表格,可能会跨越多页。
优秀的开源OCR软件包括:
Tesseract
原本由惠普开发的图像识别类库tesseract-ocr已经更新到2.04, 就是最近Google支持的那个OCR。原先是惠普写的,现在Open source了。
OCRopus
Ocropus的(TM)是一个先进的文件分析和OCR系统,采用可插入的布局分析,可插入的字符识别,自然语言统计建模和多语言支持功能。
Cuneiform
Cuneiform 是一个 OCR 文字识别系统的商标,最开始是由Cognitive 技术所开发的运行在 Windows 下的软件。而这个项目是该软件在 linux 系统下的移植版本。
GOCR
GOCR 是一个开源的OCR光学识别程序。

OCRFeeder
OCRFeeder 是 GNOME 桌面下的一个开源 OCR 套件。可将纸质或者图形文档转成电子文档。

Lios
linux-intelligent-ocr-solution (Lios) 是Linux下一个开源的 OCR 解决方案,可将打印的文档转成可编辑的文本。

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

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

代码获取方式:

git clone https://code.。google.com/p/tesseract-android-tools/
打开README,在命令行工具中执行下面的步骤:

cd <project-directory>
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应用出现在图库的分享列表中:

<intent-filter>
<action android:name="android.intent.action.SEND" />

<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
<data android:mimeType="image/*" />
</intent-filter>
获得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目录下。

❿ 求下载此OCR模块源码

http://dl3.pudn.com/downloads63/sourcecode/graph/3970958120067-ocr.rar
要下赶快。不然PUDN网站又要改链接了。

阅读全文

与ocr源码相关的资料

热点内容
如何重启或关闭服务器 浏览:348
pdf文档加水印 浏览:836
机构抢筹指标公式源码 浏览:266
linux脚本awk 浏览:558
程序员怎么跟领导提升 浏览:75
pdf怎么生成目录 浏览:387
如何保护自己的服务器 浏览:69
html5上传图片压缩 浏览:473
支付宝账单文件如何解压 浏览:859
查看内核版本命令 浏览:956
w10加密盘驱动锁死怎么办 浏览:946
全新云服务器价格对比 浏览:387
python为什么去除了switch语句 浏览:56
二进制7到8的算法 浏览:808
服务器机柜叫什么名字 浏览:347
vue3源码作者 浏览:830
app右下角标怎么关 浏览:833
怎么对一个盘加密码 浏览:672
练习sql用什么样的服务器 浏览:980
asp与php对比 浏览:645