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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于树莓派的Data Matrix decode

發布時間:2024/8/1 编程问答 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于树莓派的Data Matrix decode 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

項目簡介

目前二維碼在生活中已經得到了廣泛的應用,極大方便了我們的生活,例如支付寶支付二維碼,微信支付二維碼,那么二維碼有什么特點呢?二維條碼/二維碼(2-dimensional bar code)是用某種特定的幾何圖形按一定規律在平面(二維方向上)分布的黑白相間的圖形記錄數據符號信息的;在代碼編制上巧妙地利用構成計算機內部邏輯基礎的“0”、“1”比特流的概念,使用若干個與二進制相對應的幾何形體來表示文字數值信息,通過圖象輸入設備或光電掃描設備自動識讀以實現信息自動處理:它具有條碼技術的一些共性:每種碼制有其特定的字符集;每個字符占有一定的寬度;具有一定的校驗功能等。同時還具有對不同行的信息自動識別功能、及處理圖形旋轉變化點。本項目主要是完成DM碼解碼部分的工作,下圖為DM二維碼圖片示例

二維碼分類

按照碼制不同,二維碼可以分為許多種類,常見的有QR碼,DM碼,PDF417等等。下面將QR碼與DM碼做一些對比:DM無法表現漢字等其他形式,而QR碼能用數據壓縮方式來表示漢字,僅用13bit即可表示一個漢字,比其他二維條碼表示漢字的效率提高了20%。相較而言,DM碼信息容量小,應用簡單。而QR在漢字處理上更有優勢。在糾錯能力上,QR碼具有四個不同等級的糾錯功能,即使破損即使彎曲或者有高達30%的殘缺也能夠正確識讀。顯示了其強大的糾錯能力,但DM在編碼破損上的表現得更為出色。它只需要讀取資料的20%即可精確辨讀。對少于255個字碼的DM二維條碼,錯誤糾正字碼可由資料字碼計算得出。對于多于255個字碼的符號,應將資料字碼分成多個模組,然后再產生每一個模組的錯誤糾正字碼。再看讀取速度與讀取角度的比拼。QR 碼的英文全稱是Quick Response Code,直譯為:快速響應編碼,由此看出,超高速識讀是 QR碼最顯著的特點,是QR Code碼區別其他二維碼的主要特性。據統計,用CCD二維條碼識讀設備,每秒可識讀30個含有100個字符的QR Code碼符號;而對于Data Martix矩陣碼,每秒僅能識讀2~3個符號。讀取角度上QR Code碼具有全方位(360°)識讀特點。而DM碼上沒有設置類似于QR碼的尋像圖形,因此只能在一個方向上讀取。

相應解碼庫介紹

1.zbar
zbar是一款開源的條形碼,二維碼解碼庫,支持windows系統,linux系統和iphone平臺,可掃描以下類型:EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Interleaved 2 of 5 and QR Code.(注:zbar不支持DM碼的解碼,此處列出僅供了解)
2.zxing
zxing是一款開源java類庫,可用于解析多種格式的1D,2D條形碼,支持JAVA平臺,Android系統。(注:這個庫官方說明支持DM碼的編解碼工作,但是通過網上查資料了解到,用這個庫進行DM碼的解碼相關資料較少,而且并沒有成功解碼案例,也許是我沒找到)
3.libdmtx
經過一定的曲折,發現了一個專門用于DM碼解碼的庫libdmtx,libdmtx也是一個開源庫,支持多種系統,而且有豐富的語言封裝包,即wrappers,通過wrappers,我們可以用相應的語言來實現我們的方案。更詳細的說明和下面的一些內容在這個文檔里:libdmtx-wikidot.

編譯安裝

1.在把libdmtx庫文件夾拷進樹莓派用戶目錄以后,按照下列命令完成編譯安裝

chmod 777 configure ./configure make sudo make install

2.把dmtx-wrappers文件夾放進樹莓派主目錄之后,進入dmtx-wrappers/python目錄,在命令行執行下面命令完成安裝:

python setup.py install

(注:由于系統自帶python2.7版本,所以python環境不需要額外搭建)

圖像處理之PIL庫和opencv庫的替換

在原始的dmtx-wrappers文件夾里 ,python封裝的測試程序,所用的圖形處理庫是PIL,考慮到opencv庫更加強大,和圖形預處理的需要,在DM碼解碼程序里需要用opencv代替PIL。這部分剛開始確實費了一些周折,但是搞清楚PIL相關程序語句在解碼程序里起的作用之后,就變得簡單了,下面給出替換前和替換后的程序,并進行一些簡單的注釋:
1.使用PIL庫

from pydmtx import DataMatrix #導入解碼庫 from PIL import Image #導入PIL庫Image模塊 dm_read = DataMatrix() #類似于重命名 img = Image.open("hello.png") #得到數字矩陣 print dm_read.decode(img.size[0], img.size[1], buffer(img.tostring())) #解碼語句,前兩個參數是圖形尺寸,寬和高,第三個參數可以理解為緩存字符串輸出

2.使用opencv

from pydmtx import DataMatrix # 導入解碼庫 import cv2 #調用opencv img=cv2.imread('hello.png') #獲取數字矩陣 print DataMatrix().decode(img.shape[0], img.shape[1], buffer(img.tobytes()))#解碼語句,前兩個參數是圖形尺寸,寬和高,第三個參數等價于上面第三個參數

