Barcode adalah pemandangan umum dalam kehidupan kita sehari-hari. Hanya dengan beberapa langkah sederhana, Anda dapat dengan mudah membuat dan memindai kode batang menggunakan Python.
Saat Anda membeli barang dari toko, garis hitam paralel dengan lebar bervariasi pada barang yang Anda beli disebut barcode. Barcode adalah metode untuk merepresentasikan data dalam format visual yang dapat dibaca mesin. Barcode digunakan untuk menyimpan informasi tentang produk untuk memudahkan identifikasi dan pelacakan. Berbagai industri menggunakan barcode untuk manajemen inventaris.
Menggunakan Python Anda dapat membuat kode batang, memindai, dan membaca konten kode batang.
Cara Membuat dan Menyesuaikan Kode Batang
Langkah-langkah berikut menunjukkan cara membuat barcode menggunakan python-barcode perpustakaan.
1. Instal Perpustakaan yang Diperlukan
Buka terminal Anda atau command prompt dan jalankan perintah pip berikut untuk menginstal library yang diperlukan. Pastikan Anda telah menginstal pip di mesin Anda.
pip install python-barcode
2. Impor Modul yang Diperlukan
Dalam skrip Anda, sertakan pernyataan impor berikut untuk mengimpor modul yang diperlukan untuk pembuatan kode batang.
import barcode
from the barcode.writer import ImageWriter
Penulis menangani pembuatan dan penyimpanan gambar barcode dalam berbagai format. Itu python-barcode perpustakaan menyediakan penulis barcode yang berbeda. Di sini Anda akan menggunakan Penulis Gambar kelas yang membuat barcode sebagai gambar.
3. Kode untuk Menghasilkan Barcode
Itu python-barcode library menawarkan berbagai format barcode, seperti Code39, Code128, EAN13, dan ISBN-10 untuk menghasilkan barcode.
defgenerate_barcode(data, barcode_format, options=None):
# Get the barcode class corresponding to the specified format
barcode_class = barcode.get_barcode_class(barcode_format)
# Create a barcode image using the provided data and format
barcode_image = barcode_class(data, writer=ImageWriter())
# Save the barcode image to a file named "barcode" with the specified options
barcode_image.save("barcode", options=options)
Itu generate_barcode fungsi menghasilkan barcode berdasarkan yang diberikan data dan format (barcode_format) dan menyimpan gambar barcode ke file, barcode.png. Ekstensi file tergantung pada kelas penulis yang Anda gunakan.
4. Hasilkan dan Kustomisasi Barcode
Untuk menghasilkan kode batang, hubungi generate_barcode fungsi dan lulus parameter yang diperlukan.
generate_barcode("MakeUseOf", "code128")
Penulis mengambil beberapa opsi yang memungkinkan Anda menyesuaikan kode batang. Opsi penyesuaian termasuk memodifikasi ukuran, font, warna kode batang, dan sebagainya. Anda dapat merujuk ke python-barcode dokumentasi untuk mengakses daftar lengkap opsi penulis umum.
generate_barcode("MakeUseOf", "code128", options={"foreground":"red",
"center_text": False,
"module_width":0.4,
"module_height":20})
Cara Memindai dan Mendekodekan Kode Batang
Langkah-langkah berikut menunjukkan cara memindai dan mendekode kode batang menggunakan Python pyzbar perpustakaan.
1. Instal Perpustakaan yang Diperlukan
Untuk memindai dan mendekode kode batang, Anda perlu menginstal pustaka berikut:
brew install zbar # Mac OS X
sudo apt-get install libzbar0 # Linux OS
pip install pyzbar opencv-python
2. Impor Modul yang Diperlukan
Setelah menginstal pustaka, tambahkan pernyataan impor berikut ke skrip Anda untuk mengimpor modul yang diperlukan.
import cv2
from pyzbar import pyzbar
3. Pindai Kode Batang Dari Gambar
Untuk memindai kode batang dari file gambar:
- Muat gambar menggunakan OpenCV imread fungsi. Ini mengembalikan instance dari numpy.ndarray.
- Lewati array keluaran ke pyzbar.decode untuk deteksi dan decoding. Anda juga dapat melewati contoh PIL.Gambar.
defscan_barcode_from_image(image_path):
# Read the image from the provided file path
image = cv2.imread(image_path)
# Decode barcodes from the image using pyzbar
barcodes = pyzbar.decode(image)
# Iterate through detected barcodes and extract data from the barcode
for barcode in barcodes:
# uses UTF-8 encoding
barcode_data = barcode.data.decode("utf-8")
barcode_type = barcode.type
print("Barcode Data:", barcode_data)
print("Barcode Type:", barcode_type)
Fungsi mengambil an image_path parameter, membaca gambar, mendekode kode batang apa pun yang ada di gambar, dan mencetak data yang didekodekan dan jenis kode batang untuk setiap kode batang yang terdeteksi.
scan_barcode_from_image("barcode.png")
> Barcode Data: MakeUseOf
> Barcode Type: CODE128
4. Pindai Kode Batang Dari Aliran Webcam
Anda juga dapat memindai dan membaca kode batang secara real-time dari aliran webcam dengan bantuan pustaka Python OpenCV.
defscan_barcode_from_webcam():
# Initialize video capture from the default webcam (index 0)
video_capture = cv2.VideoCapture(0)whileTrue:
# Get a frame from the webcam stream
_, frame = video_capture.read()# Decode barcodes in the frame
barcodes = pyzbar.decode(frame)# Process detected barcodes
for barcode in barcodes:
# Extract barcode data and type and print them
barcode_data = barcode.data.decode("utf-8")
barcode_type = barcode.type
print("Barcode Data:", barcode_data)
print("Barcode Type:", barcode_type)# Check for exit condition: Press 'q' to quit the loop
if cv2.waitKey(1) & 0xFF == ord("q"):
break# Release video capture and close OpenCV windows
video_capture.release()
cv2.destroyAllWindows()
scan_barcode_from_webcam()
Itu scan_barcode_from_webcam fungsi terus-menerus menangkap bingkai dari webcam, mendekode kode batang apa pun yang ada dalam bingkai, mengekstrak informasi tentang kode batang, dan mencetak informasi. Untuk berhenti tekan huruf q pada keyboard Anda.
Menghasilkan Kode Batang dan Kode QR dengan Python
Dengan Python, membuat dan membaca kode batang menjadi mudah diakses dan efisien. Dengan mengikuti langkah-langkah yang diuraikan, Anda dapat menghasilkan berbagai kode batang yang sesuai dengan kebutuhan Anda.
Kode QR (Quick Response code) adalah kode batang dua dimensi yang dapat dipindai dan dibaca oleh smartphone, tablet, atau perangkat lain yang dilengkapi dengan kamera dan aplikasi pembaca kode QR. Menggunakan perpustakaan qrcode Python Anda dapat menghasilkan, memindai, dan membaca Kode QR secara efisien.