Package org.opencv.wechat_qrcode
Class WeChatQRCode
- java.lang.Object
-
- org.opencv.wechat_qrcode.WeChatQRCode
-
public class WeChatQRCode extends java.lang.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 Summary
Fields Modifier and Type Field Description protected long
nativeObj
-
Constructor Summary
Constructors Modifier Constructor Description WeChatQRCode()
Initialize the WeChatQRCode.protected
WeChatQRCode(long addr)
WeChatQRCode(java.lang.String detector_prototxt_path)
Initialize the WeChatQRCode.WeChatQRCode(java.lang.String detector_prototxt_path, java.lang.String detector_caffe_model_path)
Initialize the WeChatQRCode.WeChatQRCode(java.lang.String detector_prototxt_path, java.lang.String detector_caffe_model_path, java.lang.String super_resolution_prototxt_path)
Initialize the WeChatQRCode.WeChatQRCode(java.lang.String detector_prototxt_path, java.lang.String detector_caffe_model_path, java.lang.String super_resolution_prototxt_path, java.lang.String super_resolution_caffe_model_path)
Initialize the WeChatQRCode.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static WeChatQRCode
__fromPtr__(long addr)
java.util.List<java.lang.String>
detectAndDecode(Mat img)
Both detects and decodes QR code.java.util.List<java.lang.String>
detectAndDecode(Mat img, java.util.List<Mat> points)
Both detects and decodes QR code.protected void
finalize()
long
getNativeObjAddr()
float
getScaleFactor()
void
setScaleFactor(float _scalingFactor)
set scale factor QR code detector use neural network to detect QR.
-
-
-
Constructor Detail
-
WeChatQRCode
protected WeChatQRCode(long addr)
-
WeChatQRCode
public WeChatQRCode(java.lang.String detector_prototxt_path, java.lang.String detector_caffe_model_path, java.lang.String super_resolution_prototxt_path, java.lang.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 detectordetector_caffe_model_path
- caffe model file path for the detectorsuper_resolution_prototxt_path
- prototxt file path for the super resolution modelsuper_resolution_caffe_model_path
- caffe file path for the super resolution model
-
WeChatQRCode
public WeChatQRCode(java.lang.String detector_prototxt_path, java.lang.String detector_caffe_model_path, java.lang.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 detectordetector_caffe_model_path
- caffe model file path for the detectorsuper_resolution_prototxt_path
- prototxt file path for the super resolution model
-
WeChatQRCode
public WeChatQRCode(java.lang.String detector_prototxt_path, java.lang.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 detectordetector_caffe_model_path
- caffe model file path for the detector
-
WeChatQRCode
public WeChatQRCode(java.lang.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 Detail
-
getNativeObjAddr
public long getNativeObjAddr()
-
__fromPtr__
public static WeChatQRCode __fromPtr__(long addr)
-
detectAndDecode
public java.util.List<java.lang.String> detectAndDecode(Mat img, java.util.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 java.util.List<java.lang.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()
-
finalize
protected void finalize() throws java.lang.Throwable
- Overrides:
finalize
in classjava.lang.Object
- Throws:
java.lang.Throwable
-
-