Class BOWImgDescriptorExtractor


  • public class BOWImgDescriptorExtractor
    extends java.lang.Object
    Class to compute an image descriptor using the *bag of visual words*. Such a computation consists of the following steps: 1. Compute descriptors for a given image and its keypoints set. 2. Find the nearest visual words from the vocabulary for each keypoint descriptor. 3. Compute the bag-of-words image descriptor as is a normalized histogram of vocabulary words encountered in the image. The i-th bin of the histogram is a frequency of i-th word of the vocabulary in the given image.
    • Field Detail

      • nativeObj

        protected final long nativeObj
    • Constructor Detail

      • BOWImgDescriptorExtractor

        protected BOWImgDescriptorExtractor​(long addr)
      • BOWImgDescriptorExtractor

        public BOWImgDescriptorExtractor​(Feature2D dextractor,
                                         DescriptorMatcher dmatcher)
        The constructor.
        Parameters:
        dextractor - Descriptor extractor that is used to compute descriptors for an input image and its keypoints.
        dmatcher - Descriptor matcher that is used to find the nearest word of the trained vocabulary for each keypoint descriptor of the image.
    • Method Detail

      • getNativeObjAddr

        public long getNativeObjAddr()
      • setVocabulary

        public void setVocabulary​(Mat vocabulary)
        Sets a visual vocabulary.
        Parameters:
        vocabulary - Vocabulary (can be trained using the inheritor of BOWTrainer ). Each row of the vocabulary is a visual word (cluster center).
      • getVocabulary

        public Mat getVocabulary()
        Returns the set vocabulary.
        Returns:
        automatically generated
      • compute

        public void compute​(Mat image,
                            MatOfKeyPoint keypoints,
                            Mat imgDescriptor)
        Parameters:
        imgDescriptor - Computed output image descriptor. pointIdxsOfClusters[i] are keypoint indices that belong to the i -th cluster (word of vocabulary) returned if it is non-zero.
        image - automatically generated
        keypoints - automatically generated
      • descriptorSize

        public int descriptorSize()
        Returns an image descriptor size if the vocabulary is set. Otherwise, it returns 0.
        Returns:
        automatically generated
      • descriptorType

        public int descriptorType()
        Returns an image descriptor type.
        Returns:
        automatically generated
      • finalize

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