You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python或NodeJS识别EAN-13+5附加条码?

识别UPC及5位附加条码的解决方案

Python 方案(基于pyzbar优化)

pyzbar默认未主动识别EAN-5(5位附加码),通过指定目标条码类型、优化预处理即可解决问题:

优化后的代码

from PIL import Image, ImageOps
import requests
from pyzbar.pyzbar import decode, ZBarSymbol

# 替换为你的图片URL
img_url = "https://i.sstatic.net/F7mSM.jpg"

# 获取并预处理图片
img = Image.open(requests.get(img_url, stream=True).raw)
img = ImageOps.grayscale(img)

# 明确指定识别UPC-A(主码)和EAN-5(5位附加码)
barcode_results = decode(img, symbols=[ZBarSymbol.UPC_A, ZBarSymbol.EAN_5])

# 输出识别结果
for result in barcode_results:
    print(f"条码类型: {result.type}, 内容: {result.data.decode('utf-8')}")

进阶处理(若仍无法识别附加码)

如果附加码区域过小或清晰度不足,可尝试裁剪该区域单独识别:

# 根据实际图片调整裁剪坐标(示例坐标需替换)
crop_area = (500, 100, 650, 200)
crop_img = img.crop(crop_area)
crop_results = decode(crop_img, symbols=[ZBarSymbol.EAN_5])

if crop_results:
    print(f"附加码内容: {crop_results[0].data.decode('utf-8')}")

Node.js 方案(基于@zxing/library)

使用@zxing/library库可直接支持UPC和EAN-5的识别:

步骤1:安装依赖

npm install @zxing/library axios canvas

识别代码

import { BrowserMultiFormatReader, BarcodeFormat } from '@zxing/library';
import axios from 'axios';
import { createCanvas, loadImage } from 'canvas';

async function scanBarcodes(imgUrl) {
    // 获取图片资源
    const imgResponse = await axios.get(imgUrl, { responseType: 'arraybuffer' });
    const image = await loadImage(imgResponse.data);

    // 将图片绘制到Canvas
    const canvas = createCanvas(image.width, image.height);
    const ctx = canvas.getContext('2d');
    ctx.drawImage(image, 0, 0);

    // 初始化条码阅读器并指定识别类型
    const reader = new BrowserMultiFormatReader();
    reader.setPossibleFormats([BarcodeFormat.UPC_A, BarcodeFormat.EAN_5]);

    try {
        const results = await reader.decodeFromCanvas(canvas);
        results.forEach(res => {
            console.log(`条码类型: ${res.format}, 内容: ${res.text}`);
        });
    } catch (error) {
        console.error('识别失败:', error.message);
    }
}

// 调用扫描函数
scanBarcodes("https://i.sstatic.net/F7mSM.jpg");

内容的提问来源于stack exchange,提问作者James Parker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 11:45:36