Python调用Tesseract-OCR和Zxing完成图片OCR识别和二维码解码

先贴代码:

# 1.Install tesseract-ocr*.exe from http://jaist.dl.sourceforge.net/project/tesseract-ocr-alt/tesseract-ocr-setup-3.02.02.exe
# 2.Install pillow as"pip install form *.whl"
# 3.Install pytesseract as"pip install form *.whl"
import os.path
import pytesseract
from PIL import Image
from jpype import *
##################################################### Tesserace-ocr ####################################################
#image = Image.open(r"D:\Project\AI\1.MachineLearning\A.Tensorflow\2.Python_Prj\FirstPython\processed_7039.png")
image = Image.open(r"D:\Project\AI\1.MachineLearning\A.Tensorflow\2.Python_Prj\FirstPython\OCR2.png")
code = pytesseract.image_to_string(image)
code = code.replace(‘ ‘, ‘‘);
code = code.replace(‘-‘, ‘‘);
code = code.replace(‘\r‘, ‘‘);
code = code.replace(‘\n‘, ‘‘);
print(code)

##################################################### Zxing Decode #####################################################
# Start jvm
jarpath = os.path.join(os.path.abspath(‘.‘), ‘D:/Project/AI/1.MachineLearning/A.Tensorflow/2.Python_Prj/FirstPython/‘)
startJVM("C:/Program Files/Java/jre6/bin/server/jvm.dll", "-ea", ("-Djava.class.path=%s" % (jarpath + "javase-2.2.jar" + ";" + jarpath + "core-2.2.jar")))
# Load the useful library classes
File = JClass("java.io.File")
BufferedImage = JClass("java.awt.image.BufferedImage")
ImageIO = JClass("javax.imageio.ImageIO")
BinaryBitmap = JClass("com.google.zxing.BinaryBitmap")
DecodeHintType = JClass("com.google.zxing.DecodeHintType")
LuminanceSource = JClass("com.google.zxing.LuminanceSource")
BufferedImageLuminanceSource = JClass("com.google.zxing.client.j2se.BufferedImageLuminanceSource")
MultiFormatReader = JClass("com.google.zxing.MultiFormatReader")
NotFoundException = JClass("com.google.zxing.NotFoundException")
Result = JClass("com.google.zxing.Result")
HybridBinarizer = JClass("com.google.zxing.common.HybridBinarizer")
Hashtable = JClass("java.util.Hashtable")
# Do the qrcode decode
image = ImageIO.read(File("D:/Project/AI/1.MachineLearning/A.Tensorflow/2.Python_Prj/FirstPython/Qrcode1.jpg"))
source = BufferedImageLuminanceSource(image)
bitmap = BinaryBitmap(HybridBinarizer(source))
hints = Hashtable()
hints.put(DecodeHintType.CHARACTER_SET, "GBK")
result = MultiFormatReader().decode(bitmap, hints)
print(result)
# Shutdown JVM
shutdownJVM()
时间: 2024-11-10 00:23:22

Python调用Tesseract-OCR和Zxing完成图片OCR识别和二维码解码的相关文章

Zxing图片拉伸解决 Android 二维码扫描

二维码扫描  Android Zxing图片拉伸解决 Zxing是google提供的二维码扫描工程 默认是横屏的  转换成竖屏后图片出现拉伸 这里提供解决办法: Zxing  修改 CameraConfigurationManager.java文件的 void initFromCameraParameters(Camera camera)方法 在 Log.d(TAG, "Screen resolution: " + screenResolution);这句之后增加 Point scre

Android二维码开源项目zxing用例简化和生成二维码、条形码