這里需要注意的是,由于要用opencv代替PIL,所以需要提前搭建python-opencv環境,詳細步驟參考人臉識別那個項目,本項目所用程序都在dmtx-wrappers/python目錄下.

總結拓展

其實到目前為止,我們實現的功能是,有一張規規矩矩的DM碼圖片,通過解碼程序將它解碼出來。而項目的實際流程可能是攝像頭不斷地拍攝圖片,得到一個個包含圖像信息的數字矩陣(此處不需要保存為一張圖片,從數字矩陣直接解碼,可以令解碼速度更快),然后進行圖像預處理,再解碼。

很遺憾,本項目也是做了很久才來補文檔,呃呃呃,記得當時實際操作的時候遇到了一個問題:那就是當程序運行一段時間,拍攝若干次之后,程序會崩潰,攝像頭在程序中斷運行之后,無法關閉。這個問題出現之后,折騰了好久仍然沒有解決,不過當時的自己給了解決問題的兩個方向(希望能對遇見類似問題的同學有所啟發):
1.如果繼續在樹莓派linux上操作,可以從opencv版本和內存泄露兩個方面著手,程序運行過程中,崩潰時出現select out 的錯誤,這個可能和opencv版本有關;程序中,當拍攝圖形分辨率設置越高時,即數字矩陣占用內存更大,程序崩潰前能拍攝圖形次數越少,感覺像是有一個固定的內存等于每次拍攝圖形所占內寸乘以拍攝次數,當這個固定內存被占滿之后程序就崩潰,然而程序中又有釋放攝像頭的語句,所以很可能和內寸泄露有關。

2.可以在windows系統上運行,看能不能正常工作,如果可以則證明是平臺問題,再說其他的,如果不能正常工作,則證明是程序問題。在這里會出現一個新的問題,那就是雖然libdmtx庫是跨平臺的,可以在windows上運行,但是python的封裝wrappers不是跨平臺的,所以這里需要解決的問題是,你怎么使用自己擅長的語言在windows平臺上運行解碼程序。

總結

以上是生活随笔為你收集整理的基于树莓派的Data Matrix decode的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 99精品久久久久久久婷婷 | 日本护士取精xxxxxhd | 在线播放精品视频 | 日本黄色的视频 | 成年人一级片 | 亚洲熟女综合一区二区三区 | 91精品国产99| 黄色天天影视 | 国产免费一区二区三区最新6 | 日韩插 | 日韩在线播放视频 | 超碰pron | 久久深夜福利 | 无码精品人妻一区二区 | 人妻天天爽夜夜爽一区二区三区 | 国产乱淫av片 | 北条麻妃99精品青青久久 | 天堂影视在线观看 | 国产9区 | 玩偶游戏在线观看免费 | 日韩av一区二区在线播放 | av免费看在线 | 小柔的淫辱日记(1~7) | 久久a视频 | 亚洲AV无码精品自拍 | 国产草草视频 | 久草av在线播放 | 国产v亚洲 | 激情无码人妻又粗又大 | 国产三级直播 | 亚洲国产无码精品 | 深夜精品视频 | 特级西西444www大精品视频免费看 | 98成人网 | 爱豆国产剧免费观看大全剧集 | 久久国内精品视频 | 久久精品7| 亚洲欧洲色 | 免费av一区二区三区 | 国产视频999| 九九看片 | 欧美乱仑| 成人免费av网站 | 91亚洲一区二区三区 | 男人免费网站 | 亚洲美女av网站 | 黄色aaa大片| 色亚洲视频 | 精品国产乱码久久久久久久软件 | 日韩成人一区二区三区 | 日本一区二区三区四区五区 | 成人午夜小视频 | 91在线成人 | 欧美成年人视频在线观看 | 欧美大片在线播放 | 国产精品久久久久久久av福利 | 久久国产精品久久精品国产 | 亚洲一区二区三区不卡视频 | 欧美1314| 天天综合网久久 | 97在线免费| chinesepron hd videos国产91 | 污片免费网站 | 青青在线观看视频 | 丰满人妻一区二区三区免费视频 | 永久免费av网站 | 一区二区免费播放 | wwwav在线 | 1000部啪啪未满十八勿入 | 黄网站免费大全入口 | 日韩少妇毛片 | 国产又色又爽无遮挡免费 | 国产一区二区三区在线观看 | 91麻豆精品一区二区三区 | 免费禁漫天堂a3d | 在线免费观看黄色 | 国产 丝袜 欧美中文 另类 | 在线看a级片 | 爆乳熟妇一区二区三区 | 久久这里只有精品首页 | 无遮挡aaaaa大片免费看 | 色婷婷av一区二区三 | 干操网 | 奇米影视999| 国产精品视频一区二区三区 | 涩涩免费网站 | 香蕉二区| 欧美精品欧美极品欧美激情 | 青青操在线视频 | 免费在线国产精品 | 男人的天堂在线视频 | 澳门三级| 中国美女毛片 | 天天干天天色综合 | 欧美人与性动交xxⅹxx | 午夜久久一区 | 亚洲综合不卡 | 欧美妞干网| 黄页嫩草 |