الباركود مشهد مألوف في حياتنا اليومية. من خلال بضع خطوات بسيطة ، يمكنك إنشاء رموز شريطية ومسحها ضوئيًا باستخدام Python.

عندما تشتري عنصرًا من متجر ، فإن الخطوط السوداء المتوازية ذات العرض المتفاوت على العنصر الذي تشتريه تسمى الرمز الشريطي. الرموز الشريطية هي طريقة لتمثيل البيانات بتنسيق مرئي يمكن قراءته آليًا. تُستخدم الرموز الشريطية لتخزين المعلومات حول المنتجات لسهولة التعرف عليها وتعقبها. تستخدم الصناعات المختلفة الباركود لإدارة المخزون.

باستخدام Python ، يمكنك إنشاء رموز شريطية ومسح وقراءة محتوى الرمز الشريطي.

كيفية إنشاء وتخصيص الباركود

توضح الخطوات التالية كيفية إنشاء رموز شريطية باستخدام ملف بيثون الباركود مكتبة.

1. قم بتثبيت المكتبة المطلوبة

افتح جهازك الطرفي أو موجه الأوامر وقم بتشغيل الأمر pip التالي لتثبيت المكتبة المطلوبة. تأكد من تثبيت النقطة على جهازك.

pip install python-barcode

2. قم باستيراد الوحدات المطلوبة

في البرنامج النصي الخاص بك ، قم بتضمين عبارات الاستيراد التالية لاستيراد الوحدات النمطية المطلوبة لإنشاء الرمز الشريطي.

import barcode
from the barcode.writer import ImageWriter
instagram viewer

الكتاب التعامل مع إنشاء وحفظ صور الباركود بتنسيقات مختلفة. ال بيثون الباركود توفر المكتبة كتّاب الباركود المختلفين. هنا ستستخدم ملف ImageWriter فئة تعرض الرموز الشريطية كصور.

3. كود لإنشاء رمز شريطي

ال بيثون الباركود تقدم مكتبة العديد من تنسيقات الباركود ، مثل Code39 و Code128 و EAN13 و ISBN-10 لتوليد الرموز الشريطية.

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)

ال توليد_الرمز الشريطي تقوم الوظيفة بإنشاء رمز شريطي بناءً على المعطى بيانات وشكل (تنسيق_الباركود) ويحفظ صورة الرمز الشريطي في ملف ، barcode.png. يعتمد امتداد الملف على فئة الكاتب الذي تستخدمه.

4. إنشاء وتخصيص الباركود

لإنشاء رمز شريطي ، اتصل بـ توليد_الرمز الشريطي وظيفة وتمرير المعلمات المطلوبة.

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 cv2
from pyzbar import pyzbar

3. مسح الباركود من الصور

لمسح الرموز الشريطية من ملفات الصور:

  1. قم بتحميل الصورة باستخدام OpenCV's أنا أقرأ وظيفة. هذا ما يعيد مثيل numpy.ndarray.
  2. تمرير مجموعة الإخراج إلى pyzbar.decode للكشف وفك التشفير. يمكنك أيضًا تمرير مثيلات الصورة.
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)

تأخذ الوظيفة ملف مسار_الصورة المعلمة ، يقرأ الصورة ، ويفك تشفير أي رموز شريطية موجودة في الصورة ، ويطبع البيانات التي تم فك تشفيرها ونوع الباركود لكل رمز شريطي تم اكتشافه.

scan_barcode_from_image("barcode.png")
> Barcode Data: MakeUseOf
> Barcode Type: CODE128

4. مسح الرموز الشريطية من دفق كاميرا الويب

يمكنك أيضًا مسح وقراءة الرموز الشريطية في الوقت الفعلي من دفق كاميرا الويب بمساعدة مكتبة 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()

ال scan_barcode_from_webcam تعمل الوظيفة باستمرار على التقاط الإطارات من كاميرا الويب ، وفك تشفير أي رموز شريطية موجودة في الإطار ، واستخراج معلومات حول الرمز الشريطي ، وطباعة المعلومات. للإنهاء ، اضغط على الحرف q على لوحة المفاتيح.

إنشاء الرموز الشريطية ورموز QR في Python

باستخدام Python ، يصبح إنشاء الرموز الشريطية وقراءتها سهل الوصول وفعال. باتباع الخطوات الموضحة ، يمكنك إنشاء مجموعة متنوعة من الرموز الشريطية لتناسب احتياجاتك.

رموز QR (رموز الاستجابة السريعة) هي رموز شريطية ثنائية الأبعاد يمكن مسحها ضوئيًا وقراءتها بواسطة الهواتف الذكية أو الأجهزة اللوحية أو الأجهزة الأخرى المزودة بكاميرا وتطبيق قارئ رمز الاستجابة السريعة. باستخدام مكتبة Python qrcode ، يمكنك إنشاء رموز QR ومسحها ضوئيًا وقراءتها بكفاءة.