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_prototxt_path, String detector_caffe_model_path, String super_resolution_prototxt_path, String super_resolution_caffe_model_path)
      Initialize the WeChatQRCode. It includes two models, which are packaged with caffe format. Therefore, there are prototxt and caffe models (In total, four paramenters).
      Parameters:
      detector_prototxt_path - prototxt file path for the detector
      detector_caffe_model_path - caffe model file path for the detector
      super_resolution_prototxt_path - prototxt file path for the super resolution model
      super_resolution_caffe_model_path - caffe file path for the super resolution model
    • WeChatQRCode

      public WeChatQRCode(String detector_prototxt_path, String detector_caffe_model_path, String super_resolution_prototxt_path)
      Initialize the WeChatQRCode. It includes two models, which are packaged with caffe format. Therefore, there are prototxt and caffe models (In total, four paramenters).
      Parameters:
      detector_prototxt_path - prototxt file path for the detector
      detector_caffe_model_path - caffe model file path for the detector
      super_resolution_prototxt_path - prototxt file path for the super resolution model
    • WeChatQRCode

      public WeChatQRCode(String detector_prototxt_path, String detector_caffe_model_path)
      Initialize the WeChatQRCode. It includes two models, which are packaged with caffe format. Therefore, there are prototxt and caffe models (In total, four paramenters).
      Parameters:
      detector_prototxt_path - prototxt file path for the detector
      detector_caffe_model_path - caffe model file path for the detector
    • WeChatQRCode

      public WeChatQRCode(String detector_prototxt_path)
      Initialize the WeChatQRCode. It includes two models, which are packaged with caffe format. Therefore, there are prototxt and caffe models (In total, four paramenters).
      Parameters:
      detector_prototxt_path - prototxt file path for the detector
    • WeChatQRCode

      public WeChatQRCode()
      Initialize the WeChatQRCode. It includes two models, which are packaged with caffe format. Therefore, there are prototxt and caffe models (In total, four paramenters).
  • 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.
    • finalize

      protected void finalize() throws Throwable
      Overrides:
      finalize in class Object
      Throws:
      Throwable