- イメージファイルからQRコードを検出する方法:
import com.aspose.barcode.BarCodeReadType;
import com.aspose.barcode.BarCodeReader;
import com.aspose.barcode.QRErrorLevel;
public class QRCodeDetection {
public static void main(String[] args) {
String imageFilePath = "path/to/image.png";
try {
BarCodeReader reader = new BarCodeReader(imageFilePath, BarCodeReadType.QR);
reader.setErrorLevel(QRErrorLevel.LEVEL_L); // エラーレベルを設定(省略可)
while (reader.read()) {
System.out.println("QRコードが検出されました。");
System.out.println("テキスト: " + reader.getCodeText());
System.out.println("位置: " + reader.getCodeLocation().getArea());
System.out.println("--------------");
}
reader.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
- カメラからリアルタイムでQRコードを検出する方法:
import com.aspose.barcode.BarCodeReader;
import com.aspose.barcode.BarCodeReadType;
import com.aspose.barcode.QRErrorLevel;
import com.aspose.barcodeRecognition.BarCodeReaderException;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferByte;
import java.io.ByteArrayInputStream;
import javax.imageio.ImageIO;
import javax.swing.*;
public class QRCodeDetectionRealTime extends JFrame {
private JLabel label;
public QRCodeDetectionRealTime() {
setTitle("QRコード検出");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
label = new JLabel();
add(label, BorderLayout.CENTER);
pack();
setVisible(true);
try {
BarCodeReader reader = new BarCodeReader();
// カメラからフレームを取得する処理を実装する
while (true) {
BufferedImage frameImage = getFrame(); // フレームを取得するメソッド
if (frameImage != null) {
reader.setBarCodeImage(frameImage);
reader.setReadType(BarCodeReadType.QR);
reader.setErrorLevel(QRErrorLevel.LEVEL_L); // エラーレベルを設定(省略可)
if (reader.read()) {
System.out.println("QRコードが検出されました。");
System.out.println("テキスト: " + reader.getCodeText());
System.out.println("位置: " + reader.getCodeLocation().getArea());
System.out.println("--------------");
}
}
// 取得したフレームを画面に表示する処理を実装する
showFrame(frameImage); // フレームを表示するメソッド
}
reader.close();
} catch (BarCodeReaderException ex) {
ex.printStackTrace();
}
}
private BufferedImage getFrame() {
// カメラからフレームを取得する処理を実装する
// フレームをBufferedImageオブジェクトとして返す
}
private void showFrame(BufferedImage frameImage) {
if (frameImage != null) {
ImageIcon icon = new ImageIcon(frameImage);
label.setIcon(icon);
label.repaint();
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(QRCodeDetectionRealTime::new);
}
}
これらはいくつかのQRコードの検出および位置特定の方法の例です。Aspose Barcode APIを使用することで、Javaで効果的にQRコードを処理することができます。詳細なドキュメントやAPIリファレンスは、Asposeの公式ウェブサイトで入手できます。