国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

使用ZXing掃描多個二維碼,條形碼

2019-11-09 16:18:34
字體:
供稿:網(wǎng)友

通常情況下,我們在掃描二維碼的時候是一個一個去掃的,那么能不能一次掃描多個二維碼,一下解析所有結(jié)果呢?答案是有的,其實ZXing是給我們提供方法了。但是可惜的是,掃描條形碼的時候,ZXing并沒有給我們提供這樣的方法,這就需要另想其他辦法了

先理一下,ZXing框架掃描解碼的大致過程:

從攝像頭拿數(shù)據(jù),byte[] data對數(shù)據(jù)進行解析,這里需要注意的是,ZXing提供了兩個解析類,分別為MultiFormatReaderQRCodeMultiReader

其中MultiFormatReader能解析二維碼、條形碼。而QRCodeMultiReader只能解析二維碼。大多數(shù)代碼使用的是MultiFormatReader這個類,因為二維碼、條形碼都能掃描,很方便。但是有個問題就是MultiFormatReader并沒有提供解析多個結(jié)果的方法,也就意味著如果用這個解析類是無法直接得到解析多個二維碼結(jié)果的。我截了兩張圖,如下:

MultiFormatReader MultiFormatReader

可以看到,如果想一次掃描并解析多個二維碼,用QRCodeMultiReader這個類就可以了,可以返回Result[],同時,對CaptureActivityHandler中的public void handleMessage(Message message)方法進行相應(yīng)的修改,最終會在CaptureActivity中將結(jié)果集回調(diào)到我們調(diào)用ZXing掃描的地方。 這個解析類是出現(xiàn)在DecodeHandler 中的,將其中的解析類改成QRCodeMultiReader,并將下面的PRivate void decode(byte[] data, int width, int height)方法做修改,讓它返回解析多個結(jié)果。下面我會附上源碼

ok,掃描多個二維碼已經(jīng)實現(xiàn)了,但是掃描多個條形碼怎么實現(xiàn)呢?想過一下思路:

想過能不能用圖像識別技術(shù),就是掃描之后,通過jni調(diào)用opencv能不能將多個條形碼分離出來,然后逐個解析掃描的時候會截圖掃描框里的圖片,然后會識別這個條形碼,那么這個圖片就是有寬高的矩形,可以讓程序一直掃描一直掃描,先掃描到第一張條形碼,然后獲取這個條形碼的寬高,用白色填充這個矩形。然后一直重復(fù)這個動作,直到所有的條形碼都掃出來為止

第二個思路是挖財公司的一個大佬給我提供的,打算在下一篇博客中去實現(xiàn)它。如果有其他思路或者代碼,也可以分享一下。

代碼地址:掃描多個二維碼


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 泗洪县| 太和县| 广安市| 黔南| 台州市| 湟源县| 游戏| 高要市| 上虞市| 邢台市| 广州市| 罗平县| 辉县市| 平阴县| 杭州市| 古交市| 辽阳市| 临武县| 博客| 沁水县| 夏津县| 日喀则市| 南陵县| 贞丰县| 重庆市| 天峻县| 汝南县| 水城县| 山西省| 邹城市| 易门县| 乐清市| 武鸣县| 奉节县| 滦南县| 惠东县| 卢龙县| 蛟河市| 唐河县| 海淀区| 清河县|