


Pengimbasan Kod Bar telah menjadi alat penting merentas pelbagai industri, daripada runcit dan logistik kepada penjagaan kesihatan. Pada platform desktop, ia membolehkan penangkapan dan pemprosesan maklumat dengan pantas tanpa kemasukan data manual, menjimatkan masa dan mengurangkan ralat. Dalam tutorial ini, kami akan terus menerokai keupayaan Dynamsoft Capture Vision SDK dengan membina pengimbas kod bar Python untuk Windows, Linux , dan macOS.
Demo Pengimbas Kod Bar Python pada macOS
Prasyarat
Lesen Percubaan Dynamsoft Capture Vision: Dapatkan kunci lesen percubaan 30 Hari untuk Dynamsoft Capture Vision SDK.
-
Python Packages: Pasang pakej Python yang diperlukan menggunakan arahan berikut:
pip install dynamsoft-capture-vision-bundle opencv-python
Untuk apa pakej ini?
- dynamsoft-capture-vision-bundle ialah Dynamsoft Capture Vision SDK untuk Python.
- opencv-python menangkap bingkai kamera dan memaparkan hasil imej yang diproses.
Membaca Kod Bar daripada Imej Statik
Memandangkan Dynamsoft Capture Vision SDK ialah rangka kerja bersatu yang disepadukan dengan pelbagai tugas pemprosesan imej, kami boleh menukar antara mod pemprosesan imej dengan mudah dengan menghantar nama PresetTemplate kepada kaedah capture().
Templat Terbina dalam Dynamsoft Capture Vision SDK
Coretan kod berikut menunjukkan penghitungan PresetTemplate terbina dalam dalam Dynamsoft Capture Vision SDK:
class EnumPresetTemplate(Enum): PT_DEFAULT = _DynamsoftCaptureVisionRouter.getPT_DEFAULT() PT_READ_BARCODES = _DynamsoftCaptureVisionRouter.getPT_READ_BARCODES() PT_RECOGNIZE_TEXT_LINES = _DynamsoftCaptureVisionRouter.getPT_RECOGNIZE_TEXT_LINES() PT_DETECT_DOCUMENT_BOUNDARIES = ( _DynamsoftCaptureVisionRouter.getPT_DETECT_DOCUMENT_BOUNDARIES() ) PT_DETECT_AND_NORMALIZE_DOCUMENT = ( _DynamsoftCaptureVisionRouter.getPT_DETECT_AND_NORMALIZE_DOCUMENT() ) PT_NORMALIZE_DOCUMENT = _DynamsoftCaptureVisionRouter.getPT_NORMALIZE_DOCUMENT() PT_READ_BARCODES_SPEED_FIRST = ( _DynamsoftCaptureVisionRouter.getPT_READ_BARCODES_SPEED_FIRST() ) PT_READ_BARCODES_READ_RATE_FIRST = ( _DynamsoftCaptureVisionRouter.getPT_READ_BARCODES_READ_RATE_FIRST() ) PT_READ_SINGLE_BARCODE = _DynamsoftCaptureVisionRouter.getPT_READ_SINGLE_BARCODE() PT_RECOGNIZE_NUMBERS = _DynamsoftCaptureVisionRouter.getPT_RECOGNIZE_NUMBERS() PT_RECOGNIZE_LETTERS = _DynamsoftCaptureVisionRouter.getPT_RECOGNIZE_LETTERS() PT_RECOGNIZE_NUMBERS_AND_LETTERS = ( _DynamsoftCaptureVisionRouter.getPT_RECOGNIZE_NUMBERS_AND_LETTERS() ) PT_RECOGNIZE_NUMBERS_AND_UPPERCASE_LETTERS = ( _DynamsoftCaptureVisionRouter.getPT_RECOGNIZE_NUMBERS_AND_UPPERCASE_LETTERS() ) PT_RECOGNIZE_UPPERCASE_LETTERS = ( _DynamsoftCaptureVisionRouter.getPT_RECOGNIZE_UPPERCASE_LETTERS() )
Templat PT_DEFAULT menyokong berbilang tugas, termasuk pengesanan dokumen, pengecaman MRZ dan pengesanan kod bar. Untuk mengoptimumkan prestasi khusus untuk pengesanan kod bar, tetapkan templat kepada EnumPresetTemplate.PT_READ_BARCODES.value.
Kod Python untuk Pengesanan Kod Bar
Merujuk pengesanan dokumen sebelumnya dan contoh pengecaman MRZ, kod berikut boleh digunakan untuk membaca kod bar daripada imej statik:
import sys from dynamsoft_capture_vision_bundle import * import os import cv2 import numpy as np from utils import * if __name__ == '__main__': print("**********************************************************") print("Welcome to Dynamsoft Capture Vision - Barcode Sample") print("**********************************************************") error_code, error_message = LicenseManager.init_license( "LICENSE-KEY") if error_code != EnumErrorCode.EC_OK and error_code != EnumErrorCode.EC_LICENSE_CACHE_USED: print("License initialization failed: ErrorCode:", error_code, ", ErrorString:", error_message) else: cvr_instance = CaptureVisionRouter() while (True): image_path = input( ">> Input your image full path:\n" ">> 'Enter' for sample image or 'Q'/'q' to quit\n" ).strip('\'"') if image_path.lower() == "q": sys.exit(0) if image_path == "": image_path = "../../../images/multi.png" if not os.path.exists(image_path): print("The image path does not exist.") continue result = cvr_instance.capture( image_path, EnumPresetTemplate.PT_READ_BARCODES.value) if result.get_error_code() != EnumErrorCode.EC_OK: print("Error:", result.get_error_code(), result.get_error_string()) else: cv_image = cv2.imread(image_path) items = result.get_items() print('Found {} barcodes.'.format(len(items))) for item in items: format_type = item.get_format() text = item.get_text() print("Barcode Format:", format_type) print("Barcode Text:", text) location = item.get_location() x1 = location.points[0].x y1 = location.points[0].y x2 = location.points[1].x y2 = location.points[1].y x3 = location.points[2].x y3 = location.points[2].y x4 = location.points[3].x y4 = location.points[3].y del location cv2.drawContours( cv_image, [np.intp([(x1, y1), (x2, y2), (x3, y3), (x4, y4)])], 0, (0, 255, 0), 2) cv2.putText(cv_image, text, (x1, y1 - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2) cv2.imshow( "Original Image with Detected Barcodes", cv_image) cv2.waitKey(0) cv2.destroyAllWindows() input("Press Enter to quit...")
Nota: Gantikan LESEN-KUNCI dengan kunci lesen anda yang sah.
Menguji Pembaca Kod Bar Python dengan Imej Berbilang Kod Bar
Menyahkod berbilang kod bar daripada satu imej ialah kes penggunaan biasa dalam runcit dan logistik. Imej berikut mengandungi berbilang kod bar dalam format berbeza:
Pengesanan Berbilang Kod Bar masa nyata dengan Webcam
Apabila membaca kod bar daripada fail imej, kami menggunakan kaedah tangkap() dalam urutan utama. Walau bagaimanapun, untuk memproses strim video masa nyata daripada kamera web, pendekatan berbeza diperlukan untuk mengelak daripada menyekat utas utama. Dynamsoft Capture Vision SDK menyediakan mekanisme terbina dalam untuk mengendalikan bingkai video masa nyata dan memprosesnya secara tidak segerak pada benang pekerja C asli. Untuk melaksanakan ini, lanjutkan kelas ImageSourceAdapter dan CapturedResultReceiver untuk mengendalikan data imej dan hasil tangkapan, masing-masing, kemudian panggil kaedah start_capturing() untuk mula memproses strim video.
pip install dynamsoft-capture-vision-bundle opencv-python
Penjelasan
- Kelas FrameFetcher melaksanakan antara muka ImageSourceAdapter untuk memasukkan data bingkai ke dalam penimbal terbina dalam.
- Kelas MyCapturedResultReceiver melaksanakan antara muka CapturedResultReceiver. Kaedah on_captured_result_received berjalan pada utas pekerja C asli dan menghantar objek CapturedResult ke utas utama di mana ia disimpan dalam baris gilir selamat untuk kegunaan selanjutnya.
- A CapturedResult mengandungi beberapa objek CapturedResultItem. Jenis CRIT_BARCODE mewakili data kod bar yang diiktiraf.
Menguji Pengimbas Kod Bar Python pada macOS
Kod Sumber
https://github.com/yushulx/python-barcode-qrcode-sdk/tree/main/examples/official/10.x
Atas ialah kandungan terperinci Cara Membina Pengimbas Kod Bar Python untuk Windows, Linux dan macOS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Python cemerlang dalam automasi, skrip, dan pengurusan tugas. 1) Automasi: Sandaran fail direalisasikan melalui perpustakaan standard seperti OS dan Shutil. 2) Penulisan Skrip: Gunakan Perpustakaan Psutil untuk memantau sumber sistem. 3) Pengurusan Tugas: Gunakan perpustakaan jadual untuk menjadualkan tugas. Kemudahan penggunaan Python dan sokongan perpustakaan yang kaya menjadikannya alat pilihan di kawasan ini.

