

.. _sphx_glr_auto_examples_features_detection:

Detection of features and objects
---------------------------------



.. raw:: html

    <div class="sphx-glr-thumbnails">

.. thumbnail-parent-div-open

.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="The DAISY local image descriptor is based on gradient orientation histograms similar to the SIFT descriptor. It is formulated in a way that allows for fast dense extraction which is useful for e.g. bag-of-features image representations.">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_daisy_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_daisy.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Dense DAISY feature description</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="The Histogram of Oriented Gradient (HOG) feature descriptor is popular for object detection [1]_.">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_hog_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_hog.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Histogram of Oriented Gradients</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="Haar-like features are simple digital image features that were introduced in a real-time face detector [1]_. These features can be efficiently computed on any scale in constant time, using an integral image [1]_. After that, a small number of critical features is selected from this large set of potential features (e.g., using AdaBoost learning algorithm as in [1]_). The following example will show the mechanism to build this family of descriptors.">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_haar_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_haar.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Haar-like feature descriptor</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="We use template matching to identify the occurrence of an image patch (in this case, a sub-image centered on a single coin). Here, we return a single match (the exact same coin), so the maximum value in the match_template result corresponds to the coin location. The other coins look similar, and thus have local maxima; if you expect multiple matches, you should use a proper peak-finding function.">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_template_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_template.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Template Matching</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="Detect corner points using the Harris corner detector and determine the subpixel position of corners ([1]_, [2]_).">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_corner_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_corner.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Corner detection</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="This example shows how to compute multi-block local binary pattern (MB-LBP) features as well as how to visualize them.">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_multiblock_local_binary_pattern_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_multiblock_local_binary_pattern.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Multi-Block Local Binary Pattern for texture classification</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="The CENSURE feature detector is a scale-invariant center-surround detector (CENSURE) that claims to outperform other detectors and is capable of real-time implementation.">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_censure_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_censure.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">CENSURE feature detector</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="We fill holes (i.e. isolated, dark spots) in an image using morphological reconstruction by erosion. Erosion expands the minimal values of the seed image until it encounters a mask image. Thus, the seed image and mask image represent the maximum and minimum possible values of the reconstructed image.">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_holes_and_peaks_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_holes_and_peaks.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Filling holes and finding peaks</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="scikit-image has several ways of removing objects from N-dimensional images. Here, &quot;objects&quot; (and &quot;holes&quot;) are defined as groups of samples with the same label value which distinct from the background and other objects.">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_remove_objects_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_remove_objects.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Removing objects</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="Blobs are bright on dark or dark on bright regions in an image. In this example, blobs are detected using 3 algorithms. The image used in this case is the Hubble eXtreme Deep Field. Each bright dot in the image is a star or a galaxy.">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_blob_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_blob.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Blob Detection</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="This example demonstrates the ORB feature detection and binary description algorithm. It uses an oriented FAST detection method and the rotated BRIEF descriptors.">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_orb_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_orb.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">ORB feature detector and binary descriptor</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="How to build a (bio-plausible) sparse dictionary (or &#x27;codebook&#x27;, or &#x27;filterbank&#x27;) for e.g. image classification without any fancy math and with just standard python scientific libraries?">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_gabors_from_astronaut_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_gabors_from_astronaut.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Gabors / Primary Visual Cortex "Simple Cells" from an Image</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="A Fisher vector is an image feature encoding and quantization technique that can be seen as a soft or probabilistic version of the popular bag-of-visual-words or VLAD algorithms. Images are modelled using a visual vocabulary which is estimated using a K-mode Gaussian mixture model trained on low-level image features such as SIFT or ORB descriptors. The Fisher vector itself is a concatenation of the gradients of the Gaussian mixture model (GMM) with respect to its parameters - mixture weights, means, and covariance matrices.">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_fisher_vector_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_fisher_vector.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Fisher vector feature encoding</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="This example demonstrates the BRIEF binary description algorithm. The descriptor consists of relatively few bits and can be computed using a set of intensity difference tests. The short binary descriptor results in low memory footprint and very efficient matching based on the Hamming distance metric. BRIEF does not provide rotation-invariance. Scale-invariance can be achieved by detecting and extracting features at different scales.">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_brief_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_brief.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">BRIEF binary descriptor</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="This example demonstrates the SIFT feature detection and its description algorithm.">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_sift_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_sift.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">SIFT feature detector and descriptor extractor</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="This example illustrates texture classification using gray level co-occurrence matrices (GLCMs) [1]_. A GLCM is a histogram of co-occurring grayscale values at a given offset over an image.">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_glcm_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_glcm.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">GLCM Texture Features</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="The shape index is a single valued measure of local curvature, derived from the eigen values of the Hessian, defined by Koenderink &amp; van Doorn [1]_.">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_shape_index_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_shape_index.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Shape Index</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="Histogram matching can be used for object detection in images [1]_. This example extracts a single coin from the skimage.data.coins image and uses histogram matching to attempt to locate it within the original image.">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_windowed_histogram_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_windowed_histogram.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Sliding window histogram</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="In this example, we will see how to classify textures based on Gabor filter banks. Frequency and orientation representations of the Gabor filter are similar to those of the human visual system.">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_gabor_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_gabor.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Gabor filter banks for texture classification</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="In this example, we will see how to classify textures based on LBP (Local Binary Pattern). LBP looks at points surrounding a central point and tests whether the surrounding points are greater than or less than the central point (i.e. gives a binary result).">

.. only:: html

  .. image:: /auto_examples/features_detection/images/thumb/sphx_glr_plot_local_binary_pattern_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_features_detection_plot_local_binary_pattern.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Local Binary Pattern for texture classification</div>
    </div>


.. thumbnail-parent-div-close

.. raw:: html

    </div>


.. toctree::
   :hidden:

   /auto_examples/features_detection/plot_daisy
   /auto_examples/features_detection/plot_hog
   /auto_examples/features_detection/plot_haar
   /auto_examples/features_detection/plot_template
   /auto_examples/features_detection/plot_corner
   /auto_examples/features_detection/plot_multiblock_local_binary_pattern
   /auto_examples/features_detection/plot_censure
   /auto_examples/features_detection/plot_holes_and_peaks
   /auto_examples/features_detection/plot_remove_objects
   /auto_examples/features_detection/plot_blob
   /auto_examples/features_detection/plot_orb
   /auto_examples/features_detection/plot_gabors_from_astronaut
   /auto_examples/features_detection/plot_fisher_vector
   /auto_examples/features_detection/plot_brief
   /auto_examples/features_detection/plot_sift
   /auto_examples/features_detection/plot_glcm
   /auto_examples/features_detection/plot_shape_index
   /auto_examples/features_detection/plot_windowed_histogram
   /auto_examples/features_detection/plot_gabor
   /auto_examples/features_detection/plot_local_binary_pattern

