Hi everyone,
I am trying to implement Vocabulary Tree Algorithm by Nister and Stewenius. Part of their work says
For each image in the database, extract MSER regions and calculate a set of feature point descriptors (e.g. 128 SIFT).
and
For feature extraction, we use our own implementation of Maximally Stable Extremal Regions (MSERs) [10]. They have been found to perform well in thorough performance evaluation [13, 4]. We warp an elliptical patch around each MSER region into a circular patch. The remaining portion of our feature extraction is then implemented according to the SIFT feature extraction pipeline by Lowe
What I am not sure about is, how to do this in OpenCV 3.x and Python 3.x, and also am not sure if I understood it correctly.
Am I supposed to put MSER keypoints to SIFT? And if so, how do I do it in Python OpenCV? I saw something similar but it was in C++
So far I have this code
import cv2
import numpy as np
img = cv2.imread('test_image.jpg', cv2.IMREAD_COLOR);
height, width,channels = img.shape
blank_image = np.zeros((height,width,3), np.uint8)
mser = cv2.MSER_create()
mser_areas = mser.detect(img)
sift = cv2.xfeatures2d.SIFT_create()