Jadual Kandungan
Untuk melengkapkan tutorial ini dengan mudah, anda perlu biasa dengan asas Python. Persekitaran program harus diwujudkan terlebih dahulu.
Tesseract OCR ialah enjin yang boleh mengecam aksara bahasa. Sebelum menggunakan perpustakaan pytesseract, anda harus memasangnya pada komputer anda. Langkah-langkahnya adalah seperti berikut:
Mula-mula import perpustakaan yang dipasang dalam persekitaran. Mengimport perpustakaan membolehkan anda memanggil dan menggunakan fungsinya dalam projek anda. Anda memerlukan Import perpustakaan OpenCV-Python dalam bentuk cv2. Import perpustakaan lain menggunakan nama yang sama seperti semasa dipasang.
(1) Lakukan pengesanan tepi
5.识别检测到的车牌
6.显示输出
三、磨砺您的Python技能
Rumah pembangunan bahagian belakang Tutorial Python Bagaimana untuk mengesan dan mengenali plat lesen menggunakan Python?

Bagaimana untuk mengesan dan mengenali plat lesen menggunakan Python?

Apr 14, 2023 pm 12:34 PM
python mengenalpasti plat lesen

​Penterjemah |. Bugatti

Penyemak |. Kawalan akses kenderaan, dsb. Teknologi ini menggabungkan penglihatan komputer dan kecerdasan buatan.

Artikel ini akan menggunakan Python untuk mencipta program pengesanan dan pengecaman plat lesen. Program ini memproses imej input, mengesan dan mengenali plat lesen, dan akhirnya memaparkan aksara plat lesen sebagai output.

1 Cipta persekitaran Python

Untuk melengkapkan tutorial ini dengan mudah, anda perlu biasa dengan asas Python. Persekitaran program harus diwujudkan terlebih dahulu.

Sebelum anda memulakan pengaturcaraan, anda perlu memasang beberapa perpustakaan dalam persekitaran anda. Buka mana-mana IDE Python dan buat fail Python. Jalankan arahan pada terminal untuk memasang perpustakaan yang sepadan. Anda sepatutnya mempunyai Python PIP pra-pasang pada komputer anda.

OpenCV-Python: Anda akan menggunakan perpustakaan ini untuk pramemproses imej input dan memaparkan imej output individu. pip install OpenCV-Python

imutils: Anda akan menggunakan perpustakaan ini untuk memangkas imej input asal kepada lebar yang dikehendaki. pip install imutils
  • pytesseract: Anda akan menggunakan perpustakaan ini untuk mengekstrak aksara plat lesen dan menukarnya kepada rentetan. pip install pytesseract Pustaka pytesseract bergantung pada enjin Tesseract OCR untuk pengecaman aksara.
  • 2. Bagaimana hendak memasang Tesseract OCR pada komputer anda?

Tesseract OCR ialah enjin yang boleh mengecam aksara bahasa. Sebelum menggunakan perpustakaan pytesseract, anda harus memasangnya pada komputer anda. Langkah-langkahnya adalah seperti berikut:

1. Buka mana-mana penyemak imbas berasaskan Chrome.

2. Muat turun pemasang OCR Tesseract.

3. Jalankan pemasang dan pasangkannya seperti mana-mana program lain.

Selepas menyediakan persekitaran dan memasang tesseract OCR, anda boleh menulis atur cara.

1 Import perpustakaan

Mula-mula import perpustakaan yang dipasang dalam persekitaran. Mengimport perpustakaan membolehkan anda memanggil dan menggunakan fungsinya dalam projek anda. Anda memerlukan Import perpustakaan OpenCV-Python dalam bentuk cv2. Import perpustakaan lain menggunakan nama yang sama seperti semasa dipasang.

2. Dapatkan input

    dan halakan pytesseract ke lokasi di mana enjin Tesseract dipasang. Gunakan fungsi cv2.imread untuk mengambil imej kereta sebagai input. Gantikan nama imej dengan nama imej yang anda gunakan. Simpan imej dalam folder yang sama dengan projek anda untuk kemudahan penggunaan.
  • Anda boleh menggantikan imej input di bawah dengan imej yang ingin anda gunakan.

3. Input praproses

Laraskan lebar imej kepada 500 piksel dan kemudian tukar imej kepada skala kelabu kerana fungsi pengesanan tepi cerdik sahaja pada imej skala kelabu. Akhir sekali, fungsi Penapis dua hala dipanggil untuk mengurangkan hingar imej.

4. Mengesan plat lesen di hujung input

