0
ZXing 라이브러리를 사용하여 QR 코드의 값을 얻을 수 있지만 QR 코드의 모서리 점 좌표도 필요합니다. 어떻게 좌표에 액세스 할 수 있습니까?ZXing을 사용하여 QR 코드 좌표를 얻는 방법은 무엇입니까?
ZXing 라이브러리를 사용하여 QR 코드의 값을 얻을 수 있지만 QR 코드의 모서리 점 좌표도 필요합니다. 어떻게 좌표에 액세스 할 수 있습니까?ZXing을 사용하여 QR 코드 좌표를 얻는 방법은 무엇입니까?
정확하게 추출 할 모서리 좌표를 모르겠습니다. 그러나 나는 Result.getResultPoints() 메서드에서 얻은 결과 지점에서 계산할 수 있다고 확신합니다.
예 :
text: Hello World!
resultPoints:
[0]: x = 36.5, y = 162.5, estimatedModuleSize = 9.0
[1]: x = 36.5, y = 36.5, estimatedModuleSize = 9.0
[2]: x = 162.5, y = 36.5, estimatedModuleSize = 9.0
x
및 y
은 중심이 좌표 다음 이미지 (200x200 크기의 픽셀) 및 코드로
BufferedImage image = ImageIO.read(new File("QRCode-1.png"));
BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(
new BufferedImageLuminanceSource(image)));
Reader reader = new QRCodeReader();
Result result = reader.decode(binaryBitmap);
System.out.println("text: " + result.getText());
ResultPoint[] resultPoints = result.getResultPoints();
System.out.println("resultPoints:");
for (int i = 0; i < resultPoints.length; i++) {
ResultPoint resultPoint = resultPoints[i];
System.out.print(" [" + i + "]:");
System.out.print(" x = " + resultPoint.getX());
System.out.print(", y = " + resultPoint.getY());
if (resultPoint instanceof FinderPattern)
System.out.print(", estimatedModuleSize = "
+ ((FinderPattern) resultPoint).getEstimatedModuleSize());
System.out.println();
}
I이 출력을 얻을 사각형 파인더 패턴. QRCode finder patterns 크기가 7x7 모듈 인 것을 알고 있으면 모서리 좌표를 쉽게 계산할 수 있습니다.
이 코드는 QR 코드가 이미지의 많은 부분을 차지할 때 잘 작동합니다. 스캔하려는 QR 코드는 페이지의 왼쪽 상단에 있으며 코드가 감지 할 수 없도록 너무 크지 않습니다. 이에 대한 몇 가지 해결책을 제안 할 수 있습니까? –
@PrakharGanesh 이제 완전히 다른 문제입니다. [TRY_HARDER] (https://zxing.github.io/zxing/apidocs/com/google/zxing/DecodeHintType.html#TRY_HARDER) 디코딩 힌트를 추가하면 'QRCodeReader'가 더 잘 작동 할 수 있습니다. –