2012-02-16 3 views
1

을 사용하여 스캔 한 PDF에서 여러 QR 코드를 읽는 중에 일관되지 않은 결과가 발생했습니다. zxing library과 QR 코드가 새 것입니다. QR 코드를 생성했습니다.이 QR 코드는 서류에 집착되어 나중에 서류가 PDF로 스캔됩니다. zxing library 1.7 나는이 스캔 된 PDF 페이지를 페이지 단위로 읽고 페이지에 QR 코드가있는 경우 QR 코드 텍스트를 보여주는 zxing 라이브러리 자체를 사용하여 클라이언트 프로그램을 만들었습니다. 스캔 한 PDF의 각 페이지에서 여러 개의 QR을 읽으려고합니다.zxing 라이브러리

일부 QR 코드를 읽을 수는 있지만 결과가 일치하지 않습니다. 일부는 내 고객 프로그램에서 인정받지 못하는 동안 PDF 페이지에서 일부 QR 코드를 읽을 수 있음을 의미합니다. 나는 through other threads for same topic로 갔다. 나는 나의 코드를 조금 수정했는데 나는 100 % 결과를 얻을 수 없다.

정확히 내가하고있는 것에 대해 더 많은 아이디어를 제공하는 코드입니다.

참고 : 나는이 iText PDF 라이브러리의 PdfReaderContentParser를 사용하고 내가 많은 조합하지만 행운을 시도 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(); 
    } 
} 

각 PDF 페이지의 스캔 이미지를 추출합니다. 이미지 품질이 좋지 않아서입니까? 하지만 일부 이미지는 어떻게 인식되고 일부는 신비로 남을까요? (

이 문제를 극복하기 위해 어떻게해야합니까? 여기 sample image은 참조 용으로 첫 번째 이미지가 위의 두 번째 코드 (HRA)가 아닌 위의 코드를 참조하십시오.

답변

0

내 생각에 이미지를 가볍게 흐리게 처리하거나 샘플링을 낮춰야 할 필요가 있습니다. 많은 양의 흰색 노이즈가 감지를 방해합니다.

+0

답장을 보내 주신 Sean에게 감사드립니다. 하지만 이미지를 흐리게 처리하거나 다운 샘플링 할 수있는 방법을 알려주세요. zxing 라이브러리를 사용하면 어떻게 처리 할 수 ​​있습니까? ? –

+0

AWT의 변형을 사용하여 인터넷에서 크기를 조정하거나 흐리게 검색 할 수 있습니다. 그것은 BufferedImage에서 작동 할 것입니다. –

+0

감사합니다. 난 흐림을 추가하고 인식을 향상 시켰지만 여전히 약 20 % -30 %의 오류가 발생합니다. 아래쪽의 인식되지 않은 첨부 된 이미지를 참조하십시오. 이것은 내가 사용한 코드입니다. 탐지율을 높이기 위해 할 수있는 일이 있습니까? 또한 크기를 더 크게 또는 작게 조정해야합니까? 또한 내가 할 수있는 다른 이미지 조작이 있습니까? 컬러 또는 흑백 이미지에서 알고리즘이 더 잘 작동합니까? 여기서 I는 –