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 ...
随机推荐
- 未知高度-纯css实现水平垂直居中
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 90%的开发者都不知道的UI本质原理和优化方式
前言 很多开发者在工作中一直和UI打交道,所以认为UI非常的简单! 事实上对于90%的开发者来说,不知道UI的本质原理. 虽然在开发中,我们在接到产品的UI需求之后,可以走捷径照抄大型APP代码,但是 ...
- Vue-axios 封装了一手好axios:)
请求方式 很多种请求方式,重点还是第一种吧 下载 npm install axios --save 下载完成 直接导入 import axios from 'axios' 简单配置 axios({ u ...
- .jsp文件的使用和理解以及一些小练习和Listener监听器
什么是 jsp,它有什么用? jsp 的全换是 java server pages.Java 的服务器页面.jsp 的主要作用是代替 Servlet 程序回传 html 页面的数据.因为 Servle ...
- 用notepad2代替notepad
Windows自带的notepad.exe功能比较弱,notepad2是一个比较好的替代方案,但在任何系统调用notepad的时候都能用notepad2代替并不是一件容易的事,下面是一个解决方法: h ...
- Modify File Descriptor Limit on Linux
System-wide File Descriptor Limit Get current value: sysctl fs.file-max modify max fd limit: sysctl ...
- PLSQL编程及存储过程的创建
一.PLSQL的初步介绍 PLSQL是使sql具有处理过程的能力,可以分为三个部分:声明部分.可执行部分.异常处理部分 1.如何使用PLSQL打印Hello World! 在sqlplus里中打印 ...
- 【原创】oracle提权执行命令工具oracleShell v0.1
帮一个兄弟渗透的过程中在内网搜集到了不少oracle连接密码,oracle这么一款强大的数据库,找了一圈发现没有一个方便的工具可以直接通过用户名密码来提权的.想起来自己之前写过一个oracle的连接工 ...
- 如何快速方便的生成好看的接口文档(apipost生成文档)
一键生成文档 我们在"2分钟玩转APIPOST"一讲中,简单介绍了如何生成并分享接口文档: 点击分享文档 复制并打开文档地址就可以看到了完整的接口文档. 本节课主要是讲解一些需要注 ...
- dedecms织梦笔记
1.单标签用法{dede:标签名 属性="值".../}举例说明:{dede:include filename="head.htm" /}2.双标签用法:cha ...