Crtični kodovi su uobičajena pojava u našem svakodnevnom životu. Uz samo nekoliko jednostavnih koraka, možete bez napora generirati i skenirati crtične kodove pomoću Pythona.

Kada kupite artikl u trgovini, paralelne crne pruge različitih širina na artiklu koji kupite nazivaju se crtični kod. Crtični kodovi su metoda predstavljanja podataka u vizualnom, strojno čitljivom formatu. Crtični kodovi se koriste za pohranjivanje informacija o proizvodima radi lakše identifikacije i praćenja. Različite industrije koriste bar kodove za upravljanje zalihama.

Pomoću Pythona možete generirati crtične kodove, skenirati i čitati sadržaj crtičnog koda.

Kako generirati i prilagoditi crtične kodove

Sljedeći koraci pokazuju kako generirati crtične kodove pomoću python-crtični kod knjižnica.

1. Instalirajte potrebnu biblioteku

Otvorite svoj terminal ili naredbeni redak i pokrenite sljedeću naredbu pip da instalirate potrebnu biblioteku. Provjerite imate li pip instaliran na vašem računalu.

pip install python-barcode
instagram viewer

2. Uvezite potrebne module

U svoju skriptu uključite sljedeće uvozne izjave za uvoz modula potrebnih za generiranje crtičnog koda.

import barcode
from the barcode.writer import ImageWriter

Književnici upravljati stvaranjem i spremanjem slika crtičnog koda u različitim formatima. The python-crtični kod biblioteka nudi različite pisce crtičnog koda. Ovdje ćete upotrijebiti ImageWriter klasa koja crtične kodove prikazuje kao slike.

3. Kod za generiranje crtičnog koda

The python-crtični kod knjižnica nudi različite formate crtičnog koda, kao što su Code39, Code128, EAN13 i ISBN-10 za generiranje bar kodova.

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 generirati_barkod funkcija generira crtični kod na temelju zadanog podaci i format (format_barkoda) i sprema sliku crtičnog koda u datoteku, crtični kod.png. Ekstenzija datoteke ovisi o klasi pisca koju koristite.

4. Generirajte i prilagodite crtični kod

Za generiranje crtičnog koda nazovite generirati_barkod funkcionirati i proslijediti tražene parametre.

generate_barcode("MakeUseOf", "code128")

Pisci koriste nekoliko opcija koje vam omogućuju prilagodbu crtičnih kodova. Opcije prilagodbe uključuju izmjenu veličine, fonta, boje crtičnog koda i tako dalje. Možete se obratiti na python-crtični kod dokumentaciju za pristup kompletnom popisu uobičajenih opcija pisaca.


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

Kako skenirati i dekodirati crtične kodove

Sljedeći koraci pokazuju kako skenirati i dekodirati crtične kodove pomoću Pythona pyzbar knjižnica.

1. Instalirajte potrebne biblioteke

Za skeniranje i dekodiranje crtičnih kodova morate instalirati sljedeće biblioteke:

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

2. Uvezite potrebne module

Nakon instaliranja biblioteka, dodajte sljedeće naredbe za uvoz u svoju skriptu za uvoz potrebnih modula.

import cv2
from pyzbar import pyzbar

3. Skenirajte crtične kodove sa slika

Za skeniranje crtičnih kodova iz slikovnih datoteka:

  1. Učitajte sliku koristeći OpenCV imread funkcija. Ovo vraća instancu od numpy.ndarray.
  2. Proslijedite izlazni niz na pyzbar.dekodirati za detekciju i dekodiranje. Također možete proći instance od PIL.Slika.
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)

Funkcija zauzima put_slike parametar, čita sliku, dekodira sve crtične kodove prisutne na slici i ispisuje dekodirane podatke i vrstu crtičnog koda za svaki otkriveni crtični kod.

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

4. Skenirajte crtične kodove iz streama web kamere

Također možete skenirati i čitati crtične kodove u stvarnom vremenu iz toka web kamere uz pomoć Python OpenCV biblioteke.

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 skeniraj_barkod_s_web kamere funkcija kontinuirano snima okvire s web kamere, dekodira sve crtične kodove prisutne u okviru, izvlači informacije o bar kodu i ispisuje informacije. Za prekid pritisnite slovo q na tipkovnici.

Generiranje crtičnih i QR kodova u Pythonu

Uz Python, generiranje i čitanje crtičnih kodova postaje dostupno i učinkovito. Slijedeći navedene korake, možete generirati različite crtične kodove koji odgovaraju vašim potrebama.

QR kodovi (kodovi za brzi odgovor) su dvodimenzionalni bar kodovi koje mogu skenirati i čitati pametni telefoni, tableti ili drugi uređaji opremljeni kamerom i aplikacijom za čitanje QR koda. Korištenjem Python biblioteke qrcode možete učinkovito generirati, skenirati i čitati QR kodove.