skimage 0.17.2

AttributesParametersBackRef

Attributes

keypoints : (N, 2) array

Keypoint coordinates as (row, col) .

scales : (N, ) array

Corresponding scales.

orientations : (N, ) array

Corresponding orientations in radians.

responses : (N, ) array

Corresponding Harris corner responses.

descriptors : (Q, `descriptor_size`) array of dtype bool

2D array of binary descriptors of size :None:None:`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) .

Parameters

n_keypoints : int, optional

Number of keypoints to be returned. The function will return the best :None:None:`n_keypoints` according to the Harris corner response if more than :None:None:`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.

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

Examples

This example is valid syntax, but we were not able to check execution
>>> from skimage.feature import ORB, match_descriptors
... img1 = np.zeros((100, 100))
... img2 = np.zeros_like(img1)
... np.random.seed(1)
... square = np.random.rand(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 array([[0, 0], [1, 1], [2, 2], [3, 3], [4, 4]])
This example is valid syntax, but we were not able to check execution
>>> detector_extractor1.keypoints[matches[:, 0]]
array([[42., 40.],
       [47., 58.],
       [44., 40.],
       [59., 42.],
       [45., 44.]])
This example is valid syntax, but we were not able to check execution
>>> detector_extractor2.keypoints[matches[:, 1]]
array([[55., 53.],
       [60., 71.],
       [57., 53.],
       [72., 55.],
       [58., 57.]])
See :

Back References

The following pages refer to to this document either explicitly or contain code examples using this.

skimage.feature.orb.ORB

Local connectivity graph

Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.

Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)

SVG is more flexible but power hungry; and does not scale well to 50 + nodes.

All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them


File: /skimage/feature/orb.py#22
type: <class 'type'>
Commit: