I want to know, if I can change the SIFT descriptors dimension , if so how can I do it. I know currently the dimension is 128, can we make is 128*4 or 124/4 something like this?
Update: I tried to change the SIFT_DESCR_WIDTH to 2, from 4 in opencv / modules / nonfree / src / sift.cpp , but it doesn't change the dimension of descriptors, when I print descriptors.size() it prints 128.
Regards,
You cannot change SIFT dimensions in OpenCV without changing the OpenCV source. So you have to change sources and recompile whole OpenCV or nonfree module.
Change that constant value, then do cmake & make for OpenCV.
P.S. Actually, it wouldn`t change a lot for you - check original SIFT paper, figure 8.