pytesseract.pytesseract.tesseract_cmd = 'C:\Program Files\Tesseract-OCR\tesseract.exe'
original_image = cv2.imread('image3.jpeg')
Salin selepas log masuk

Mengesan plat lesen ialah proses menentukan bahagian kereta yang mempunyai watak plat.

(1) Lakukan pengesanan tepi

Mula-mula panggil fungsi cv2.Canny, yang boleh mengesan tepi prapemprosesan secara automatik pada imej.
original_image = imutils.resize(original_image, width=500 )
gray_image = cv2.cvtColor(original_image, cv2.COLOR_BGR2GRAY)
gray_image = cv2.bilateralFilter(gray_image, 11, 17, 17)
Salin selepas log masuk

Kami akan mencari kontur melalui tepi ini.

(2) Cari kontur

Panggil fungsi cv2.findContours dan hantar salinan imej tepi. Fungsi ini akan mengesan kontur. Gunakan fungsi cv2.drawContours untuk melukis kontur yang dikesan pada imej asal. Akhir sekali, keluarkan imej asal dengan semua kontur yang boleh dilihat dilukis.

Program ini melukis semua kontur yang ditemui pada imej kereta.

edged_image = cv2.Canny(gray_image, 30,200)
Salin selepas log masuk

Setelah anda menemui kontur, anda perlu menapisnya untuk mengenal pasti kontur calon yang terbaik.

