日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python车牌识别使用训练集_TensorFlow基于MNIST数据集实现车牌识别(初步演示版)

發布時間:2023/12/31 python 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python车牌识别使用训练集_TensorFlow基于MNIST数据集实现车牌识别(初步演示版) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在前幾天寫的一篇博文《如何從TensorFlow的mnist數據集導出手寫體數字圖片》中,我們介紹了如何通過TensorFlow將mnist手寫體數字集導出到本地保存為bmp文件。

車牌識別在當今社會中廣泛存在,其應用場景包括各類交通監控和停車場出入口收費系統,在自動駕駛中也得到一定應用,其原理也不難理解,故很適合作為圖像處理+機器學習的入門案例。

現在我們不妨醞釀一個大膽的想法:在TensorFlow中通過卷積神經網絡+mnist數字集實現車牌識別。

實際上車牌字符除了數字0-9,還有字母A-Z,以及各省份的簡稱。只包含數字0-9的mnist是不足以識別車牌的。故本文所做實驗僅出于演示目的。

由于車牌數字是正體,而mnist是手寫體,為提高識別率,需要從mnist圖片集中挑選出形狀比較規則工整的圖片作為訓練圖片,否則識別率不高。作為參考,下圖是我挑選出來的一部分較工整數字:

(如果你需要我挑選出來的圖片,可以評論或私信我留下郵箱)

出于演示目的,我們從網上找到下面這張圖片:

現在我們假設該車牌號為閩0-16720(實際上是閩O-1672Q),暫不識別省份簡稱,只識別0-16720。

上圖經過opencv定位分割處理后,得到以下幾張車牌字符。

現在我們通過如下代碼,將這幾張字符圖片輸入到上一篇博文《如何用TensorFlow訓練和識別/分類自定義圖片》中構建的網絡:

license_num = []

for n in range(2,8):

path = "result/%s.bmp" % (n)

img = Image.open(path)

width = img.size[0]

height = img.size[1]

img_data = [[0]*784 for i in range(1)]

for h in range(0, height):

for w in range(0, width):

if img.getpixel((w, h)) < 190:

img_data[0][w+h*width] = 0

else:

img_data[0][w+h*width] = 1

# 獲取softmax結果前三位的index和概率值

soft_max = tf.nn.softmax(tf.matmul(h_fc1_drop, W_fc2) + b_fc2)

result = sess.run(soft_max, feed_dict = {x: np.array(img_data), keep_prob: 1.0})

max1 = 0

max2 = 0

max3 = 0

max1_index = 0

max2_index = 0

max3_index = 0

for j in range(10):

if result[0][j] > max1:

max1 = result[0][j]

max1_index = j

continue

if (result[0][j]>max2) and (result[0][j]<=max1):

max2 = result[0][j]

max2_index = j

continue

if (result[0][j]>max3) and (result[0][j]<=max2):

max3 = result[0][j]

max3_index = j

continue

license_num.append(max1_index)

print ("softmax結果前三位概率:%s: %.2f%% %s: %.2f%% %s: %.2f%%"

% (max1_index,max1*100, max2_index,max2*100, max3_index,max3*100))

print ("車牌號為: %s" % license_num)

然后運行程序,結果如下:

可以看出,分類結果為016720,是正確的,而softmax計算結果可信度也是可以接受的。

后續將給出包含省份簡稱和字母A-Z的完整例子。

最后附上本文程序的完整代碼(運行之前需要確保你的數據集和待識別圖片的位深度都是8,也就是一個像素的顏色值用一個字節(8bits)表示,不然會出錯):

PS:支持省份簡稱和字母的車牌識別程序詳見《TensorFlow車牌識別完整版(含車牌數據集)》

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持我們。

本文標題: TensorFlow基于MNIST數據集實現車牌識別(初步演示版)

本文地址: http://www.cppcns.com/jiaoben/python/267482.html

總結

以上是生活随笔為你收集整理的python车牌识别使用训练集_TensorFlow基于MNIST数据集实现车牌识别(初步演示版)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。