Kody kreskowe są częstym widokiem w naszym codziennym życiu. W kilku prostych krokach możesz bez wysiłku generować i skanować kody kreskowe za pomocą Pythona.

Gdy kupujesz przedmiot w sklepie, równoległe czarne paski o różnej szerokości na kupowanym przedmiocie nazywane są kodem kreskowym. Kody kreskowe to metoda przedstawiania danych w formacie wizualnym, nadającym się do odczytu maszynowego. Kody kreskowe służą do przechowywania informacji o produktach w celu łatwej identyfikacji i śledzenia. Różne branże wykorzystują kody kreskowe do zarządzania zapasami.

Za pomocą Pythona możesz generować kody kreskowe, skanować i odczytywać zawartość kodu kreskowego.

Jak generować i dostosowywać kody kreskowe

Poniższe kroki pokazują, jak generować kody kreskowe za pomocą kod kreskowy Pythona biblioteka.

1. Zainstaluj wymaganą bibliotekę

Otwórz terminal lub wiersz polecenia i uruchom następujące polecenie pip, aby zainstalować wymaganą bibliotekę. Upewnij się, że masz zainstalowany pip na swoim komputerze.

instagram viewer
pip install python-barcode

2. Zaimportuj wymagane moduły

W swoim skrypcie umieść następujące instrukcje importu, aby zaimportować moduły potrzebne do generowania kodów kreskowych.

import barcode
from the barcode.writer import ImageWriter

Pisarze obsługiwać generowanie i zapisywanie obrazów kodów kreskowych w różnych formatach. The kod kreskowy Pythona biblioteka udostępnia różne programy do pisania kodów kreskowych. Tutaj użyjesz ImageWriter klasa, która renderuje kody kreskowe jako obrazy.

3. Kod do generowania kodu kreskowego

The kod kreskowy Pythona biblioteka oferuje różne formaty kodów kreskowych, takie jak Code39, Code128, EAN13 i ISBN-10 do generowania kodów kreskowych.

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)

The wygeneruj_kod kreskowy funkcja generuje kod kreskowy na podstawie podanego dane i sformatuj (format_kodu_paskowego) i zapisuje obraz kodu kreskowego do pliku, kod kreskowy.png. Rozszerzenie pliku zależy od używanej klasy programu piszącego.

4. Wygeneruj i dostosuj kod kreskowy

Aby wygenerować kod kreskowy, zadzwoń pod numer wygeneruj_kod kreskowy funkcję i przekazać wymagane parametry.

generate_barcode("MakeUseOf", "code128")

Pisarze mają kilka opcji, które pozwalają dostosować kody kreskowe. Opcje dostosowywania obejmują modyfikację rozmiaru, czcionki, koloru kodu kreskowego i tak dalej. Możesz odnieść się do kod kreskowy Pythona dokumentacji, aby uzyskać dostęp do pełnej listy typowych opcji programu piszącego.


generate_barcode("MakeUseOf", "code128", options={"foreground":"red",
"center_text": False,
"module_width":0.4,
"module_height":20})

Jak skanować i dekodować kody kreskowe

Poniższe kroki pokazują, jak skanować i dekodować kody kreskowe za pomocą Pythona pyzbar biblioteka.

1. Zainstaluj wymagane biblioteki

Aby skanować i dekodować kody kreskowe, należy zainstalować następujące biblioteki:

brew install zbar # Mac OS X
sudo apt-get install libzbar0 # Linux OS
pip install pyzbar opencv-python

2. Zaimportuj wymagane moduły

Po zainstalowaniu bibliotek dodaj do skryptu następujące instrukcje importu, aby zaimportować niezbędne moduły.

import cv2
from pyzbar import pyzbar

3. Skanuj kody kreskowe z obrazów

Aby zeskanować kody kreskowe z plików graficznych:

  1. Załaduj obraz za pomocą OpenCV nieczytane funkcjonować. To zwraca instancję numpy.ndarray.
  2. Przekaż tablicę wyjściową do pyzbar.decode do wykrywania i dekodowania. Możesz także przekazywać instancje PIL.Obraz.
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)

Funkcja przyjmuje ścieżka_obrazu odczytuje obraz, dekoduje wszystkie obecne na obrazie kody kreskowe i drukuje zdekodowane dane i typ kodu kreskowego dla każdego wykrytego kodu kreskowego.

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

4. Skanuj kody kreskowe z kamery internetowej

Możesz także skanować i odczytywać kody kreskowe w czasie rzeczywistym ze strumienia kamery internetowej za pomocą biblioteki 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()

The scan_barcode_from_webcam Funkcja ta w sposób ciągły przechwytuje klatki z kamery internetowej, dekoduje wszelkie kody kreskowe znajdujące się w ramce, wyodrębnia informacje o kodzie kreskowym i drukuje te informacje. Aby wyjść, naciśnij literę q na klawiaturze.

Generowanie kodów kreskowych i kodów QR w Pythonie

Dzięki Pythonowi generowanie i odczytywanie kodów kreskowych staje się dostępne i wydajne. Postępując zgodnie z przedstawionymi krokami, możesz wygenerować różne kody kreskowe odpowiadające Twoim potrzebom.

Kody QR (Quick Response codes) to dwuwymiarowe kody kreskowe, które mogą być skanowane i odczytywane przez smartfony, tablety lub inne urządzenia wyposażone w aparat i aplikację czytnika kodów QR. Korzystając z biblioteki qrcode Pythona, możesz wydajnie generować, skanować i odczytywać kody QR.