(3) Tapis kontur
contours, new = cv2.findContours(edged_image.copy(), cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
img1 = original_image.copy()
cv2.drawContours(img1, contours, -1, (0, 255, 0), 3)
cv2.imshow("img1", img1)
Salin selepas log masuk

Tapis kontur berdasarkan keluasan minimum 30. Garis besar yang lebih kecil daripada kawasan ini diabaikan kerana ia tidak mungkin merupakan garis besar plat lesen. Buat salinan imej asal dan lukis 30 kontur pertama pada imej. Akhirnya, imej dipaparkan.

Bagaimana untuk mengesan dan mengenali plat lesen menggunakan Python?

Kini terdapat lebih sedikit garis besar berbanding pada mulanya. Satu-satunya kontur yang dilukis ialah kontur yang lebih kurang mengandungi plat lesen.

Akhir sekali, anda perlu mengulangi garis besar yang ditapis untuk menentukan yang mana satu plat lesen.

(4) Lintas 30 kontur pertama
contours = sorted(contours, key = cv2.contourArea, reverse = True)[:30]
# stores the license plate contour
screenCnt = None
img2 = original_image.copy()

# draws top 30 contours
cv2.drawContours(img2, contours, -1, (0, 255, 0), 3)
cv2.imshow("img2", img2)
Salin selepas log masuk

Buat gelung for yang merentasi kontur. Cari kontur dengan empat bucu dan tentukan perimeter dan koordinatnya. Simpan imej yang mengandungi garis besar plat lesen. Akhir sekali, garis besar plat lesen dilukis pada imej asal dan dipaparkan.

Bagaimana untuk mengesan dan mengenali plat lesen menggunakan Python?

Selepas gelung, program telah mengenal pasti garis besar yang mengandungi plat lesen.

Bagaimana untuk mengesan dan mengenali plat lesen menggunakan Python?

5.识别检测到的车牌

识别车牌意味着读取已裁剪车牌图像上的字符。加载之前存储的车牌图像并显示它。然后,调用pytesseract.image_to_string函数,传递已裁剪的车牌图像。这个函数将图像中的字符转换成字符串。

# filename of the cropped license plate image
cropped_License_Plate = './7.png'
cv2.imshow("cropped license plate", cv2.imread(cropped_License_Plate))

# converts the license plate characters to string
text = pytesseract.image_to_string(cropped_License_Plate, lang='eng')
Salin selepas log masuk

已裁剪的车牌如下所示。上面的字符将是您稍后在屏幕上输出的内容。

Bagaimana untuk mengesan dan mengenali plat lesen menggunakan Python?

检测并识别车牌之后,您就可以显示输出了。

6.显示输出

这是最后一步。您将提取的文本输出到屏幕上。该文本含有车牌字符。

print("License plate is:", text)
cv2.waitKey(0)
cv2.destroyAllWindows()
Salin selepas log masuk

程序的预期输出应该如下图所示:

Bagaimana untuk mengesan dan mengenali plat lesen menggunakan Python?

车牌文本可以在终端上看到。

三、磨砺您的Python技能

用Python检测和识别车牌是一个有意思的项目。它有挑战性,所以应该会帮助您学到关于Python的更多知识。

说到编程,实际运用是掌握一门语言的关键。为了锻炼技能,您需要开发有意思的项目。

原文链接:https://www.makeuseof.com/python-car-license-plates-detect-and-recognize/

Atas ialah kandungan terperinci Bagaimana untuk mengesan dan mengenali plat lesen menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah Feathering PS mengawal kelembutan peralihan? Bagaimanakah Feathering PS mengawal kelembutan peralihan? Apr 06, 2025 pm 07:33 PM

Kunci kawalan bulu adalah memahami sifatnya secara beransur -ansur. PS sendiri tidak menyediakan pilihan untuk mengawal lengkung kecerunan secara langsung, tetapi anda boleh melaraskan radius dan kelembutan kecerunan dengan pelbagai bulu, topeng yang sepadan, dan pilihan halus untuk mencapai kesan peralihan semula jadi.

Adakah Mysql perlu membayar Adakah Mysql perlu membayar Apr 08, 2025 pm 05:36 PM

MySQL mempunyai versi komuniti percuma dan versi perusahaan berbayar. Versi komuniti boleh digunakan dan diubahsuai secara percuma, tetapi sokongannya terhad dan sesuai untuk aplikasi dengan keperluan kestabilan yang rendah dan keupayaan teknikal yang kuat. Edisi Enterprise menyediakan sokongan komersil yang komprehensif untuk aplikasi yang memerlukan pangkalan data yang stabil, boleh dipercayai, berprestasi tinggi dan bersedia membayar sokongan. Faktor yang dipertimbangkan apabila memilih versi termasuk kritikal aplikasi, belanjawan, dan kemahiran teknikal. Tidak ada pilihan yang sempurna, hanya pilihan yang paling sesuai, dan anda perlu memilih dengan teliti mengikut keadaan tertentu.

Cara Menggunakan MySQL Selepas Pemasangan Cara Menggunakan MySQL Selepas Pemasangan Apr 08, 2025 am 11:48 AM

Artikel ini memperkenalkan operasi pangkalan data MySQL. Pertama, anda perlu memasang klien MySQL, seperti MySqlworkbench atau Command Line Client. 1. Gunakan perintah MySQL-Uroot-P untuk menyambung ke pelayan dan log masuk dengan kata laluan akaun root; 2. Gunakan CreateTatabase untuk membuat pangkalan data, dan gunakan Pilih pangkalan data; 3. Gunakan createtable untuk membuat jadual, menentukan medan dan jenis data; 4. Gunakan InsertInto untuk memasukkan data, data pertanyaan, kemas kini data dengan kemas kini, dan padam data dengan padam. Hanya dengan menguasai langkah -langkah ini, belajar menangani masalah biasa dan mengoptimumkan prestasi pangkalan data anda boleh menggunakan MySQL dengan cekap.

Bagaimana cara menyediakan bulu ps? Bagaimana cara menyediakan bulu ps? Apr 06, 2025 pm 07:36 PM

PS Feathering adalah kesan kabur tepi imej, yang dicapai dengan purata piksel berwajaran di kawasan tepi. Menetapkan jejari bulu dapat mengawal tahap kabur, dan semakin besar nilai, semakin kaburnya. Pelarasan fleksibel radius dapat mengoptimumkan kesan mengikut imej dan keperluan. Sebagai contoh, menggunakan jejari yang lebih kecil untuk mengekalkan butiran apabila memproses foto watak, dan menggunakan radius yang lebih besar untuk mewujudkan perasaan kabur ketika memproses karya seni. Walau bagaimanapun, perlu diperhatikan bahawa terlalu besar jejari boleh dengan mudah kehilangan butiran kelebihan, dan terlalu kecil kesannya tidak akan jelas. Kesan bulu dipengaruhi oleh resolusi imej dan perlu diselaraskan mengikut pemahaman imej dan kesan genggaman.

Mysql tidak dapat dipasang setelah memuat turun Mysql tidak dapat dipasang setelah memuat turun Apr 08, 2025 am 11:24 AM

Sebab utama kegagalan pemasangan MySQL adalah: 1. Isu kebenaran, anda perlu menjalankan sebagai pentadbir atau menggunakan perintah sudo; 2. Ketergantungan hilang, dan anda perlu memasang pakej pembangunan yang relevan; 3. Konflik pelabuhan, anda perlu menutup program yang menduduki port 3306 atau mengubah suai fail konfigurasi; 4. Pakej pemasangan adalah korup, anda perlu memuat turun dan mengesahkan integriti; 5. Pembolehubah persekitaran dikonfigurasikan dengan salah, dan pembolehubah persekitaran mesti dikonfigurasi dengan betul mengikut sistem operasi. Selesaikan masalah ini dan periksa dengan teliti setiap langkah untuk berjaya memasang MySQL.

Cara mengoptimumkan prestasi pangkalan data selepas pemasangan MySQL Cara mengoptimumkan prestasi pangkalan data selepas pemasangan MySQL Apr 08, 2025 am 11:36 AM

Pengoptimuman prestasi MySQL perlu bermula dari tiga aspek: konfigurasi pemasangan, pengindeksan dan pengoptimuman pertanyaan, pemantauan dan penalaan. 1. Selepas pemasangan, anda perlu menyesuaikan fail my.cnf mengikut konfigurasi pelayan, seperti parameter innodb_buffer_pool_size, dan tutup query_cache_size; 2. Buat indeks yang sesuai untuk mengelakkan indeks yang berlebihan, dan mengoptimumkan pernyataan pertanyaan, seperti menggunakan perintah menjelaskan untuk menganalisis pelan pelaksanaan; 3. Gunakan alat pemantauan MySQL sendiri (ShowProcessList, ShowStatus) untuk memantau kesihatan pangkalan data, dan kerap membuat semula dan mengatur pangkalan data. Hanya dengan terus mengoptimumkan langkah -langkah ini, prestasi pangkalan data MySQL diperbaiki.

Fail muat turun MySQL rosak dan tidak boleh dipasang. Penyelesaian pembaikan Fail muat turun MySQL rosak dan tidak boleh dipasang. Penyelesaian pembaikan Apr 08, 2025 am 11:21 AM

Fail muat turun mysql adalah korup, apa yang perlu saya lakukan? Malangnya, jika anda memuat turun MySQL, anda boleh menghadapi rasuah fail. Ia benar -benar tidak mudah hari ini! Artikel ini akan bercakap tentang cara menyelesaikan masalah ini supaya semua orang dapat mengelakkan lencongan. Selepas membacanya, anda bukan sahaja boleh membaiki pakej pemasangan MySQL yang rosak, tetapi juga mempunyai pemahaman yang lebih mendalam tentang proses muat turun dan pemasangan untuk mengelakkan terjebak pada masa akan datang. Mari kita bercakap tentang mengapa memuat turun fail rosak. Terdapat banyak sebab untuk ini. Masalah rangkaian adalah pelakunya. Gangguan dalam proses muat turun dan ketidakstabilan dalam rangkaian boleh menyebabkan rasuah fail. Terdapat juga masalah dengan sumber muat turun itu sendiri. Fail pelayan itu sendiri rosak, dan sudah tentu ia juga dipecahkan jika anda memuat turunnya. Di samping itu, pengimbasan "ghairah" yang berlebihan beberapa perisian antivirus juga boleh menyebabkan rasuah fail. Masalah Diagnostik: Tentukan sama ada fail itu benar -benar korup

Bagaimana untuk mengoptimumkan prestasi MySQL untuk aplikasi beban tinggi? Bagaimana untuk mengoptimumkan prestasi MySQL untuk aplikasi beban tinggi? Apr 08, 2025 pm 06:03 PM

Panduan Pengoptimuman Prestasi Pangkalan Data MySQL Dalam aplikasi yang berintensifkan sumber, pangkalan data MySQL memainkan peranan penting dan bertanggungjawab untuk menguruskan urus niaga besar-besaran. Walau bagaimanapun, apabila skala aplikasi berkembang, kemunculan prestasi pangkalan data sering menjadi kekangan. Artikel ini akan meneroka satu siri strategi pengoptimuman prestasi MySQL yang berkesan untuk memastikan aplikasi anda tetap cekap dan responsif di bawah beban tinggi. Kami akan menggabungkan kes-kes sebenar untuk menerangkan teknologi utama yang mendalam seperti pengindeksan, pengoptimuman pertanyaan, reka bentuk pangkalan data dan caching. 1. Reka bentuk seni bina pangkalan data dan seni bina pangkalan data yang dioptimumkan adalah asas pengoptimuman prestasi MySQL. Berikut adalah beberapa prinsip teras: Memilih jenis data yang betul dan memilih jenis data terkecil yang memenuhi keperluan bukan sahaja dapat menjimatkan ruang penyimpanan, tetapi juga meningkatkan kelajuan pemprosesan data.

See all articles