Class WeChatQRCode

java.lang.Object
org.opencv.wechat_qrcode.WeChatQRCode

public class WeChatQRCode extends Object
WeChat QRCode includes two CNN-based models: A object detection model and a super resolution model. Object detection model is applied to detect QRCode with the bounding box. super resolution model is applied to zoom in QRCode when it is small.
  • Field Details

    • nativeObj

      protected final long nativeObj
  • Constructor Details

    • WeChatQRCode

      protected WeChatQRCode(long addr)
    • WeChatQRCode

      public WeChatQRCode(String detector_model_path, String super_resolution_model_path)
      Initialize the WeChatQRCode. It includes two CNN-based models in ONNX format: a detector model and a super resolution model.
      Parameters:
      detector_model_path - onnx model file path for the detector
      super_resolution_model_path - onnx model file path for the super resolution model
    • WeChatQRCode

      public WeChatQRCode(String detector_model_path)
      Initialize the WeChatQRCode. It includes two CNN-based models in ONNX format: a detector model and a super resolution model.
      Parameters:
      detector_model_path - onnx model file path for the detector
    • WeChatQRCode

      public WeChatQRCode()
      Initialize the WeChatQRCode. It includes two CNN-based models in ONNX format: a detector model and a super resolution model.
  • Method Details

    • getNativeObjAddr

      public long getNativeObjAddr()
    • __fromPtr__

      public static WeChatQRCode __fromPtr__(long addr)
    • detectAndDecode

      public List<String> detectAndDecode(Mat img, List<Mat> points)
      Both detects and decodes QR code. To simplify the usage, there is a only API: detectAndDecode
      Parameters:
      img - supports grayscale or color (BGR) image.
      points - optional output array of vertices of the found QR code quadrangle. Will be empty if not found.
      Returns:
      list of decoded string.
    • detectAndDecode

      public List<String> detectAndDecode(Mat img)
      Both detects and decodes QR code. To simplify the usage, there is a only API: detectAndDecode
      Parameters:
      img - supports grayscale or color (BGR) image. empty if not found.
      Returns:
      list of decoded string.
    • setScaleFactor

      public void setScaleFactor(float _scalingFactor)
      set scale factor QR code detector use neural network to detect QR. Before running the neural network, the input image is pre-processed by scaling. By default, the input image is scaled to an image with an area of 160000 pixels. The scale factor allows to use custom scale the input image: width = scaleFactor*width height = scaleFactor*width scaleFactor valuse must be > 0 and <= 1, otherwise the scaleFactor value is set to -1 and use default scaled to an image with an area of 160000 pixels.
      Parameters:
      _scalingFactor - automatically generated
    • getScaleFactor

      public float getScaleFactor()