Java 扫描识别条形码图片
1.条形码扫描识别的实现方法及步骤
本文以Java代码示例介绍如何来扫描和识别条形码图片。这里使用免费条码工具 Free Spire.Barcode for Java,调用BarcodeScanner类中的scan(java.lang.String fileName, BarCodeType barcodeType)方法扫描识别指定类型条码中包含的数据。在编辑代码前,先参考如下步骤手动将jar包导入Java程序:



完成导入:

【Java】
import com.spire.barcode.*;
public class ScanBarcode {
public static void main(String[] args)throws Exception{
String[] datas = BarcodeScanner.scan("EAN_13.png", BarCodeType.EAN_13);
System.out.print(datas[0]);
}
}
执行程序,扫描识别条形码图片,获取条码中包含的数据:

2.条形码扫描的方法归纳
这里的BarcodeScanner类提供了多个扫描图片的方法,见下表1
表格1:
|
Method Summary |
|
|
static java.lang.String[] |
scan(java.awt.image.BufferedImage bitmap) |
|
Static java.lang.String[] |
scan(java.awt.image.BufferedImage image, BarCodeType barcodeType) |
|
Static java.lang.String[] |
scan(java.awt.image.BufferedImage bitmap, |
|
Static java.lang.String[] |
scan(java.io.InputStream stream) |
|
Static java.lang.String[] |
scan(java.io.InputStream stream, |
|
Static java.lang.String[] |
scan(java.lang.String fileName) |
|
Static java.lang.String[] |
scan(java.lang.String fileName, BarCodeType barcodeType) |
|
Static java.lang.String[] |
scan(java.lang.String fileName, |
|
Static java.lang.String |
scanOne(java.awt.image.BufferedImage bitmap) |
|
Static java.lang.String |
scanOne(java.io.InputStream stream) |
|
Static java.lang.String |
scanOne(java.io.InputStream stream, |
|
Static java.lang.String |
scanOne(java.lang.String fileName) |
|
Static java.lang.String |
scanOne(java.lang.String fileName, |
3. 条码生成及扫描类型汇总
因本次使用的是免费版的Barcode API,对支持生成的条码类型以及扫描的条码类型上有所限制,详细内容见下表2。在使用时,可根据自己的程序要求看条码类型是否支持。
表格-2:
|
条形码类型 |
生成的条形码类型 |
扫描条形码类型 |
|
CODE 25 |
× |
× |
|
CODABAR |
√ |
√ |
|
CODE 11 |
√ |
√ |
|
INTERLEAVED 25 |
× |
× |
|
CODE 39 |
√ |
√ |
|
CODE 39 EXTENDED |
√ |
√ |
|
CODE 93 |
√ |
√ |
|
CODE 93 EXTENDED |
√ |
√ |
|
CODE 128 |
√ |
√ |
|
EAN 8 |
√ |
√ |
|
EAN 13 |
√ |
√ |
|
EAN 128 |
√ |
× |
|
EAN 14 |
√ |
√ |
|
SCC 14 |
√ |
√ |
|
SSCC 18 |
× |
× |
|
ITF 14 |
× |
× |
|
ITF 6 |
× |
× |
|
UPCA |
× |
× |
|
UPCE |
× |
× |
|
POST NET |
√ |
× |
|
SINGAPORE POST 4 STATE |
× |
× |
|
PLANET |
× |
× |
|
MSI |
× |
× |
|
RSS 14 |
× |
× |
|
RSS 14 TRUNCATED |
× |
× |
|
RSS LIMITED |
× |
× |
|
RSS EXPANDED |
× |
× |
|
USPS |
× |
× |
|
SWISS POST PARCEL |
× |
× |
|
PZN |
× |
× |
|
OPC |
× |
× |
|
DEUTSCHE POST IDENTCODE |
× |
× |
|
DEUTSCHE POST LEITCODE |
× |
× |
|
ROYAL MAIL 4 STATE |
× |
× |
|
DATA MATRIX |
× |
× |
|
QR CODE |
√ |
× |
|
PDF 417 |
× |
× |
|
PDF 417 MACRO |
× |
× |
注释: √ 表示支持,× 表示不支持
—End—
Java 扫描识别条形码图片的更多相关文章
- Android实现OCR扫描识别数字图片之图片扫描识别
[Android实例] Android实现OCR扫描识别数字图片之图片扫描识别 Android可以识别和扫描二维码,但是识别字符串呢? google提供了以下解决方案用的是原来HP的相关资料. 可以吧 ...
- Java 创建/识别条形码、二维码
条形码(Barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符.常用于标示物品的生产国.制造厂家.商品名称.生产日期.图书分类号.邮件起止地点.类别.日期等 ...
- java指纹识别+谷歌图片识别技术_源代码
主类: import java.awt.image.BufferedImage; import java.util.ArrayList; import java.util.List; public c ...
- java指纹识别+谷歌图片识别技术
http://www.icodeguru.com/3/2451.html http://valseonline.org/thread-124-1-1.html
- c#OpenCVSharp+Zxing识别条形码
参考博客:https://www.cnblogs.com/dengxiaojun/p/5278679.html,但是他的demo下载太贵了 可以下载这个https://download.csdn.ne ...
- HTML5实现扫描识别二维码/生成二维码
扫描识别二维码 思路: 1. 操作摄像头,获取图片.HTML5 WEBRTC的navigator.getUserMedia方法去实时获取摄像头资源. 2. 利用canvas使用相关算法分析图片识别图 ...
- Android名片扫描识别系统SDK
Android名片扫描识别系统SDK 一.Android名片扫描识别系统应用背景 这些年,随着移动互联的发展,APP应用成爆发式的增长,在很多APP中都涉及到对名片信息的录入,如移动CRM.移动端OA ...
- 手机摄像头扫描识别车牌号,移动端车牌识别sdk
一.移动端车牌识别应用背景 (技术交流:18701686857 QQ:283870550) 随着经济水平的不断提高,汽车数量的不断激增为汽车管理带来了不小的难度.路边违章停车的现象越来越频繁.现在, ...
- JAVA验证码识别:基于jTessBoxEditorFX和Tesseract-OCR训练样本
JAVA验证识别:基于jTessBoxEditorFX和Tesseract-OCR训练样本 工具准备: jTessBoxEditorFX下载:https://github.com/nguyenq/jT ...
随机推荐
- JUC学习笔记(六)
JUC学习笔记(一)https://www.cnblogs.com/lm66/p/15118407.html JUC学习笔记(二)https://www.cnblogs.com/lm66/p/1511 ...
- goproxy.io
goproxy.io 是全球最早的 Go modules 镜像代理服务之一, 采用 CDN 加速服务为开发者提供依赖下载, 该服务由一批热爱开源, 热爱 Go 语言的年轻人开发维护.从 Go 1.11 ...
- 去掉文件中的^M
一般情况下用:set ff=unix就可以解决问题,如果无效,用下面的方法手工完成: :%s/[ctrl+v] [ctrl+m]//g ctrl+v表示按住Ctrl键再按下v键.
- Create Shortcut to Get Jar File Meta Information
You have to get meta information of cobertura.jar with command "unzip -q -c cobertura.jar META- ...
- Specification使用in
//是否包含下级授权点 1 包含 2 不包含 List<AuthorizationPoint> authList = null; List<Long> pointIdList ...
- Raspberry Pi 中安装Mono
摘自:http://www.phodal.com/blog/user-csharp-develop-raspberry-pi-application/ Raspberry Pi C# Mono Lin ...
- WebStorm怎么设置实现自动编译less文件
首先,需要保证电脑安装过Node.js,下载地址:https://nodejs.org/en/ 安装Node.js的时候会自动安装npm 然后,安装lessc模块 打开cmd控制台 输入下面一行npm ...
- UWP使用命名管道与桌面程序通信 (C#)
关于UWP的历史,其起源是Microsoft在Windows 8中引入的Metro apps.(后来又被称作Modern apps, Windows apps, Universal Windows A ...
- ffmpeg 视频ts切片生成m3u8
下面几种转换方式是不同版本和方法 新版本ffmpeg转视频直接可以切边并生成 m3u8(目前用的方式,也可以用选项 segment ): ffmpeg -i '源文件.mp4' -c:v h264 - ...
- springcloud starter(一)
Spring Cloud - Getting Started Example, 转载自:https://www.logicbig.com/tutorials/spring-framework/spri ...