資料介紹
描述
print('Hello! Thanks for reading this project')
在這篇文章中,我將解釋車牌檢測系統(tǒng)。
你興奮嗎?好吧……讓我們開始吧。
要構建這個項目,您需要 OpenCV 和 imutils。您可以使用此命令安裝它。
- 打開您的命令提示符并輸入。
pip install opencv-python
pip install imutils
為什么是imutils?
使用 OpenCV 以及 Python 2.7 和 Python 3 使基本圖像處理功能(如平移、旋轉、調(diào)整大小、骨架化、顯示 Matplotlib 圖像、排序輪廓、檢測邊緣等)更容易的一系列便利功能。
現(xiàn)在,我們已經(jīng)安裝了這個項目所需的包。讓我們開始建造吧。
1. Import packages
. 在這里,我們正在導入 OpenCV 和 imutils。
import cv2
import imutils as im
2. Read Image file
從特定文件夾。最好在源文件目錄下。
# specify the path
input = 'car5.jpg'
image = cv2.imread(input)
3. Resizing
輸入圖像,因為每個圖像都有不同的形狀。因此,調(diào)整大小使所有內(nèi)容都采用一種標準尺寸。
newwidth = 500
resize_image = im.resize(image, width=newwidth)
4. Color conversion
在這里,我們將輸入顏色(BGR)圖像轉換為灰度圖像。因為canny邊緣檢測器輸入圖像應該是單通道8位輸入圖像。
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
5. Image Smoothing
過濾可能是圖像處理中最基本的操作。高斯和中值濾波器傾向于模糊邊緣。所以我將應用一個雙邊濾波器,它可以很好地減少不需要的噪聲,同時保持邊緣相當清晰。但是,與大多數(shù)過濾器相比,它非常慢。
給定參數(shù):
src:1 或 3 通道圖像
d:過濾期間使用的每個像素鄰域的直徑。
sigmaColor:在顏色空間中過濾 sigma。
sigmaSpace:在坐標空間中過濾sigma。
為簡單起見,您可以將 2 個 sigma 值設置為相同。如果它們很?。? 10),則濾鏡不會有太大的效果,而如果它們很大(> 150),它們會產(chǎn)生非常強烈的效果,使圖像看起來“卡通”??。
欲了解更多信息:https ://docs.opencv.org/trunk/d4/d86/group__imgproc__filter.html#ga9d7064d478c95d60003cf839430737ed
d, sigmaColor, sigmaSpace = 10,15,15
filtered_img = cv2.bilateralFilter(gray, d, sigmaColor, sigmaSpace)
6. Edge Detection
Canny Edge Detection 是一種流行的邊緣檢測算法。第一個參數(shù)是我們的輸入圖像。第二個和第三個參數(shù)分別是我們的下限和上限。
好的!什么是下限和上限?
Canny 使用兩個閾值(上限和下限)
- 如果像素梯度大于上限閾值,則接受像素作為邊緣。
- 如果像素梯度低于較低值,則將其拒絕。
- 如果像素梯度在兩個閾值之間,那么只有當它連接到高于閾值上限的像素時才會被接受。
?

?
# Find Edges in the grayscale image
lower, upper = 170, 200
edged = cv2.Canny(filtered_img, lower, upper)
?

