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 ...
随机推荐
- CVE-2020-1472
主要记下流程 我擦,这个洞mimikatz也可以搞 但是我就不记录了 检验漏洞是否存在 https://github.com/SecuraBV/CVE-2020-1472 先获取域控信息 然后测试能否 ...
- maven的setting配置远程仓库
maven的setting,配置远程库. <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mi ...
- 值得收藏 | 深度剖析 TensorCore 卷积算子实现原理
作者:章晓 | 旷视 MegEngine 架构师 一.前言 2020 年 5 月 Nvidia 发布了新一代的 GPU 架构安培(Ampere).其中和深度学习关系最密切的莫过于性能强劲的第三代的 T ...
- python脚本监控股票价格钉钉推送
关注股市,发家致富 问题:一天天盯着股市多累,尤其上班,还不能暴露,股票软件,红红绿绿,这么明显的列表页面,一看就知道在摸鱼.被领导发现饭碗就没了 解决:搞个脚本监听一下自己关注的股票,一到价格就发个 ...
- 精简ABP的模块依赖
ABP的模块非常方便我们扩展自己的或使用ABP提供的模块功能,对于ABP自身提供的模块间的依赖关系想一探究竟,并且试着把不必要的模块拆掉,找到那部分核心模块.本次使用的是AspNetBoilerpla ...
- QT从入门到入土(八)——项目打包和发布
引言 新手上路可谓是困难重重,你永远不知道下一个困难会在什么时候出现,在完成了运动控制卡封装发布过程中可谓是举步维艰.因此记录一下qt5+vs2019的打包发布方法. 打包一般分为两步: 将编译后的e ...
- NOIP 模拟 $36\; \rm Cicada 拿衣服$
题解 \(by\;zj\varphi\) 发现右端点固定时,左端点的 \(min-max\) 单调递减,且对于 \(or\) 和 \(and\) 相减,最多有 \(\rm2logn\)个不同的值,且相 ...
- 【硬件模块】RFIDSetting
The Octane SDK includes the core library by acting as a wrapper for extraction, modifying, and the a ...
- Vue 插槽 slot的简单实用
- vue中v-show和v-if在显示和隐藏元素上的区别
v-show将元素隐藏是在dom节点上加style='display:none' v-if是直接将元素完全去掉 拿v-show示例,(v-if 也是一样,把下面的代码中v-show替换成v-if即可运 ...