2016-03-04 4 views
2

Im new to OpenCV, Im пытается использовать SIFT для извлечения ключевых точек из изображения в оттенках серого. Но не удалось скомпилировать код. Кажется, нет никакой ясной помощи в Интернете для использования SIFT. Помощь Pls. Благодарю.Пример кода для SIFT в OpenCV 3?

while(true) 
{ 
    Mat myFrame; 
    Mat grayFrame; 
    capture.read(myFrame); 
    cvtColor(myFrame, grayFrame, CV_BGR2GRAY); 

    vector<Vec2f> outputArray; 
    vector<KeyPoint> keypoint; 
    Feature2D EXTRACTOR; 
    Mat descriptors; 
    EXTRACTOR.detectAndCompute(grayFrame, outputArray, keypoint, descriptors); 

}

+0

Возможный дубликат [несвободным модуля отсутствует в OpenCV 3.0] (http://stackoverflow.com/questions/27418668/nonfree-module-is-missing-in-opencv -3-0) – Miki

ответ

0
vector<KeyPoint> keyVector; 
    Mat outputDiscriptor; 
    Ptr<SIFT> detector = SIFT::create(); 
    detector->detect(grayFrame, keyVector); 
    //here grayFrame is the gray scale of the original frame/image 

    if you want to get the descriptors of the key points use the 
    detector->compute(grayFrame, keyVector) 
Смежные вопросы