Untuk memaksimumkan kecekapan pembelajaran Python dalam masa yang terhad, anda boleh menggunakan modul, masa, dan modul Python. 1. Modul DateTime digunakan untuk merakam dan merancang masa pembelajaran. 2. Modul Masa membantu menetapkan kajian dan masa rehat. 3. Modul Jadual secara automatik mengatur tugas pembelajaran mingguan.

Python cemerlang dalam permainan dan pembangunan GUI. 1) Pembangunan permainan menggunakan pygame, menyediakan lukisan, audio dan fungsi lain, yang sesuai untuk membuat permainan 2D. 2) Pembangunan GUI boleh memilih tkinter atau pyqt. TKInter adalah mudah dan mudah digunakan, PYQT mempunyai fungsi yang kaya dan sesuai untuk pembangunan profesional.

Python sesuai untuk sains data, pembangunan web dan tugas automasi, manakala C sesuai untuk pengaturcaraan sistem, pembangunan permainan dan sistem tertanam. Python terkenal dengan kesederhanaan dan ekosistem yang kuat, manakala C dikenali dengan keupayaan kawalan dan keupayaan kawalan yang mendasari.

Anda boleh mempelajari konsep pengaturcaraan asas dan kemahiran Python dalam masa 2 jam. 1. Belajar Pembolehubah dan Jenis Data, 2.

Python digunakan secara meluas dalam bidang pembangunan web, sains data, pembelajaran mesin, automasi dan skrip. 1) Dalam pembangunan web, kerangka Django dan Flask memudahkan proses pembangunan. 2) Dalam bidang sains data dan pembelajaran mesin, numpy, panda, scikit-learn dan perpustakaan tensorflow memberikan sokongan yang kuat. 3) Dari segi automasi dan skrip, Python sesuai untuk tugas -tugas seperti ujian automatik dan pengurusan sistem.

Anda boleh mempelajari asas -asas Python dalam masa dua jam. 1. Belajar pembolehubah dan jenis data, 2. Struktur kawalan induk seperti jika pernyataan dan gelung, 3 memahami definisi dan penggunaan fungsi. Ini akan membantu anda mula menulis program python mudah.

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa