亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

TensorFlow基于MNIST數(shù)據(jù)集實(shí)現(xiàn)車牌識(shí)別(初步演示版)

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

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

車牌識(shí)別在當(dāng)今社會(huì)中廣泛存在,其應(yīng)用場(chǎng)景包括各類交通監(jiān)控和停車場(chǎng)出入口收費(fèi)系統(tǒng),在自動(dòng)駕駛中也得到一定應(yīng)用,其原理也不難理解,故很適合作為圖像處理+機(jī)器學(xué)習(xí)的入門案例。

現(xiàn)在我們不妨醞釀一個(gè)大膽的想法:在TensorFlow中通過(guò)卷積神經(jīng)網(wǎng)絡(luò)+mnist數(shù)字集實(shí)現(xiàn)車牌識(shí)別。

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

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


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

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

現(xiàn)在我們假設(shè)該車牌號(hào)為閩0-16720(實(shí)際上是閩O-1672Q),暫不識(shí)別省份簡(jiǎn)稱,只識(shí)別0-16720。

上圖經(jīng)過(guò)opencv定位分割處理后,得到以下幾張車牌字符。

現(xiàn)在我們通過(guò)如下代碼,將這幾張字符圖片輸入到上一篇博文《如何用TensorFlow訓(xùn)練和識(shí)別/分類自定義圖片》中構(gòu)建的網(wǎng)絡(luò):

 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結(jié)果前三位的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結(jié)果前三位概率:%s: %.2f%% %s: %.2f%% %s: %.2f%%"
    % (max1_index,max1*100, max2_index,max2*100, max3_index,max3*100))
 print ("車牌號(hào)為: %s" % license_num)

然后運(yùn)行程序,結(jié)果如下:

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

后續(xù)將給出包含省份簡(jiǎn)稱和字母A-Z的完整例子。

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

PS:支持省份簡(jiǎn)稱和字母的車牌識(shí)別程序詳見《TensorFlow車牌識(shí)別完整版(含車牌數(shù)據(jù)集)

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

相關(guān)文章

  • 使用豆瓣源來(lái)安裝python中的第三方庫(kù)方法

    使用豆瓣源來(lái)安裝python中的第三方庫(kù)方法

    這篇文章主要介紹了使用豆瓣源來(lái)安裝python中的第三方庫(kù)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Cython編譯python為so 代碼加密示例

    Cython編譯python為so 代碼加密示例

    今天小編就為大家分享一篇Cython編譯python為so 代碼加密示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • python django下載大的csv文件實(shí)現(xiàn)方法分析

    python django下載大的csv文件實(shí)現(xiàn)方法分析

    這篇文章主要介紹了python django下載大的csv文件實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Django框架下載csv大文件的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-07-07
  • python做圖片搜索引擎并保存到本地詳情

    python做圖片搜索引擎并保存到本地詳情

    這篇文章主要介紹了python做圖片搜索引擎并保存到本地詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-08-08
  • python 排序算法總結(jié)及實(shí)例詳解

    python 排序算法總結(jié)及實(shí)例詳解

    這篇文章主要介紹了python 排序算法總結(jié)及實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • 超詳細(xì)注釋之OpenCV旋轉(zhuǎn)圖像任意角度

    超詳細(xì)注釋之OpenCV旋轉(zhuǎn)圖像任意角度

    這篇文章主要介紹了OpenCV旋轉(zhuǎn)圖像任意角度,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • python -m pip install 和 pip install 的區(qū)別解析

    python -m pip install 和 pip in

    python -m pip install <package> 使用了 -m 參數(shù)來(lái)確保以 Python 模塊的形式運(yùn)行 pip,適用于確保在不同的環(huán)境中正確使用 pip,這篇文章主要介紹了python -m pip install 和 pip install 的區(qū)別,需要的朋友可以參考下
    2023-07-07
  • 在Python 3中緩存Exception對(duì)象會(huì)造成什么后果?

    在Python 3中緩存Exception對(duì)象會(huì)造成什么后果?

    這篇文章主要介紹了在Python 3中緩存Exception對(duì)象到底會(huì)造成什么后果?下面帶著這個(gè)問(wèn)題一起看看文章的解析,需要的朋友可以參考一下
    2021-12-12
  • Mac版Python3安裝/升級(jí)的方式

    Mac版Python3安裝/升級(jí)的方式

    這篇文章主要介紹了Mac版Python3安裝/升級(jí)的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • python實(shí)現(xiàn)web應(yīng)用框架之增加動(dòng)態(tài)路由

    python實(shí)現(xiàn)web應(yīng)用框架之增加動(dòng)態(tài)路由

    這篇文章主要介紹web應(yīng)用框架如何添加動(dòng)態(tài)路由,在我們編寫的框架中,我們添加動(dòng)態(tài)路由,是使用了正則表達(dá)式,同時(shí)在注冊(cè)的時(shí)候,需要注明該路由是請(qǐng)求路由,文中有詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-05-05

最新評(píng)論