2011-07-24 21 views
5

SiftDescriptorExtractor: I (i-inci satır = i-inci açıklayıcısı) Ben boyutunu (tanımlayabilirsiniz nasıl Ben opencv SiftDescriptorExtractor yaklaşık 2 sorum var

  • vector<float* > için cv::Mat gelen tanımlayıcılar dönüştürebilir nasıl

    1. = SIFT tanımlayıcısı?

    Evet, OpenCV referansını biliyorum, ancak çalışmayı başaramıyorum. Birisi burada minimum örnek çalışma örneği koyabilirsiniz?

  • +0

    Kimse bilmiyor mu? Yoksa bu soru çok aptalca mı? – morph

    cevap

    1
    1. Her bir cv :: Mat öğesine erişebilir ve vektörü kendiniz yapabilirsiniz. sen tanıdığım gibi cv :: Mat
    2. unsurlarını erişmek için nasıl bilmek istiyorsanız This kudreti yararlı, sen OpenCV tarafından sağlanan SiftDescriptorExtractor ile yapabilirsiniz yolu yoktur. http://blogs.oregonstate.edu/hess/code/sift/ alınan OpenCV ait Ama ELEMEK Uygulama Yani açıklayıcı boyutunu değiştirmek için orijinal kodu değiştirebilir. SIFT tanımlayıcısı bin boyutunun sabitlerini değiştirerek, tanımlayıcı boyutunu değiştirebilirsiniz. Bundan daha fazlasını istiyorsanız, kodu okumalısınız. Kod iyi yorumlanmıştır ve Lowe'nin 2004 Ölçekli Değişmez Anahtar Noktalardan Farklı Görüntü Özelliğine dayanmaktadır.
    6

    1-dönüştürme:

    vector<float*> descriptor; 
    for(int i; i = 0; i < keypoints.size()) 
    { 
        descriptor.push_back(&keypoints.at<float>(i)); 
    } 
    

    SIFT 2-Boyutu:

    yapabilirsiniz olup SIFT algoritması boyutunu tanımlar olarak bloklar, depo ve benzeri Ne yapabilirsin? Kendi eleni kodlayabilirsin. Bu zor bir taktik, ama seni denemenizi tavsiye ederim.