7. Contours
輪廓被定義為連接沿圖像邊界具有相同強度的所有點的線。輪廓用于形狀分析和對象檢測。輪廓適用于二值圖像。在此處閱讀有關此內(nèi)容的更多信息。
cnts,hir = cv2.findContours(edged.copy(), cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
它將返回圖像中所有輪廓的 Python 列表。每個輪廓都是對象的 (x, y) 坐標的 numpy 數(shù)組。像這樣
[[[218 353]]
[[219 376]]
[[331 375]]
[[328 352]]]
它將返回這么多輪廓坐標。所以,我們必須根據(jù)它的面積來整理列表。python 中的 sorted 函數(shù)在這里很有用。
參數(shù):
- 可迭代 - 輪廓列表
- 可以提供 key 函數(shù)來自定義排序順序,我們將使用區(qū)域進行排序。
- 對于降序列??表,可以將反向標志設置為 true。
# Return list with 10 biggest contour area
cnts=sorted(cnts, key = cv2.contourArea, reverse = True)[:10]
print("Number of Contours found : " + str(len(cnts))) # 10
8. Number plate Detection
最后,我們有大面積的輪廓及其坐標。
循環(huán)遍歷我們的輪廓以找到車牌的最佳輪廓。
好的!現(xiàn)在我們將把循環(huán)內(nèi)部發(fā)生的事情分解成碎片。
count = 0
for c in cnts:
perimeter = cv2.arcLength(c, True)
epsilon = 0.01 * perimeter
approx = cv2.approxPolyDP(c, epsilon , True)
if len(approx) == 4: # Select the contour with 4 corners
print(approx)
NumberPlateCnt = approx #This is our approx Number Plate Contour
break
首先,我們必須找到周長。它也稱為弧長。
周長是二維形狀周圍的距離。
第一個參數(shù)是輪廓點,True 指定形狀是否為閉合輪廓。
perimeter = cv2.arcLength(c,True)
接下來,輪廓逼近
說明來源:OpenCV Documentation要理解這個,假設你試圖在圖像中找到一個正方形,但是由于圖像中的一些問題,你沒有得到一個完美的正方形,而是一個“壞形狀”(如第一下圖)。現(xiàn)在您可以使用此函數(shù)來近似形狀。在此,第二個參數(shù)稱為epsilon
,它是從輪廓到近似輪廓的最大距離。它是一個精度參數(shù)。需要明智地選擇epsilon
以獲得正確的輸出。
epsilon = 0.01 * perimeter
approx = cv2.approxPolyDP(c, epsilon , True)
最后,選擇具有 4 個角的輪廓。
if len(approx) == 4: # Select the contour with 4 corners
print(approx)
NumberPlateCnt = approx #This is our approx Number Plate Contour
break
9. Draw Contours
# Draw all contours
# -1 signifies drawing all contours
cv2.drawContours(image, [NumberPlateCnt], -1, (255,0,0), 2)
大多數(shù)讀者都沒有讀完博客,但你做到了,因為你很特別,你不只是放棄閱讀。
?
?
- 基于LABVIEW的車牌識別系統(tǒng)資料 64次下載
- 基于MATLAB的車牌識別系統(tǒng) 18次下載
- 如何使用機器視覺實現(xiàn)汽車牌照的識別 15次下載
- 使用Adaboost算法實現(xiàn)車牌檢測在OpenCV上實現(xiàn)的研究分析 7次下載
- 如何使用FPGA進行汽車牌照自動檢測系統(tǒng)硬件實現(xiàn) 4次下載
- 如何使用FPGA進行車牌識別系統(tǒng)的設計與實現(xiàn)?詳細資料免費下載 33次下載
- 基于數(shù)學形態(tài)學和Hough變換的車牌圖像檢測及定位算法解析 0次下載
- 智能交通系統(tǒng)之車牌定位及GPS定位經(jīng)典案例匯總 8次下載
- 利用邊緣檢測結合Hough變換的車牌圖像檢測及定位算法 6次下載
- 車牌定位算法的研究及設計 6次下載
- 圖像處理和投影的車牌定位方法
- 復雜車輛圖像中的車牌定位
- 基于DSP的圖像處理在車牌識別中的應用
- 車牌識別系統(tǒng)的設計與實現(xiàn)
- 一種車牌識別系統(tǒng)中的混合車牌定位方法
- 項目分享|基于ELF 1開發(fā)板的車牌識別系統(tǒng) 493次閱讀
- 車牌定位方法的類型及應用特點研究 4620次閱讀
- 車牌識別是如何實現(xiàn)的 4446次閱讀
- 什么是智能電子車牌?有什么技術優(yōu)勢? 8402次閱讀
- 新能源車牌不能過戶嗎_新能源車牌還有哪些規(guī)定_新能源車牌照政策 10.3w次閱讀
- 新能源車牌使用要求_新能源車牌有什么好處_新能源車牌與普通車牌有何區(qū)別 2.4w次閱讀
- 車牌識別停車場系統(tǒng)安裝方法及注意事項 2w次閱讀
- 車牌識別停車場系統(tǒng)的工作原理詳解 4.3w次閱讀
- 車牌識別哪家強_車牌識別品牌全國排名榜前十出爐 4.7w次閱讀
- 車牌識別技術的發(fā)展及意義_車牌識別系統(tǒng)原理介紹 1.6w次閱讀
- 車牌識別能破解么_怎么破解小區(qū)車牌識別 38w次閱讀
- 車牌識別錯誤_車牌識別不了解決辦法 3.9w次閱讀
- 車牌識別系統(tǒng)技術指標及選購方法 1326次閱讀
- 車牌識別系統(tǒng)的識別原理及觸發(fā)方式 3.9w次閱讀
- 車牌識別系統(tǒng)的結構組成與應用 5120次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費
- 4網(wǎng)絡安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護等級說明
- 0.08 MB | 次下載 | 免費
本月
- 1貼片三極管上的印字與真實名稱的對照表詳細說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設計指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191390次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論