Class QRCodeDetector


  • public class QRCodeDetector
    extends java.lang.Object
    Groups the object candidate rectangles. rectList Input/output vector of rectangles. Output vector includes retained and grouped rectangles. (The Python list is not modified in place.) weights Input/output vector of weights of rectangles. Output vector includes weights of retained and grouped rectangles. (The Python list is not modified in place.) groupThreshold Minimum possible number of rectangles minus 1. The threshold is used in a group of rectangles to retain it. eps Relative difference between sides of the rectangles to merge them into a group.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected long nativeObj  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static QRCodeDetector __fromPtr__​(long addr)  
      java.lang.String decode​(Mat img, Mat points)
      Decodes QR code in image once it's found by the detect() method.
      java.lang.String decode​(Mat img, Mat points, Mat straight_qrcode)
      Decodes QR code in image once it's found by the detect() method.
      java.lang.String decodeCurved​(Mat img, Mat points)
      Decodes QR code on a curved surface in image once it's found by the detect() method.
      java.lang.String decodeCurved​(Mat img, Mat points, Mat straight_qrcode)
      Decodes QR code on a curved surface in image once it's found by the detect() method.
      boolean decodeMulti​(Mat img, Mat points, java.util.List<java.lang.String> decoded_info)
      Decodes QR codes in image once it's found by the detect() method.
      boolean decodeMulti​(Mat img, Mat points, java.util.List<java.lang.String> decoded_info, java.util.List<Mat> straight_qrcode)
      Decodes QR codes in image once it's found by the detect() method.
      boolean detect​(Mat img, Mat points)
      Detects QR code in image and returns the quadrangle containing the code.
      java.lang.String detectAndDecode​(Mat img)
      Both detects and decodes QR code
      java.lang.String detectAndDecode​(Mat img, Mat points)
      Both detects and decodes QR code
      java.lang.String detectAndDecode​(Mat img, Mat points, Mat straight_qrcode)
      Both detects and decodes QR code
      java.lang.String detectAndDecodeCurved​(Mat img)
      Both detects and decodes QR code on a curved surface
      java.lang.String detectAndDecodeCurved​(Mat img, Mat points)
      Both detects and decodes QR code on a curved surface
      java.lang.String detectAndDecodeCurved​(Mat img, Mat points, Mat straight_qrcode)
      Both detects and decodes QR code on a curved surface
      boolean detectAndDecodeMulti​(Mat img, java.util.List<java.lang.String> decoded_info)
      Both detects and decodes QR codes
      boolean detectAndDecodeMulti​(Mat img, java.util.List<java.lang.String> decoded_info, Mat points)
      Both detects and decodes QR codes
      boolean detectAndDecodeMulti​(Mat img, java.util.List<java.lang.String> decoded_info, Mat points, java.util.List<Mat> straight_qrcode)
      Both detects and decodes QR codes
      boolean detectMulti​(Mat img, Mat points)
      Detects QR codes in image and returns the vector of the quadrangles containing the codes.
      protected void finalize()  
      long getNativeObjAddr()  
      void setEpsX​(double epsX)
      sets the epsilon used during the horizontal scan of QR code stop marker detection.
      void setEpsY​(double epsY)
      sets the epsilon used during the vertical scan of QR code stop marker detection.
      • Methods inherited from class java.lang.Object

        clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • nativeObj

        protected final long nativeObj
    • Constructor Detail

      • QRCodeDetector

        protected QRCodeDetector​(long addr)
      • QRCodeDetector

        public QRCodeDetector()
    • Method Detail

      • getNativeObjAddr

        public long getNativeObjAddr()
      • __fromPtr__

        public static QRCodeDetector __fromPtr__​(long addr)
      • setEpsX

        public void setEpsX​(double epsX)
        sets the epsilon used during the horizontal scan of QR code stop marker detection.
        Parameters:
        epsX - Epsilon neighborhood, which allows you to determine the horizontal pattern of the scheme 1:1:3:1:1 according to QR code standard.
      • setEpsY

        public void setEpsY​(double epsY)
        sets the epsilon used during the vertical scan of QR code stop marker detection.
        Parameters:
        epsY - Epsilon neighborhood, which allows you to determine the vertical pattern of the scheme 1:1:3:1:1 according to QR code standard.
      • detect

        public boolean detect​(Mat img,
                              Mat points)
        Detects QR code in image and returns the quadrangle containing the code.
        Parameters:
        img - grayscale or color (BGR) image containing (or not) QR code.
        points - Output vector of vertices of the minimum-area quadrangle containing the code.
        Returns:
        automatically generated
      • decode

        public java.lang.String decode​(Mat img,
                                       Mat points,
                                       Mat straight_qrcode)
        Decodes QR code in image once it's found by the detect() method. Returns UTF8-encoded output string or empty string if the code cannot be decoded.
        Parameters:
        img - grayscale or color (BGR) image containing QR code.
        points - Quadrangle vertices found by detect() method (or some other algorithm).
        straight_qrcode - The optional output image containing rectified and binarized QR code
        Returns:
        automatically generated
      • decode

        public java.lang.String decode​(Mat img,
                                       Mat points)
        Decodes QR code in image once it's found by the detect() method. Returns UTF8-encoded output string or empty string if the code cannot be decoded.
        Parameters:
        img - grayscale or color (BGR) image containing QR code.
        points - Quadrangle vertices found by detect() method (or some other algorithm).
        Returns:
        automatically generated
      • decodeCurved

        public java.lang.String decodeCurved​(Mat img,
                                             Mat points,
                                             Mat straight_qrcode)
        Decodes QR code on a curved surface in image once it's found by the detect() method. Returns UTF8-encoded output string or empty string if the code cannot be decoded.
        Parameters:
        img - grayscale or color (BGR) image containing QR code.
        points - Quadrangle vertices found by detect() method (or some other algorithm).
        straight_qrcode - The optional output image containing rectified and binarized QR code
        Returns:
        automatically generated
      • decodeCurved

        public java.lang.String decodeCurved​(Mat img,
                                             Mat points)
        Decodes QR code on a curved surface in image once it's found by the detect() method. Returns UTF8-encoded output string or empty string if the code cannot be decoded.
        Parameters:
        img - grayscale or color (BGR) image containing QR code.
        points - Quadrangle vertices found by detect() method (or some other algorithm).
        Returns:
        automatically generated
      • detectAndDecode

        public java.lang.String detectAndDecode​(Mat img,
                                                Mat points,
                                                Mat straight_qrcode)
        Both detects and decodes QR code
        Parameters:
        img - grayscale or color (BGR) image containing QR code.
        points - optional output array of vertices of the found QR code quadrangle. Will be empty if not found.
        straight_qrcode - The optional output image containing rectified and binarized QR code
        Returns:
        automatically generated
      • detectAndDecode

        public java.lang.String detectAndDecode​(Mat img,
                                                Mat points)
        Both detects and decodes QR code
        Parameters:
        img - grayscale or color (BGR) image containing QR code.
        points - optional output array of vertices of the found QR code quadrangle. Will be empty if not found.
        Returns:
        automatically generated
      • detectAndDecode

        public java.lang.String detectAndDecode​(Mat img)
        Both detects and decodes QR code
        Parameters:
        img - grayscale or color (BGR) image containing QR code.
        Returns:
        automatically generated
      • detectAndDecodeCurved

        public java.lang.String detectAndDecodeCurved​(Mat img,
                                                      Mat points,
                                                      Mat straight_qrcode)
        Both detects and decodes QR code on a curved surface
        Parameters:
        img - grayscale or color (BGR) image containing QR code.
        points - optional output array of vertices of the found QR code quadrangle. Will be empty if not found.
        straight_qrcode - The optional output image containing rectified and binarized QR code
        Returns:
        automatically generated
      • detectAndDecodeCurved

        public java.lang.String detectAndDecodeCurved​(Mat img,
                                                      Mat points)
        Both detects and decodes QR code on a curved surface
        Parameters:
        img - grayscale or color (BGR) image containing QR code.
        points - optional output array of vertices of the found QR code quadrangle. Will be empty if not found.
        Returns:
        automatically generated
      • detectAndDecodeCurved

        public java.lang.String detectAndDecodeCurved​(Mat img)
        Both detects and decodes QR code on a curved surface
        Parameters:
        img - grayscale or color (BGR) image containing QR code.
        Returns:
        automatically generated
      • detectMulti

        public boolean detectMulti​(Mat img,
                                   Mat points)
        Detects QR codes in image and returns the vector of the quadrangles containing the codes.
        Parameters:
        img - grayscale or color (BGR) image containing (or not) QR codes.
        points - Output vector of vector of vertices of the minimum-area quadrangle containing the codes.
        Returns:
        automatically generated
      • decodeMulti

        public boolean decodeMulti​(Mat img,
                                   Mat points,
                                   java.util.List<java.lang.String> decoded_info,
                                   java.util.List<Mat> straight_qrcode)
        Decodes QR codes in image once it's found by the detect() method.
        Parameters:
        img - grayscale or color (BGR) image containing QR codes.
        decoded_info - UTF8-encoded output vector of string or empty vector of string if the codes cannot be decoded.
        points - vector of Quadrangle vertices found by detect() method (or some other algorithm).
        straight_qrcode - The optional output vector of images containing rectified and binarized QR codes
        Returns:
        automatically generated
      • decodeMulti

        public boolean decodeMulti​(Mat img,
                                   Mat points,
                                   java.util.List<java.lang.String> decoded_info)
        Decodes QR codes in image once it's found by the detect() method.
        Parameters:
        img - grayscale or color (BGR) image containing QR codes.
        decoded_info - UTF8-encoded output vector of string or empty vector of string if the codes cannot be decoded.
        points - vector of Quadrangle vertices found by detect() method (or some other algorithm).
        Returns:
        automatically generated
      • detectAndDecodeMulti

        public boolean detectAndDecodeMulti​(Mat img,
                                            java.util.List<java.lang.String> decoded_info,
                                            Mat points,
                                            java.util.List<Mat> straight_qrcode)
        Both detects and decodes QR codes
        Parameters:
        img - grayscale or color (BGR) image containing QR codes.
        decoded_info - UTF8-encoded output vector of string or empty vector of string if the codes cannot be decoded.
        points - optional output vector of vertices of the found QR code quadrangles. Will be empty if not found.
        straight_qrcode - The optional output vector of images containing rectified and binarized QR codes
        Returns:
        automatically generated
      • detectAndDecodeMulti

        public boolean detectAndDecodeMulti​(Mat img,
                                            java.util.List<java.lang.String> decoded_info,
                                            Mat points)
        Both detects and decodes QR codes
        Parameters:
        img - grayscale or color (BGR) image containing QR codes.
        decoded_info - UTF8-encoded output vector of string or empty vector of string if the codes cannot be decoded.
        points - optional output vector of vertices of the found QR code quadrangles. Will be empty if not found.
        Returns:
        automatically generated
      • detectAndDecodeMulti

        public boolean detectAndDecodeMulti​(Mat img,
                                            java.util.List<java.lang.String> decoded_info)
        Both detects and decodes QR codes
        Parameters:
        img - grayscale or color (BGR) image containing QR codes.
        decoded_info - UTF8-encoded output vector of string or empty vector of string if the codes cannot be decoded.
        Returns:
        automatically generated
      • finalize

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