欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實(shí)現(xiàn)車(chē)牌識(shí)別的示例代碼

 更新時(shí)間:2019年08月05日 10:51:21   作者:Halosec_Wei  
這篇文章主要介紹了python實(shí)現(xiàn)車(chē)牌識(shí)別的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

某天回家之時(shí),聽(tīng)到有個(gè)朋友說(shuō)起他正在做一個(gè)車(chē)牌識(shí)別的項(xiàng)目

于是對(duì)其定位車(chē)牌的位置算法頗有興趣,今日有空得以研究,事實(shí)上車(chē)牌識(shí)別算是比較成熟的技術(shù)了,

這里我只是簡(jiǎn)單實(shí)現(xiàn)。

我的思路為:

對(duì)圖片進(jìn)行一些預(yù)處理,包括灰度化、高斯平滑、中值濾波、Sobel算子邊緣檢測(cè)等等。

利用OpenCV對(duì)預(yù)處理后的圖像進(jìn)行輪廓查找,然后根據(jù)一些參數(shù)判斷該輪廓是否為車(chē)牌輪廓。

效果如下:

test1:

test2

實(shí)現(xiàn)代碼如下(對(duì)圖像預(yù)處理(濾波器等)的原理比較簡(jiǎn)單,這里只是對(duì)一些函數(shù)進(jìn)行調(diào)包):

import cv2
import numpy as np
 
 
# 形態(tài)學(xué)處理
def Process(img):
	# 高斯平滑
	gaussian = cv2.GaussianBlur(img, (3, 3), 0, 0, cv2.BORDER_DEFAULT)
	# 中值濾波
	median = cv2.medianBlur(gaussian, 5)
	# Sobel算子
	# 梯度方向: x
	sobel = cv2.Sobel(median, cv2.CV_8U, 1, 0, ksize=3)
	# 二值化
	ret, binary = cv2.threshold(sobel, 170, 255, cv2.THRESH_BINARY)
	# 核函數(shù)
	element1 = cv2.getStructuringElement(cv2.MORPH_RECT, (9, 1))
	element2 = cv2.getStructuringElement(cv2.MORPH_RECT, (9, 7))
	# 膨脹
	dilation = cv2.dilate(binary, element2, iterations=1)
	# 腐蝕
	erosion = cv2.erode(dilation, element1, iterations=1)
	# 膨脹
	dilation2 = cv2.dilate(erosion, element2, iterations=3)
	return dilation2
 
 
def GetRegion(img):
	regions = []
	# 查找輪廓
	_, contours, hierarchy = cv2.findContours(img, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
	for contour in contours:
		area = cv2.contourArea(contour)
		if (area < 2000):
			continue
		eps = 1e-3 * cv2.arcLength(contour, True)
		approx = cv2.approxPolyDP(contour, eps, True)
		rect = cv2.minAreaRect(contour)
		box = cv2.boxPoints(rect)
		box = np.int0(box)
		height = abs(box[0][1] - box[2][1])
		width = abs(box[0][0] - box[2][0])
		ratio =float(width) / float(height)
		if (ratio < 5 and ratio > 1.8):
			regions.append(box)
	return regions
 
 
def detect(img):
	# 灰度化
	gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
	prc = Process(gray)
	regions = GetRegion(prc)
	print('[INFO]:Detect %d license plates' % len(regions))
	for box in regions:
		cv2.drawContours(img, [box], 0, (0, 255, 0), 2)
	cv2.imshow('Result', img)
  #保存結(jié)果文件名
	cv2.imwrite('result2.jpg', img)
	cv2.waitKey(0)
	cv2.destroyAllWindows()
 
 
if __name__ == '__main__':
  #輸入的參數(shù)為圖片的路徑
	img = cv2.imread('test2.jpg')
	detect(img)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python函數(shù)局部變量、全局變量、遞歸知識(shí)點(diǎn)總結(jié)

    python函數(shù)局部變量、全局變量、遞歸知識(shí)點(diǎn)總結(jié)

    在本篇文章里小編給大家整理了關(guān)于python函數(shù)局部變量、全局變量、遞歸知識(shí)點(diǎn),有興趣的朋友們學(xué)習(xí)參考下。
    2019-11-11
  • python輸入多行的方法總結(jié)

    python輸入多行的方法總結(jié)

    Python中的Input()函數(shù)在輸入時(shí),遇到回車(chē)符,那么一次輸入就結(jié)束了,這不能滿足輸入多行文本并且行數(shù)也不確定的情形,當(dāng)然輸入空行也是允許的,本文給大家總結(jié)了python輸入多行的方法,需要的朋友可以參考下
    2024-04-04
  • 使用遺傳算法求二元函數(shù)的最小值

    使用遺傳算法求二元函數(shù)的最小值

    今天小編就為大家分享一篇使用遺傳算法求二元函數(shù)的最小值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Python圖像銳化與邊緣檢測(cè)之Scharr,Canny,LOG算子詳解

    Python圖像銳化與邊緣檢測(cè)之Scharr,Canny,LOG算子詳解

    圖像銳化和邊緣檢測(cè)主要包括一階微分銳化和二階微分銳化,本文主要講解常見(jiàn)的圖像銳化和邊緣檢測(cè)方法,即Scharr算子、Canny算子和LOG算子,需要的可以參考一下
    2022-12-12
  • python實(shí)現(xiàn)skywalking的trace模塊過(guò)濾和報(bào)警(實(shí)例代碼)

    python實(shí)現(xiàn)skywalking的trace模塊過(guò)濾和報(bào)警(實(shí)例代碼)

    Skywalking可以對(duì)鏈路追蹤到數(shù)據(jù)進(jìn)行告警規(guī)則配置,例如響應(yīng)時(shí)間、響應(yīng)百分比等。發(fā)送警告通過(guò)調(diào)用webhook接口完成。webhook接口用戶可以自定義。本文給大家介紹python實(shí)現(xiàn)skywalking的trace模塊過(guò)濾和報(bào)警,感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • 使用Tkinter制作信息提示框

    使用Tkinter制作信息提示框

    這篇文章主要介紹了使用Tkinter制作信息提示框的相關(guān)資料,需要的朋友可以參考下
    2020-02-02
  • python實(shí)現(xiàn)學(xué)生管理系統(tǒng)源碼

    python實(shí)現(xiàn)學(xué)生管理系統(tǒng)源碼

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)學(xué)生管理系統(tǒng)源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • python?flask框架中多種查詢參數(shù)的獲取方式

    python?flask框架中多種查詢參數(shù)的獲取方式

    這篇文章主要介紹了pythonflask框架的生命周期以及多種查詢參數(shù)的獲取方式,文章通過(guò)代碼示例和圖文講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-03-03
  • Python撲克牌21點(diǎn)游戲?qū)嵗a

    Python撲克牌21點(diǎn)游戲?qū)嵗a

    大家好,本篇文章主要講的是Python撲克牌21點(diǎn)游戲?qū)嵗a,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • python語(yǔ)法?之與用戶交互和運(yùn)算符

    python語(yǔ)法?之與用戶交互和運(yùn)算符

    這篇文章主要介紹了python語(yǔ)法?之與用戶交互和運(yùn)算符,用戶交互就是人往計(jì)算機(jī)中input/輸入數(shù)據(jù),計(jì)算機(jī)print/輸出結(jié)果,下文更多相關(guān)內(nèi)容需要的朋友可以參考一下
    2022-04-04

最新評(píng)論