Package org.opencv.xfeatures2d

## Class MSDDetector

- java.lang.Object
- - org.opencv.core.Algorithm
  - - org.opencv.features.Feature2D
    - - org.opencv.xfeatures2d.MSDDetector

-     public class MSDDetector
      extends Feature2D

  Class implementing the MSD (*Maximal Self-Dissimilarity*) keypoint detector, described in CITE: Tombari14. The algorithm implements a novel interest point detector stemming from the intuition that image patches which are highly dissimilar over a relatively large extent of their surroundings hold the property of being repeatable and distinctive. This concept of "contextual self-dissimilarity" reverses the key paradigm of recent successful techniques such as the Local Self-Similarity descriptor and the Non-Local Means filter, which build upon the presence of similar - rather than dissimilar - patches. Moreover, it extends to contextual information the local self-dissimilarity notion embedded in established detectors of corner-like interest points, thereby achieving enhanced repeatability, distinctiveness and localization accuracy.

- - ### Field Summary

    - ### Fields inherited from class org.opencv.core.Algorithm

      `nativeObj`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `MSDDetector​(long addr)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static MSDDetector` | `__fromPtr__​(long addr)` |
    `static MSDDetector` | `create()` |
    `static MSDDetector` | `create​(int m_patch_radius)` |
    `static MSDDetector` | `create​(int m_patch_radius, int m_search_area_radius)` |
    `static MSDDetector` | `create​(int m_patch_radius, int m_search_area_radius, int m_nms_radius)` |
    `static MSDDetector` | `create​(int m_patch_radius, int m_search_area_radius, int m_nms_radius, int m_nms_scale_radius)` |
    `static MSDDetector` | `create​(int m_patch_radius, int m_search_area_radius, int m_nms_radius, int m_nms_scale_radius, float m_th_saliency)` |
    `static MSDDetector` | `create​(int m_patch_radius, int m_search_area_radius, int m_nms_radius, int m_nms_scale_radius, float m_th_saliency, int m_kNN)` |
    `static MSDDetector` | `create​(int m_patch_radius, int m_search_area_radius, int m_nms_radius, int m_nms_scale_radius, float m_th_saliency, int m_kNN, float m_scale_factor)` |
    `static MSDDetector` | `create​(int m_patch_radius, int m_search_area_radius, int m_nms_radius, int m_nms_scale_radius, float m_th_saliency, int m_kNN, float m_scale_factor, int m_n_scales)` |
    `static MSDDetector` | `create​(int m_patch_radius, int m_search_area_radius, int m_nms_radius, int m_nms_scale_radius, float m_th_saliency, int m_kNN, float m_scale_factor, int m_n_scales, boolean m_compute_orientation)` |
    `protected void` | `finalize()` |
    `boolean` | `getComputeOrientation()` |
    `java.lang.String` | `getDefaultName()` | Returns the algorithm string identifier.
    `int` | `getKNN()` |
    `int` | `getNmsRadius()` |
    `int` | `getNmsScaleRadius()` |
    `int` | `getNScales()` |
    `int` | `getPatchRadius()` |
    `float` | `getScaleFactor()` |
    `int` | `getSearchAreaRadius()` |
    `float` | `getThSaliency()` |
    `void` | `setComputeOrientation​(boolean compute_orientation)` |
    `void` | `setKNN​(int kNN)` |
    `void` | `setNmsRadius​(int nms_radius)` |
    `void` | `setNmsScaleRadius​(int nms_scale_radius)` |
    `void` | `setNScales​(int use_orientation)` |
    `void` | `setPatchRadius​(int patch_radius)` |
    `void` | `setScaleFactor​(float scale_factor)` |
    `void` | `setSearchAreaRadius​(int use_orientation)` |
    `void` | `setThSaliency​(float th_saliency)` |

    - ### Methods inherited from class org.opencv.features.Feature2D

      `compute, compute, defaultNorm, descriptorSize, descriptorType, detect, detect, detect, detect, detectAndCompute, detectAndCompute, empty, read, write`

    - ### Methods inherited from class org.opencv.core.Algorithm

      `clear, getNativeObjAddr, save`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### MSDDetector

          protected MSDDetector​(long addr)

  - ### Method Detail

    - #### __fromPtr__

          public static MSDDetector __fromPtr__​(long addr)

    - #### create

          public static MSDDetector create​(int m_patch_radius,
                                           int m_search_area_radius,
                                           int m_nms_radius,
                                           int m_nms_scale_radius,
                                           float m_th_saliency,
                                           int m_kNN,
                                           float m_scale_factor,
                                           int m_n_scales,
                                           boolean m_compute_orientation)

    - #### create

          public static MSDDetector create​(int m_patch_radius,
                                           int m_search_area_radius,
                                           int m_nms_radius,
                                           int m_nms_scale_radius,
                                           float m_th_saliency,
                                           int m_kNN,
                                           float m_scale_factor,
                                           int m_n_scales)

    - #### create

          public static MSDDetector create​(int m_patch_radius,
                                           int m_search_area_radius,
                                           int m_nms_radius,
                                           int m_nms_scale_radius,
                                           float m_th_saliency,
                                           int m_kNN,
                                           float m_scale_factor)

    - #### create

          public static MSDDetector create​(int m_patch_radius,
                                           int m_search_area_radius,
                                           int m_nms_radius,
                                           int m_nms_scale_radius,
                                           float m_th_saliency,
                                           int m_kNN)

    - #### create

          public static MSDDetector create​(int m_patch_radius,
                                           int m_search_area_radius,
                                           int m_nms_radius,
                                           int m_nms_scale_radius,
                                           float m_th_saliency)

    - #### create

          public static MSDDetector create​(int m_patch_radius,
                                           int m_search_area_radius,
                                           int m_nms_radius,
                                           int m_nms_scale_radius)

    - #### create

          public static MSDDetector create​(int m_patch_radius,
                                           int m_search_area_radius,
                                           int m_nms_radius)

    - #### create

          public static MSDDetector create​(int m_patch_radius,
                                           int m_search_area_radius)

    - #### create

          public static MSDDetector create​(int m_patch_radius)

    - #### create

          public static MSDDetector create()

    - #### setPatchRadius

          public void setPatchRadius​(int patch_radius)

    - #### getPatchRadius

          public int getPatchRadius()

    - #### setSearchAreaRadius

          public void setSearchAreaRadius​(int use_orientation)

    - #### getSearchAreaRadius

          public int getSearchAreaRadius()

    - #### setNmsRadius

          public void setNmsRadius​(int nms_radius)

    - #### getNmsRadius

          public int getNmsRadius()

    - #### setNmsScaleRadius

          public void setNmsScaleRadius​(int nms_scale_radius)

    - #### getNmsScaleRadius

          public int getNmsScaleRadius()

    - #### setThSaliency

          public void setThSaliency​(float th_saliency)

    - #### getThSaliency

          public float getThSaliency()

    - #### setKNN

          public void setKNN​(int kNN)

    - #### getKNN

          public int getKNN()

    - #### setScaleFactor

          public void setScaleFactor​(float scale_factor)

    - #### getScaleFactor

          public float getScaleFactor()

    - #### setNScales

          public void setNScales​(int use_orientation)

    - #### getNScales

          public int getNScales()

    - #### setComputeOrientation

          public void setComputeOrientation​(boolean compute_orientation)

    - #### getComputeOrientation

          public boolean getComputeOrientation()

    - #### getDefaultName

          public java.lang.String getDefaultName()

      Description copied from class: `Algorithm`
      Returns the algorithm string identifier. This string is used as top level xml/yml node tag when the object is saved to a file or string.
      Overrides:
        `getDefaultName` in class `Feature2D`
      Returns:
        automatically generated

    - #### finalize

          protected void finalize()
                           throws java.lang.Throwable

      Overrides:
        `finalize` in class `Feature2D`
      Throws:
        `java.lang.Throwable`