Building a Star feature detector
SIFT feature detector is good in many cases. However, when we build object recognition systems, we may want to use a different feature detector before we extract features using SIFT. This will give us the flexibility to cascade different blocks to get the best possible performance. So, we will use the Star feature detector in this case to see how to do it.
How to do it…
Create a new Python file, and import the following packages:
import sys import cv2 import numpy as np
Define a class to handle all the functions that are related to Star feature detection:
class StarFeatureDetector(object): def __init__(self): self.detector = cv2.xfeatures2d.StarDetector_create()
Define a function to run the detector on the input image:
def detect(self, img): return self.detector.detect(img)
Load the input image in the
main
function. We will usetable.jpg
:if __name__=='__main__': # Load input image -- 'table.jpg' input_file = sys.argv[1] input_img...