#はじめに
自分でバーコードを読み込みたくなり試してみました。
pyzbarは、一次元バーコードとQRコードが読めるようです
一次元バーコードEAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39
#実行環境
OS Windows 10
ZBar 0.10
pyzbar 0.1.7
pillow 5.0.0
#環境構築
ZBarをインストールしないで、pyzbarとpillowを追加すればいいみたいです。
Windowsの場合はZBarをインストールする。pipではエラーがでました
http://zbar.sourceforge.net/
pyzbarとpillowをコマンドプロンプトからインストール
pip install pyzbar
pip install pillow
#実行
今回はcode39のjpeg画像を読み込んでみました
from pyzbar.pyzbar import decode
from PIL import Image
# 画像ファイルの指定
image = "code39.jpg"
# バーコードの読取り
data = decode(Image.open(image))
# コード内容を出力
print(data[0][0].decode('utf-8', 'ignore'))
#参考URL
参考にしたページ
PythonでQRコードをデコード
pythonで画像からQRコードを読み込む
#変形例
pillowを使わずにopenCVを使う場合。
#実行環境
OS Windows 10
pyzbar 0.1.7
opencv-python 3.4.3.18
#環境構築
pyzbarとopencv-pythonをコマンドプロンプトからインストール
pip install pyzbar
pip install opencv-python
#実行
画像は最初と同じものを使用
# -*- coding: UTF-8 -*-
from pyzbar.pyzbar import decode
import cv2
# 画像ファイルの指定
image = cv2.imread("code39.jpg")
# QRコードの読取り
data = decode(image)
# コード内容を出力
print(data[0][0].decode('utf-8', 'ignore'))