Python OpenCV 車牌定位 橫向定位

2021-09-24 10:14:55 字數 3020 閱讀 5642

一.原理

通過對已經縱向定位的車牌進行視窗搜尋,滑動視窗,遍歷視窗內的每一行的跳變點數,若符合則加入候選區域,若最後候選區域為0,則將的高度縮減,因為在進行縱向定位時,背景的變化造成的灰度跳變數也可能大於14;若最後候選區域數大於1,將視窗寬度減少,直到候選區域只有乙個。但該方法的車牌定位時間較長。

二.部分**

水平定位函式

def hor_locate

(image)

: jump_list =

flag = false

for x in

range

(h):

jump =

0 start = image[x][0

]for y in

range

(w):

ifabs

(int

(image[x]

[y])

- start)

>

250:

jump +=

1 start = image[x]

[y] jump_list.

(jump)

jump_list.

reverse()

flag1 = false

flag2 = false

area =

license_hor_start =

0 license_hor_end =

0for i in

range

(len

(jump_list)):

if flag1 is false and jump_list[i]

>=14:

license_hor_start = i

flag1 = true

if flag1 is true and jump_list[i]

<14:

license_hor_end = i -

1 flag1 = false

if license_hor_end - license_hor_start >20:

flag2 = true

result_start = license_hor_start

result_end = license_hor_end

if flag2 is false:

continue

break

# print

(jump_list[result_start: result_end]

)return result_start, result_end

垂直定位函式

def ver_locate

(image)

: h, w = image.shape[:2

] # 定義搜尋視窗的長度和寬度

window_h = h

window_w = h *

6 # 因為我國車牌的標準尺寸為440mm*

140mm 所以根據已有的高度,預估車牌區域的寬度

result = false

ver_start =

0 ver_end =

0 candidate_list =

while

len(candidate_list)!=1

: h, w = image.shape[:2

]for i in

range(0

, w - window_w,3)

: result =

isvalid

(image, i, i + window_w)

if result is false:

continue

ver_start = i

ver_end = i + window_w

candidate_list.

((ver_start, ver_end)

) result = false

print

(len

(candidate_list))if

len(candidate_list)==0

: image = image[0+

1:h -1,

0:w]

iflen

(candidate_list)

>1:

window_w = window_w -

3 candidate_list =

# 重置候選區域

return ver_start, ver_end

三.測試結果

原圖一

預處理後的圖

縱向定位的車牌圖

橫向定位後的車牌圖

原圖二

預處理後的圖

縱向定位的車牌圖

橫向定位後的車牌圖

工作了,沒時間進行後續更新了,卡在傾斜矯正上了

四.參考文獻

[1]龔成清. 一種簡單快速的車牌定位演算法[j]. 計算機系統應用, 2011, 20(9):214-217.

[2]蔣欣欣. 彩色車牌影象定位及字元分割方法研究[d]. 湖南師範大學, 2011.

[3]劉麗新, 劉京剛. 行掃瞄進行車牌上下邊界定位的研究[j]. 儀器儀表學報, 2005, 26(8):177-179.

基於python OpenCV的車牌號碼識別

基於python opencv的車牌號碼識別 車牌識別行業已具備一定的市場規模,在電子警察 公路卡口 停車場 商業管理 汽修服務等領域已取得了部分應用。乙個典型的車輛牌照識別系統一般包括以下4個部分 車輛影象獲取 車牌定位 車牌字元分割和車牌字元識別 1 車牌定位的主要工作是從獲取的車輛影象中找到汽...

python opencv 安裝整理

這兩天比較有空,在公司內想學習一下opencv,又不想安裝vc 所以就那個python看opencv。安裝環境本來很簡單 但是我python是64的 估計也很多 而opencv的安裝要有乙個numpy庫 這個在官網上只有32位的 所以,事情變得複雜起來。網上找了一下,只道有提供64位版的numpy庫...

python opencv 輪廓檢測

輪廓 contours 指的是有相同顏色或者密度,連線所有連續點的一條曲線。檢測輪廓的工作對形狀分析和物體檢測與識別都非常有用。在輪廓檢測之前,首先要對進行二值化或者canny邊緣檢測。在opencv中,尋找的物體是白色的,而背景必須是黑色的,因此預處理時必須保證這一點。import cv2 讀入i...