LoginSignup
8
21

More than 1 year has passed since last update.

Pythonでバーコードを読み込む

Last updated at Posted at 2018-09-30

#はじめに
自分でバーコードを読み込みたくなり試してみました。
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画像を読み込んでみました
code39.JPG

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'))


#参考
https://pypi.org/project/pyzbar/

8
21
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
21