上一篇讲到:Android二维码开源项目zxing编译,编译出来后有一个自带的测试程序:CaptureActivity比较复杂,我只要是把一些不用的东西去掉,用看起来更方便,二维码和条形码的流行性自不必说了. 自带的例子,目录结构如下: 修改后的程序目录结构,去掉了很多功能,如果分享.设置等. 先上效果图          扫描ZXing生成的条形码和二维码结果 扫描界面 扫描商品的条码 整个程序只修改了以下两个类,其它都是直接从原来的Demo中复制出来的 生成二维码的代码 /** * 生成二维

C#使用zxing,zbar,thoughtworkQRcode解析二维码,附源代码

最近做项目需要解析二维码图片,找了一大圈,发现没有人去整理下开源的几个库案例,花了点时间 做了zxing,zbar和thoughtworkqrcode解析二维码案例,希望大家有帮助. zxing是谷歌开源的二维码库,zbar,thoughtworkQRcode也是开源的,三者之间比较各有优劣 下面通过一个案例demo源码,来认识学习下这三者的实际解码效果, 第一次上传demo源码,献丑了 zbar解析关键代码: Image primaryImage = Image.FromFile(fileNa

【转】 Android 基于google Zxing实现对手机中的二维码进行扫描--不错

原文网址:http://blog.csdn.net/xiaanming/article/details/14450809 转载请注明出处:http://blog.csdn.net/xiaanming/article/details/14450809 我之前写了一篇关于google Zxing扫描二维码的文章,效果是仿微信的效果,有兴趣的朋友可以去看看基于google Zxing实现二维码.条形码扫描,仿微信二维码扫描效果,有时候我们有这样子的需求,需要扫描手机中有二维码的的图片,所以今天实现的就

Android 基于google Zxing实现对手机中的二维码进行扫描

转载请注明出处:http://blog.csdn.net/xiaanming/article/details/14450809 有时候我们有这样子的需求,需要扫描手机中有二维码的的图片,所以今天实现的就是对手机中的二维码图片进行扫描,我这里是直接在原来的工程上面加的这个功能,下面就简单介绍下这个小功能的实现,首先我在界面上加了一个ImageButton,图片还是用的微信的图片,下面是扫描界面的title <?xml version="1.0" encoding="utf

随手记一次利用开源zxing生成带嵌入logo的二维码图片

之前就在项目里面用过zxing生成二维码,最近另一个项目同样需要用到二维码,故重新在学了学利用zxing生成二维码 接下来先做准备工作了,因为我是用vs2013上开发的,故选择了.net4.5版本的zxing.dll.另外准备了一张准备嵌入的图片,代码如下: 1 using System; 2 using System.Collections; 3 using System.Collections.Generic; 4 using System.Drawing; 5 using System.L

.NET使用ZXing.NET生成中间带图片的二维码

很久之前就有写这样的代码了,只是一直没记录下来,偶然想写成博客. 把之前的代码封装成函数,以方便理解以及调用. 基于开源的 ZXing.NET 组件,代码如下: 先添加对ZXing.NET的引用,然后添加相应的命名空间: using System; using System.Collections.Generic; using System.Drawing; using ZXing; using ZXing.Common; using ZXing.QrCode; using ZXing.QrCo

Java使用ZXing生成/解析二维码图片

ZXing是一种开源的多格式1D/2D条形码图像处理库,在Java中的实现.重点是在手机上使用内置摄像头来扫描和解码设备上的条码,而不与服务器通信.然而,该项目也可以用于对桌面和服务器上的条形码进行编码和解码.目前支持这些格式: UPC-A and UPC-E EAN-8 and EAN-13 Code 39 Code 93 Code 128 ITF Codabar RSS-14 (all variants) RSS Expanded (most variants) QR Code Data M

安卓实现二维码生成和扫描功能,扫描支持直接拍照扫码和相册图片扫码,还加了照明功能

最近在做二维码的生成和扫描,生成二维码相对而言较为简单,扫描相对复杂,遇到的问题较多,但是在实现二维码的生成和扫描之前最重要的一步 就是讲Zxing包导入,后面的内容大部分是使用包中的内容, 那我就从二维码的生成讲起吧! 二维码生成: 直接贴代码了 1 //要转换的地址或字符串,可以是中文,输入内容生成二维码 2 public Bitmap createQRImage(String string) { 3 try { 4 Hashtable<EncodeHintType, String> hi