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)

          Scan barcode from
bitmap.

Static java.lang.String[]

scan(java.awt.image.BufferedImage image, BarCodeType barcodeType)

          Scan barcode from
image.

Static java.lang.String[]

scan(java.awt.image.BufferedImage bitmap,
java.awt.Rectangle rect, BarCodeType barcodeType)

          Scans barcode
from bitmap.

Static java.lang.String[]

scan(java.io.InputStream stream)

          Scan barcode from
image stream.

Static java.lang.String[]

scan(java.io.InputStream stream,
boolean IncludeCheckSum)

          Scan barcode from
image stream.

Static java.lang.String[]

scan(java.lang.String fileName)

          Scan barcode from
image file.

Static java.lang.String[]

scan(java.lang.String fileName, BarCodeType barcodeType)

          Scans barcode
from image file.

Static java.lang.String[]

scan(java.lang.String fileName,
boolean IncludeCheckSum)

          Scan barcode from
image file.

Static java.lang.String

scanOne(java.awt.image.BufferedImage bitmap)

          Scan barcode from
bitmap.

Static java.lang.String

scanOne(java.io.InputStream stream)

          Scan barcode from
image stream.

Static java.lang.String

scanOne(java.io.InputStream stream,
boolean IncludeCheckSum)

          Scan barcode from
image stream.

Static java.lang.String

scanOne(java.lang.String fileName)

          Scan barcode from
image file.

Static java.lang.String

scanOne(java.lang.String fileName,
boolean IncludeCheckSum)

          Scan barcode from
image file.

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 扫描识别条形码图片的更多相关文章

  1. Android实现OCR扫描识别数字图片之图片扫描识别

    [Android实例] Android实现OCR扫描识别数字图片之图片扫描识别 Android可以识别和扫描二维码,但是识别字符串呢? google提供了以下解决方案用的是原来HP的相关资料. 可以吧 ...

  2. Java 创建/识别条形码、二维码

    条形码(Barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符.常用于标示物品的生产国.制造厂家.商品名称.生产日期.图书分类号.邮件起止地点.类别.日期等 ...

  3. java指纹识别+谷歌图片识别技术_源代码

    主类: import java.awt.image.BufferedImage; import java.util.ArrayList; import java.util.List; public c ...

  4. java指纹识别+谷歌图片识别技术

    http://www.icodeguru.com/3/2451.html http://valseonline.org/thread-124-1-1.html

  5. c#OpenCVSharp+Zxing识别条形码

    参考博客:https://www.cnblogs.com/dengxiaojun/p/5278679.html,但是他的demo下载太贵了 可以下载这个https://download.csdn.ne ...

  6. HTML5实现扫描识别二维码/生成二维码

    扫描识别二维码 思路: 1. 操作摄像头,获取图片.HTML5 WEBRTC的navigator.getUserMedia方法去实时获取摄像头资源.  2. 利用canvas使用相关算法分析图片识别图 ...

  7. Android名片扫描识别系统SDK

    Android名片扫描识别系统SDK 一.Android名片扫描识别系统应用背景 这些年,随着移动互联的发展,APP应用成爆发式的增长,在很多APP中都涉及到对名片信息的录入,如移动CRM.移动端OA ...

  8. 手机摄像头扫描识别车牌号,移动端车牌识别sdk

    一.移动端车牌识别应用背景 (技术交流:18701686857  QQ:283870550) 随着经济水平的不断提高,汽车数量的不断激增为汽车管理带来了不小的难度.路边违章停车的现象越来越频繁.现在, ...

  9. JAVA验证码识别:基于jTessBoxEditorFX和Tesseract-OCR训练样本

    JAVA验证识别:基于jTessBoxEditorFX和Tesseract-OCR训练样本 工具准备: jTessBoxEditorFX下载:https://github.com/nguyenq/jT ...

随机推荐

  1. Springboot通过拦截器拦截请求信息收集到日志

    1.需求 最近在工作中遇到的一个需求,将请求中的客户端类型.操作系统类型.ip.port.请求方式.URI以及请求参数值收集到日志中,网上找资料说用拦截器拦截所有请求然后收集信息,于是就开始了操作: ...

  2. 2021字节跳动校招秋招算法面试真题解题报告--leetcode19 删除链表的倒数第 n 个结点,内含7种语言答案

    2021字节跳动校招秋招算法面试真题解题报告--leetcode19 删除链表的倒数第 n 个结点,内含7种语言答案 1.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. ...

  3. 新版数据库分页方法(Sql server2012)

    1. ROW_NUMBER() 的分页方法 dbcc freeproccache dbcc dropcleanbuffers set statistics time on set statistics ...

  4. 题解 P3942 将军令

    题解 首先看到这题 \(k=1\) 时,就是一道 小胖守皇宫,那么由 \(k=1\) 联想到 \(k=2...20\) 发现可以树形 \(DP\) 但转移方程太难想,不太适合考场做. 考虑贪心: 对所 ...

  5. 题解 y

    传送门 考场上写的记忆化不够快--和暴力一个分 如果题面里有提到类似「从点1出发」的字样,特别注意点1根本就没有连边的情况 这题写记忆化的时候是想搜出所有可能的组合, 那么对于一个点u,剩余深度为d时 ...

  6. DI 原理解析 并实现一个简易版 DI 容器

    本文基于自身理解进行输出,目的在于交流学习,如有不对,还望各位看官指出. DI DI-Dependency Injection,即"依赖注入":对象之间依赖关系由容器在运行期决定, ...

  7. express中session的基本使用

    1.首先安装express-session模块 npm install express-session --save 2.引入express-session,以及设置中间键 var session = ...

  8. WPF 中的 button style 的修改

    <Style x:Key="ButtonStyleTransBack" TargetType="Button"> <Setter Proper ...

  9. C# lock的语法糖原理--《.net core 底层入门》之自旋锁,互斥锁,混合锁,读写锁

    在多线程环境中,多个线程可能会同时访问同一个资源,为了避免访问发生冲突,可以根据访问的复杂程度采取不同的措施 原子操作适用于简单的单个操作,无锁算法适用于相对简单的一连串操作,而线程锁适用于复杂的一连 ...

  10. python创建字典多种方式

    1.创建空字典 >>> dic = {} >>> type(dic) <type 'dict'> 2.直接赋值创建 >>> dic = ...