我是zxing library
的新用戶,因此QR代碼也是如此。使用zxing library 1.7
我已經生成QR碼,那些QR碼被粘貼到論文中,並且論文稍後在PDF中被掃描。我確實創建了使用zxing
庫本身的客戶端程序,它可以逐頁讀取此掃描的PDF頁面,並顯示QR碼文本(如果在頁面上找到任何QR碼)。我正嘗試從掃描PDF的每個頁面讀取多個QR。使用zxing庫從掃描的PDF中讀取多個QR碼時,結果不一致結果
雖然我能夠讀取一些QR碼,但結果不一致。意味着我能夠閱讀PDF頁面中的一些QR碼,而其中一些QR碼未被我的客戶端程序識別。我已經去了through other threads for same topic。並修改了我的代碼,雖然我無法獲得100%的結果。
這是我的代碼片段,讓我更加了解我正在做的事情。
注:我使用iText的PDF庫的PdfReaderContentParser提取每個PDF頁面as shown here
private void extractBarcodeText(BufferedImage bufferedImage) {
try {
Hashtable<DecodeHintType, Object> hints = new Hashtable<DecodeHintType, Object>();
hints.put(DecodeHintType.TRY_HARDER, BarcodeFormat.QR_CODE);
LuminanceSource source = new com.google.zxing.client.j2se.BufferedImageLuminanceSource(bufferedImage);
BinaryBitmap bitmap = new BinaryBitmap(new GlobalHistogramBinarizer(source));
List<String> innerTextList = new ArrayList<String>();
QRCodeMultiReader multiReader = new QRCodeMultiReader();
Result[] results = multiReader.decodeMultiple(bitmap, hints);
for (int k = 0; k < results.length; k++) {
String text = results[k].getText();
innerTextList.add(text);
System.out.println("#################### Rendered Text from Image #################"+ " " + text);
}
} catch (NotFoundException e) {
e.printStackTrace();
}
}
我已經嘗試了多種組合,但沒有運氣的掃描圖像。是否由於圖像質量差?但再怎麼有些圖片得到公認,有些遺體作爲一個謎:(
做任何人都知道我應該怎麼做才能解決這個問題呢?下面是一個sample image在底部,供大家參考,首先圖像中得到使用認可上面的代碼中第二個(HRA)不是。
感謝肖恩的回覆 但是,請你讓我知道我該怎麼做,輕微模糊或縮小圖像和zxing庫我們可以做到這一點? – 2012-02-16 10:00:16
您可以使用AWT的轉換來調整大小或模糊 - 在互聯網上搜索。它將在'BufferedImage'上運行。 – 2012-02-16 10:33:15
謝謝肖恩。我添加了模糊,它提高了識別率,但我仍然看到約20%-30%的錯誤。請查看底部未識別的附件圖片。這是我使用的代碼。有什麼我可以做的,以提高檢測率。另外,我應該調整大一點還是小一點。另外還有其他的圖像處理功能嗎?該算法對彩色或黑白圖像效果更好嗎? – 2012-02-17 13:25:10