This class implements a way to calculate SIFT keypoints.
How to calculate a set of SIFT keypoint on an image:
siftp = sift.SiftPlan(img.shape,img.dtype,devicetype="GPU")
kp = siftp.keypoints(img)
kp is a nx132 array. the second dimension is composed of x,y, scale and angle as well as 128 floats describing the keypoint
This SIFT algorithm is patented: U.S. Patent 6,711,293: “Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image”,
Print the number of keypoint per octave
Calculates the keypoints of the image
Parameters: | image – ndimage of 2D (or 3D if RGB) |
---|---|
Returns: | vector of keypoint (1D numpy array) |
If we are in debugging mode, prints out all timing for every single OpenCL call
Resets the profiling timers
Plan to compare sets of SIFT keypoint and find common ones.
siftp = sift.MatchPlan(devicetype="ALL")
commonkp = siftp.match(kp1,kp2)
where kp1, kp2 is a n x 132 array. the second dimension is composed of x,y, scale and angle as well as 128 floats describing the keypoint. commonkp is mx2 array of matching keypoints
Calculate the matching of 2 keypoint list
Parameters: |
|
---|
TODO: implement the ROI ...
Resets the profiling timers
Defines the region of interest
Parameters: | roi – region of interest as 2D numpy array with non zero where valid pixels are |
---|
Unset the region of interest
Align images on a reference image based on an afine transformation (bi-linear + offset)
Align image on reference image
Parameters: |
|
---|---|
Returns: | aligned image or all informations |
If we are in debugging mode, prints out all timing for every single OpenCL call