精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>車牌檢測(cè)系統(tǒng)

車牌檢測(cè)系統(tǒng)

2022-12-13 | zip | 0.05 MB | 次下載 | 2積分

資料介紹

描述

print('Hello! Thanks for reading this project')

在這篇文章中,我將解釋車牌檢測(cè)系統(tǒng)。

你興奮嗎?好吧……讓我們開始吧。

要構(gòu)建這個(gè)項(xiàng)目,您需要 OpenCV 和 imutils。您可以使用此命令安裝它。

- 打開您的命令提示符并輸入。

pip install opencv-python

pip install imutils

為什么是imutils?

使用 OpenCV 以及 Python 2.7 和 Python 3 使基本圖像處理功能(如平移、旋轉(zhuǎn)、調(diào)整大小、骨架化、顯示 Matplotlib 圖像、排序輪廓、檢測(cè)邊緣等)更容易的一系列便利功能。

現(xiàn)在,我們已經(jīng)安裝了這個(gè)項(xiàng)目所需的包。讓我們開始建造吧。

1. Import packages. 在這里,我們正在導(dǎo)入 OpenCV 和 imutils。

import cv2
import imutils as im

2. Read Image file從特定文件夾。最好在源文件目錄下。

# specify the path 
input = 'car5.jpg'
image = cv2.imread(input)

3. Resizing輸入圖像,因?yàn)槊總€(gè)圖像都有不同的形狀。因此,調(diào)整大小使所有內(nèi)容都采用一種標(biāo)準(zhǔn)尺寸。

newwidth = 500
resize_image = im.resize(image, width=newwidth)

4. Color conversion

在這里,我們將輸入顏色(BGR)圖像轉(zhuǎn)換為灰度圖像。因?yàn)?a target='_blank' class='arckwlink_none'>canny邊緣檢測(cè)器輸入圖像應(yīng)該是單通道8位輸入圖像。

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

5. Image Smoothing

過濾可能是圖像處理中最基本的操作。高斯和中值濾波器傾向于模糊邊緣。所以我將應(yīng)用一個(gè)雙邊濾波器,它可以很好地減少不需要的噪聲,同時(shí)保持邊緣相當(dāng)清晰。但是,與大多數(shù)過濾器相比,它非常慢。

給定參數(shù)

src:1 或 3 通道圖像

d:過濾期間使用的每個(gè)像素鄰域的直徑。

sigmaColor:在顏色空間中過濾 sigma。

sigmaSpace:在坐標(biāo)空間中過濾sigma。

為簡單起見,您可以將 2 個(gè) sigma 值設(shè)置為相同。如果它們很小(< 10),則濾鏡不會(huì)有太大的效果,而如果它們很大(> 150),它們會(huì)產(chǎn)生非常強(qiáng)烈的效果,使圖像看起來“卡通”??。

欲了解更多信息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 是一種流行的邊緣檢測(cè)算法第一個(gè)參數(shù)是我們的輸入圖像。第二個(gè)和第三個(gè)參數(shù)分別是我們的下限和上限。

好的!什么是下限和上限?

Canny 使用兩個(gè)閾值(上限和下限)

  • 如果像素梯度大于上限閾值,則接受像素作為邊緣。
  • 如果像素梯度低于較低值,則將其拒絕。
  • 如果像素梯度在兩個(gè)閾值之間,那么只有當(dāng)它連接到高于閾值上限的像素時(shí)才會(huì)被接受

?

poYBAGOX03-AVlSaAAAggM_Ft6w460.png
資料來源:Opencv 文檔
?

?

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

?

poYBAGOX04OAEtMbAAD-cln5rDw949.png
精明的邊緣檢測(cè)
?

7. Contours

輪廓被定義為連接沿圖像邊界具有相同強(qiáng)度的所有點(diǎn)的線。輪廓用于形狀分析和對(duì)象檢測(cè)。輪廓適用于二值圖像。在此處閱讀有關(guān)此內(nèi)容的更多信息。

cnts,hir = cv2.findContours(edged.copy(), cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)

它將返回圖像中所有輪廓的 Python 列表。每個(gè)輪廓都是對(duì)象的 (x, y) 坐標(biāo)的 numpy 數(shù)組。像這樣

[[[218 353]]

 [[219 376]]

 [[331 375]]

 [[328 352]]]

它將返回這么多輪廓坐標(biāo)。所以,我們必須根據(jù)它的面積來整理列表。python 中的 sorted 函數(shù)在這里很有用。

參數(shù):

  • 可迭代 - 輪廓列表
  • 可以提供 key 函數(shù)來自定義排序順序,我們將使用區(qū)域進(jìn)行排序。
  • 對(duì)于降序列??表,可以將反向標(biāo)志設(shè)置為 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

最后,我們有大面積的輪廓及其坐標(biāo)。

循環(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

首先,我們必須找到周長。它也稱為弧長。

周長是二維形狀周圍的距離。

第一個(gè)參數(shù)是輪廓點(diǎn),True 指定形狀是否為閉合輪廓。

perimeter = cv2.arcLength(c,True)

接下來,輪廓逼近

說明來源:OpenCV Documentation要理解這個(gè),假設(shè)你試圖在圖像中找到一個(gè)正方形,但是由于圖像中的一些問題,你沒有得到一個(gè)完美的正方形,而是一個(gè)“壞形狀”(如第一下圖)。現(xiàn)在您可以使用此函數(shù)來近似形狀。在此,第二個(gè)參數(shù)稱為epsilon,它是從輪廓到近似輪廓的最大距離。它是一個(gè)精度參數(shù)。需要明智地選擇epsilon以獲得正確的輸出。

epsilon = 0.01 * perimeter
approx = cv2.approxPolyDP(c, epsilon , True)

最后,選擇具有 4 個(gè)角的輪廓。

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ù)讀者都沒有讀完博客,但你做到了,因?yàn)槟愫芴貏e,你不只是放棄閱讀。

?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)