Labview 做二维码识别
最近一個折騰死人的項目,用labview做二維碼識別,照理來說很簡單,直接調用labview 的 DM識別模塊就可以,由于識別的二維碼各種各樣,出現各種各樣的問題,記錄一下。
邏輯,先飛拍,初始設置好閾值,二維碼大小,比例,border占比,其他的都auto,然后識別不到的,加閾值減閾值再算一次,加ROI不加ROI再算一次;都拍不出來,相機回去重拍一次,左移右移再拍一次,調算法。
問題,對于灰底黑碼的,產品表面有毛刺和不平的地方,導致打光不均,散點多,識別率低,而且由于掉了多次算法,莫名其妙非??D。
將ROI取消,直接對照片進行識別,反而成功率識別率高于有ROI的情況,不知道什么原因。有時候又是有ROI的識別率高于無ROI的。
設置掃碼高級參數,hightlight filter, line detect ,refine bondary,JNC ,arregresive。最佳效果是只把line detect打開。對于模糊的打開highlight。但可能導致速度變慢。其他的感覺影響不大,refine 和JNC很影響速度。
border 設置的越低,讀碼速度越慢
threshold越低,讀碼速度越慢
size 范圍越大,讀碼速度越慢,甚至可能讀不到
ratio 可以設置為1(對于正方形條碼),比ratio設置為0速度要快一些。
圖像處理,將圖像做個乘積,效果要好一些,分析應該是增加了對比度,亮的變亮,暗的變亮沒那么多。
gamma變換不敢隨便做,不知道怎么自動設置最優,設置好一個參數,換個產品換個位置可能又不行了
換成藍光低角度環形光源,二維碼照片質量直線上升,可以掃出來,一次識別成功。偶爾出現不良現象,偶爾卡頓。
換產品,卡頓變嚴重,11階高斯濾波,不卡頓,可識別。
但出現誤碼現象,一個碼掃成了另一個碼,將高斯濾波11階改為5階。并且只在其他方式沒識別的時候調用。不確定重碼誤碼是不是識別錯了?當時沒有專門重掃,只是改了后看效果好沒有驗證之前效果差的版本。
二維碼如果很虛,識別效果很差,也很慢。慢的原因暫時未知。
vision 助手里面,可以直接suggest value ,自動捕捉合適的參數,不知道怎么在程序中調用這個方法。
重掃時,暫停,并重置,由于未重置相機的飛拍屬性,導致還在軟觸發模式,導致相機一直軟觸發拍照,出現重碼、大面積NG現象。
目前還有一個問題:UID串碼。目前看是測試機沒讀到我的數據,出現NG,測試機直接忽略了?也有可能是出現NG,我的某個文件寫錯了??合并文件的某一個。居然是因為掃碼掃出來一個/n換行符,文件直接換行了。我靠。
總結
以上是生活随笔為你收集整理的Labview 做二维码识别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: axure手机页面设计说明_产品经理原型
- 下一篇: SFTP服务器文件下载