本文主要是介绍復雜環境下的二維碼快速識別(農業部二維碼),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
http://www.cnblogs.com/physoft/archive/2010/08/31/1813559.html
最近競標了農業部二維碼的識別,感覺開發出來的二維碼識別率還非常不錯,速度也很快,這裡分享下。
二維碼已經開始普及起來。15-20年前設計的QR碼和DM碼仍然是主流碼。國內也有不少碼制出現,但其實詳細看,也是換湯不換藥,適應性還是很差。差的原因是很難適應復雜環境,比如自然環境下的二維碼。農業部就是例子,二維碼套在牲畜身上,摩擦嚴重,污染嚴重,采集的圖像隨意性非常大。物流二維碼類似。
復雜環境下的二維碼識別算法異常復雜,需要建立非常多的數學模型,而不是簡單的套用代碼。libdmtx 是一款非常不錯的開源二維碼識別庫,寫得也不錯,但是識別率和識別時間還遠遠不能滿足復雜環境的二維碼識別。
通過幾個月的調研和不斷的算法優化,最終我開發出的二維碼對復雜環境下的二維碼識別率有了非常大的提升,識別時間提升20-30倍,采用了不少加速算法。
對農業部1000個樣本的識別率大概在98%, 平均識別時間在10-30ms. 當然,這是PC機的時間,嵌入式采用ARM的初級芯片還不盡人意。但是如果稍微使用高級一點的芯片,加上視頻采集時引入緩沖機制,還是可以達到3-10幀率。
測試結果
樣本:農業部采集的大概1000個樣本,包括大量暗室,復雜背景,污損,磨損,強光,遮擋等。
識別率: 總體識別率98%, 如果只考慮普通樣本,識別率接近100% (沒有詳細統計過)
識別速度: 10-30ms/個樣本 ( 4年前的普通PC機)
圖片(非最新數據,稍後更新)
这篇关于復雜環境下的二維碼快速識別(農業部二維碼)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!