Class QRCodeDetector


  • public class QRCodeDetector
    extends java.lang.Object
    • 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.
      void setUseAlignmentMarkers​(boolean useAlignmentMarkers)
      use markers to improve the position of the corners of the QR code alignmentMarkers using by default
      • 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.
      • setUseAlignmentMarkers

        public void setUseAlignmentMarkers​(boolean useAlignmentMarkers)
        use markers to improve the position of the corners of the QR code alignmentMarkers using by default
        Parameters:
        useAlignmentMarkers - automatically generated
      • 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