1. 程式人生 > >開源二維碼QR CODE編碼/解碼 識別 庫

開源二維碼QR CODE編碼/解碼 識別 庫

在很近很近的未來,城市疏導局(前身是城市管理局)實行新政,秉持“用高科技提升城市形象”的原則,要給辦證從業人員開闢專門的廣告塗鴉牆,條件是:不得使用手工噴塗的字型,而必須改用工整的、不影響大眾視覺的二維碼。

上面的訊息,是“未來的我”給“現在的我”的提醒,看完條訊息,發財無門的我很興奮,辦證是一個多麼巨~~~~大的市場阿,我還真得好好研究下這個叫做二維碼的東西。下面是我這幾天的功課。

脫胎於一維條形碼技術的二維條形碼,儘管設計巧妙,而且市場廣闊,但是並沒有像一維條形碼一樣獲得廣泛的應用,箇中原因眾說紛紜,這一點我沒有深究。不過,二維碼目前已經在手機、網際網路、PC機上的風行,我想它早早晚晚會滲透到行動式的嵌入式系統中,支撐更加貼合生產、管理、流通等需求的應用。我相信,作為一個從需求出發、市場廣闊的技術,總會得到普及的,就好像金子總會發光一樣。

二維碼最初發起於鄰國日本,用於汽車零部件的管理和跟蹤,他們有一個基於java的開源的qr
code編碼/解碼庫
,在codeproject上還有一個C#版本的qr
code編碼/解碼庫
,但我更喜歡C語言,在我的主觀印象裡,C語言的程式更加小巧和靈活,更加適合於資源有限的嵌入式系統。

二維碼的識別可能用途會更廣泛一些,那就先說這個解碼(識別)庫 - libdecodeqr,這是一個免費的qr
code解碼庫,支援JIS X
0510和ISO/IEC18004,支援多種圖片格式和輸入裝置(比如攝像頭、掃描器),採用C++編寫,支援Unix和Windows兩種作業系統,在影象處理方面,利用了另一個開原始碼庫

OpenCV,關於如何使用libdecodeqr,這篇如何在VC8編譯libdecodeqr(簡體中文)(繁體中文)在網際網路上轉載率最高,而且轉載的網站大多為繁體中文,出現這種情況有兩種可能的原因,一個可能是港臺地區的二維碼應用要比大陸更加普及,另一個可能是港臺地區的代工設計公司承接到的此方面的專案更多。

二維碼的編碼就相對比較簡單了,只要按照一定的規則畫點就可以了,也有一個免費的開放程式碼庫 -
libqrencode
,也是基於X0510:2004 or ISO/IEC 18004,採用ANSI C編寫。

不過,這兩個庫都是針對PC機開發的,要移植到嵌入式系統中,還需要做很多移植工作。http://www.getproject.com.cn/post/19.html

 

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://www.cnblogs.com/captainbed