我正在處理一段執行128維描述符特徵匹配的代碼。將FLANN與單獨的*雙數組結合使用
圖像的所有描述符存儲在一個std :: vector中,其中InterestPoint包含一個成員* double desc,它是描述符向量。
現在我想用這種結構在弗萊恩矩陣以後做近似最近鄰特徵匹配,這是我初始化這樣:
std::vector<InterestPoint> ip1;
//processing for building vector containing interest points
flann::Matrix<double> input(new double[ip1.size()*128], ip1.size(), 128);
我現在如何才能填補這一FLANN ::矩陣與*從ip1矢量的每個元素的雙desc成員?這是我試過的:
for(size_t i = 0; i < ip1.size(); i++)
{
for(size_t j = 0; j < 128; j++)
{
input[i][j] = ip1[i].ivec[j];
}
}
編譯但沒有解決。 flann提供了一種使用operator []訪問flann :: Matrix的每一行的方法,因此Matrix類是主行。
由於提前,
你能澄清一下「沒有解決」是什麼意思嗎?你是否嘗試過遍歷循環來檢查你正在訪問的索引處的ip1和input的值是否有效? – aardvarkk
我做了你所說的,事實上,把我的指針放在Flann中並沒有問題,問題在於我的指針出於某種原因,在我調用的函數中無效。無論如何感謝您的時間! – filipsch