{ } Raw JSON

bundles / skimage 0.26.1rc0.dev0+git20260530.b607368ff / skimage / feature / orb / ORB

class

skimage.feature.orb:ORB

source: /dev/scikit-image/src/skimage/feature/orb.py :25

Signature

class   ORB ( downscale = 1.2 n_scales = 8 n_keypoints = 500 fast_n = 9 fast_threshold = 0.08 harris_k = 0.04 )

Members

Summary

Oriented FAST and rotated BRIEF feature detector and binary descriptor extractor.

Parameters

n_keypoints : int, optional

Number of keypoints to be returned. The function will return the best n_keypoints according to the Harris corner response if more than n_keypoints are detected. If not, then all the detected keypoints are returned.

fast_n : int, optional

The n parameter in skimage.feature.corner_fast. Minimum number of consecutive pixels out of 16 pixels on the circle that should all be either brighter or darker w.r.t test-pixel. A point c on the circle is darker w.r.t test pixel p if Ic < Ip - threshold and brighter if Ic > Ip + threshold. Also stands for the n in FAST-n corner detector.

fast_threshold : float, optional

The threshold parameter in feature.corner_fast. Threshold used to decide whether the pixels on the circle are brighter, darker or similar w.r.t. the test pixel. Decrease the threshold when more corners are desired and vice-versa.

harris_k : float, optional

The k parameter in skimage.feature.corner_harris. Sensitivity factor to separate corners from edges, typically in range [0, 0.2]. Small values of k result in detection of sharp corners.

downscale : float, optional

Downscale factor for the image pyramid. Default value 1.2 is chosen so that there are more dense scales which enable robust scale invariance for a subsequent feature description.

n_scales : int, optional

Maximum number of scales from the bottom of the image pyramid to extract the features from.

Attributes

keypoints : ndarray of shape (N, 2)

Keypoint coordinates as (row, col).

scales : ndarray of shape (N,)

Corresponding scales.

orientations : ndarray of shape (N,)

Corresponding orientations in radians.

responses : ndarray of shape (N,)

Corresponding Harris corner responses.

descriptors : ndarray of shape (Q, `descriptor_size`) and dtype bool

2D array of binary descriptors of size descriptor_size for Q keypoints after filtering out border keypoints with value at an index (i, j) either being True or False representing the outcome of the intensity comparison for i-th keypoint on j-th decision pixel-pair. It is Q == np.sum(mask).

Examples

from skimage.feature import ORB, match_descriptors
img1 = np.zeros((100, 100))
img2 = np.zeros_like(img1)
rng = np.random.default_rng(19481137)  # do not copy this value
square = rng.random((20, 20))
img1[40:60, 40:60] = square
img2[53:73, 53:73] = square
detector_extractor1 = ORB(n_keypoints=5)
detector_extractor2 = ORB(n_keypoints=5)
detector_extractor1.detect_and_extract(img1)
detector_extractor2.detect_and_extract(img2)
matches = match_descriptors(detector_extractor1.descriptors,
                            detector_extractor2.descriptors)
matches
detector_extractor1.keypoints[matches[:, 0]]
detector_extractor2.keypoints[matches[:, 1]]

Aliases

  • skimage.feature.ORB