【Python】Webカメラからバーコードを読み取るアプリを作る

2022年7月30日土曜日

長い間更新が止まってしまって申し訳ございません。
お盆になりますと、フリーになって毎週更新できるようになると思います。

ということで今回は、Webカメラを使ってバーコードお読み取るというアプリを作成したいと思います。
これをうまく活用すればレジもできちゃうかもしれません。

サンプルコード

import barcode
import barcode.writer
from barcode.writer import ImageWriter
from pyzbar.pyzbar import decode
from PIL import Image
import cv2

app = wx.App(0)

cap = cv2.VideoCapture(0)
plaice = 0

while True:
	ret, frame = cap.read()
	cv2.imwrite('camera.png', frame)
	try:
		e = decode(Image.open('camera.png'))
		p = e[0].data.decode('utf-8')
		print("商品ID",p)
		input()

	except IndexError:
		pass
	except Exception as e:
		print(e)
		input()
cap.release()
cv2.destroyAllWindows()
コードの中身は、カメラで撮影するという作業をループし、 その撮影した写真からバーコードが認識できる場合はプリントするという感じです。

使い方

まずは起動し、Webカメラにバーコードを写すようにします。
あまり近づけすぎずに、少し離すのがポイントです。慣れるまで少し時間がかかります...

そして読み取れたら以下のような感じでプリントされます。

次の商品のバーコードを読み取るにはこの状態でエンターキーを押します。

おわりに

今回作成したアプリはまだ不十分です。
自分で改良してみてください!
それでは今回はこれで終わりです。

ページ

QooQ