ใช้งาน Webcam เป็น Barcode Reader บน Linux
บทความนี้จะจำลองการใช้กล้อง Webcam ของคอมพิวเตอร์เป็นแสกนเนอร์อ่านบาร์โค้ด แถมยังสามารถส่งบาร์โค้ดไปยัง PHP ได้ด้วย
ก่อนอื่น ติดตั้งโปรแกรมที่จำเป็นก่อนครับ
เรียกใช้งานพิมพ์คำสั่งนี้เลยครับ
โปรแกรมจะแสดงหน้าต่าง zbar ขึ้นมา ซึ่งถ้าถูกต้องจะต้องเห็นภาพหน้าจอ Webcam ปกติ จากนั้นให้เอาเมาส์คลิกไปที่ Input ที่ต้องการรับค่าจาก Barcode (หรือให้โฟกัสตกไปอยู่ที่ Input ตัวที่ต้องการ) จากนั้นเอาบาร์โค้ดที่ต้องการอ่านส่องไปยัง Webcam ถ้าสามารถอ่านได้จะมีรหัสบาร์โค้ดส่งไปยัง Input ทันที (ค่าบาร์โค้ดจะส่งไปพร้อมกับรหัส Enter ตามมาตรฐาน)
ในกรณีที่ต้องการอ่านจาก USB Webcam ให้เปลี่ยน /dev/video0 เป็นไดร์เวอร์อื่น เช่น /dev/video1
หมายเหตุ จากการทดสอบ QR Code จะอ่านได้เร็วที่สุด และการอ่านจะยากหรือง่ายขึ้นกับคุณภาพของตัว Webcam และสภาพแสง ตอนที่ผมทดสอบผมใช้ภาพบาร์โค้ดจากมือถือครับ เนื่องจากมีความสว่างและความคมชัดสูงกว่าการอ่านจากกระดาษ
ก่อนอื่น ติดตั้งโปรแกรมที่จำเป็นก่อนครับ
sudo apt-get install libx11-dev x11proto-xext-dev libxt-dev libxtst-dev zbarcam
wget http://www.shallowsky.com/.../crikey-0.8.3.tar.gz
tar -xzf crikey-0.8.3.tar.gz
cd crikey-0.8.3
make
sudo cp crikey /usr/local/bin
เรียกใช้งานพิมพ์คำสั่งนี้เลยครับ
zbarcam --raw /dev/video0 | crikey -i
โปรแกรมจะแสดงหน้าต่าง zbar ขึ้นมา ซึ่งถ้าถูกต้องจะต้องเห็นภาพหน้าจอ Webcam ปกติ จากนั้นให้เอาเมาส์คลิกไปที่ Input ที่ต้องการรับค่าจาก Barcode (หรือให้โฟกัสตกไปอยู่ที่ Input ตัวที่ต้องการ) จากนั้นเอาบาร์โค้ดที่ต้องการอ่านส่องไปยัง Webcam ถ้าสามารถอ่านได้จะมีรหัสบาร์โค้ดส่งไปยัง Input ทันที (ค่าบาร์โค้ดจะส่งไปพร้อมกับรหัส Enter ตามมาตรฐาน)
ในกรณีที่ต้องการอ่านจาก USB Webcam ให้เปลี่ยน /dev/video0 เป็นไดร์เวอร์อื่น เช่น /dev/video1
หมายเหตุ จากการทดสอบ QR Code จะอ่านได้เร็วที่สุด และการอ่านจะยากหรือง่ายขึ้นกับคุณภาพของตัว Webcam และสภาพแสง ตอนที่ผมทดสอบผมใช้ภาพบาร์โค้ดจากมือถือครับ เนื่องจากมีความสว่างและความคมชัดสูงกว่าการอ่านจากกระดาษ