0
私はZXingライブラリを使用してQRコードの値を取得できますが、QRコードのコーナーポイントの座標も必要です。どのようにそれらの座標にアクセスできますか。ZXingを使用してQRコードの座標を取得する方法は?
私はZXingライブラリを使用してQRコードの値を取得できますが、QRコードのコーナーポイントの座標も必要です。どのようにそれらの座標にアクセスできますか。ZXingを使用してQRコードの座標を取得する方法は?
どのコーナー座標を抽出するのか正確にはわかりません。 しかし、私はあなたが Result.getResultPoints()メソッドから得られた結果ポイントからそれらを計算することができると確信しています。
例:次の画像(200×200ピクセル)とコードスニペット
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();
}
で私はこの出力を得る:
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
を中心にの座標であります正方形のファインダーパターン。 QRCode finder patternsのサイズが7x7モジュールであることを知り、 コーナー座標を簡単に計算できます。
このコードは、QRコードが画像の大部分を占める場合にうまく機能します。私がスキャンしたいQRコードは、ページの左上隅にあり、コードはそれを検出することができないように非常に大きくはありません。あなたはこれのためのいくつかのソリューションを提案することができます。 –
@PrakharGanesh今は全く別の問題です。 [TRY_HARDER](https://zxing.github.io/zxing/apidocs/com/google/zxing/DecodeHintType.html#TRY_HARDER)デコードヒントを追加すると、あなたの 'QRCodeReader'がうまく動作することがあります。 –