今天研究了一下opencv中的flann庫,踩坑一下午,遇到問題:opencv error: unsupported format or combination of formats (type=5)
在stackoverflow下也沒人解決,所以特意記錄下。
在庫中使用index類,完成knn的查詢。其建構函式為:
index(inputarray features, const indexparams& params, cvflann::flann_distance_t disttype=cvflann::flann_dist_l2);
其引數有一些特殊要求:
1.對於params的取值為 autotunedindexparams、linearindexparams、kdtreeindexparams時需要使用float型的features
2.當param為lshindexparams時,features是uchar的mat
原因是index的建構函式其實呼叫了其build方法:
void index::build(inputarray _data, const indexparams& params, flann_distance_t _disttype)
mat data = _data.getmat();
index = 0;
featuretype = data.type();
disttype = _disttype;
if ( algo == flann_index_lsh)
switch( disttype )
}從中可以看出,除flann_dist_hamming外,其餘資料型別都為float型
對於flann_dist_hamming其中:
if ( algo == flann_index_lsh)
{disttype = flann_dist_hamming;
switch( disttype )
{case flann_dist_hamming:
buildindex< hammingdistance >(index, data, params);
break;
hammingdistance的定義為:typedef ::cvflann::hamminghammingdistance;
因此,使用lshindexparams時,features的型別要為uchar。
flann中關於資料的stride
現在的問題是,我有一堆資料是四維的,但是查詢時只需要用到前三維,那麼該怎麼做呢?有兩種方法 1 用l2 3d include include include using namespace std int main int argc,char argv flann matrix dataset da...
python中關於Opencv中關於矩形的函式總結
最近處理影象,以前用的都是matlab,現在入手python比較慢,這幾天看到了很多命名和功能相似的函式,作個記錄總結一下 只是為了能夠看下函式知道它是做什麼的,因此不會對其用法說得面面俱到。看到乙個文章講得清晰詳實,分享一下 功能 計算輪廓內的面積 示例 輸入為乙個點集 contours 0 為前...
js中關於時間
1 獲取當前時間 var mydate new date mydate.getyear 獲取當前年份 2位 mydate.getfullyear 獲取完整的年份 4位,1970 mydate.getmonth 獲取當前月份 0 11,0代表1月 mydate.getdate 獲取當前日 1 31 m...