بارکدها یک منظره رایج در زندگی روزمره ما هستند. تنها با چند مرحله ساده، می توانید بدون زحمت بارکدها را با استفاده از پایتون تولید و اسکن کنید.
هنگامی که کالایی را از فروشگاه خریداری می کنید، نوارهای مشکی موازی با عرض های مختلف روی کالایی که خریداری می کنید، بارکد نامیده می شود. بارکدها روشی برای نمایش داده ها در قالبی بصری و قابل خواندن توسط ماشین هستند. بارکدها برای ذخیره اطلاعات مربوط به محصولات برای شناسایی و ردیابی آسان استفاده می شوند. صنایع مختلف از بارکد برای مدیریت موجودی استفاده می کنند.
با استفاده از پایتون می توانید بارکد تولید کنید، محتوای بارکد را اسکن کنید و بخوانید.
نحوه تولید و سفارشی کردن بارکد
مراحل زیر نحوه تولید بارکد با استفاده از کتابخانه بارکد پایتون را نشان می دهد.
1. Required Library را نصب کنید
ترمینال یا خط فرمان خود را باز کنید و دستور pip زیر را برای نصب کتابخانه مورد نیاز اجرا کنید. مطمئن شوید که پیپ روی دستگاه شما نصب شده است.
pip install python-barcode
2. ماژول های مورد نیاز را وارد کنید
در اسکریپت خود، عبارت های import زیر را برای وارد کردن ماژول های مورد نیاز برای تولید بارکد قرار دهید.
import barcode
from the barcode.writer import ImageWriter
نویسندگان تولید و ذخیره تصاویر بارکد را در قالب های مختلف انجام می دهند. کتابخانه بارکد پایتون بارکد نویس های مختلفی را ارائه می دهد. در اینجا شما از کلاس ImageWriter استفاده می کنید که بارکدها را به صورت تصویر ارائه می کند.
3. کد برای تولید بارکد
کتابخانه بارکد پایتون فرمت های مختلف بارکد مانند Code39، Code128، EAN13 و ISBN-10 را برای تولید بارکد ارائه می دهد.
def generate_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)
تابعgene_barcode یک بارکد را بر اساس داده ها و فرمت داده شده (barcode_format) تولید می کند و تصویر بارکد را در یک فایل، barcode.png ذخیره می کند. پسوند فایل به کلاس نویسنده ای که استفاده می کنید بستگی دارد.
4. تولید و سفارشی کردن بارکد
برای تولید بارکد، تابع generate_barcode را فراخوانی کرده و پارامترهای مورد نیاز را ارسال کنید.
generate_barcode("MakeUseOf", "code128")
نویسندگان چندین گزینه را انتخاب می کنند که به شما امکان می دهد بارکدها را سفارشی کنید. گزینه های سفارشی سازی شامل تغییر اندازه، فونت، رنگ بارکد و غیره است. برای دسترسی به لیست کامل گزینه های رایج نویسنده، می توانید به مستندات بارکد پایتون مراجعه کنید.
generate_barcode("MakeUseOf", "code128", options={"foreground":"red",
"center_text": False,
"module_width":0.4,
"module_height":20})
نحوه اسکن و رمزگشایی بارکدها
مراحل زیر نحوه اسکن و رمزگشایی بارکدها را با استفاده از کتابخانه Python Pyzbar نشان می دهد.
1. کتابخانه های مورد نیاز را نصب کنید
برای اسکن و رمزگشایی بارکدها، باید کتابخانه های زیر را نصب کنید:
brew install zbar # Mac OS X
sudo apt-get install libzbar0 # Linux OS
pip install pyzbar opencv-python
2. ماژول های مورد نیاز را وارد کنید
پس از نصب کتابخانه ها، دستورهای import زیر را به اسکریپت خود اضافه کنید تا ماژول های لازم را وارد کنید.
import cv2
from pyzbar import pyzbar
3. اسکن بارکد از تصاویر
برای اسکن بارکد از فایل های تصویری:
- تصویر را با استفاده از تابع imread OpenCV بارگیری کنید. این یک نمونه از numpy.ndarray را برمی گرداند.
- آرایه خروجی را برای شناسایی و رمزگشایی به pyzbar.decode ارسال کنید. همچنین می توانید نمونه هایی از PIL.Image را ارسال کنید.
def scan_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)
این تابع یک پارامتر image_path را می گیرد، تصویر را می خواند، هر بارکد موجود در تصویر را رمزگشایی می کند و داده های رمزگشایی شده و نوع بارکد را برای هر بارکد شناسایی شده چاپ می کند.
scan_barcode_from_image("barcode.png")
> Barcode Data: MakeUseOf
> Barcode Type: CODE128
4. اسکن بارکد از وب کم جریان
همچنین میتوانید بارکدها را در زمان واقعی از جریان وبکم با کمک کتابخانه OpenCV پایتون اسکن و بخوانید.
def scan_barcode_from_webcam():
# Initialize video capture from the default webcam (index 0)
video_capture = cv2.VideoCapture(0)
while True:
# 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()
تابع scan_barcode_from_webcam به طور مداوم فریمهایی را از وبکم میگیرد، بارکدهای موجود در کادر را رمزگشایی میکند، اطلاعات بارکد را استخراج میکند و اطلاعات را چاپ میکند. برای خروج، حرف q را روی صفحه کلید خود فشار دهید.
تولید بارکد و کدهای QR در پایتون
با پایتون، تولید و خواندن بارکد در دسترس و کارآمد می شود. با دنبال کردن مراحل ذکر شده، می توانید انواع بارکدها را متناسب با نیاز خود ایجاد کنید.
کدهای QR (کدهای پاسخ سریع) بارکدهای دو بعدی هستند که می توانند توسط گوشی های هوشمند، تبلت ها یا سایر دستگاه های مجهز به دوربین و برنامه کدخوان QR اسکن و خوانده شوند. با استفاده از کتابخانه qrcode Python می توانید کدهای QR را به طور موثر تولید، اسکن و بخوانید.