//基於orb實現線性融合
#include"stdafx.h"
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
usingnamespacestd;
usingnamespacecv;
int_tmain(intargc, _tchar* ar**)
sortidx(tab, index, cv:
:sort_every_column +cv:
:sort_ascending);
vector bestmatches;
for(inti =
0; i<
60; i++)
mat result;
drawmatches(image1, keyimg1, image2, keyimg2, bestmatches, result);
std:
:vector obj;
std:
:vector scene;
for(inti =
0; i int)bestmatches.size(); i++ )
//直接呼叫ransac,計算單應矩陣
mat h = findhomography( obj, scene, cv_ransac );
//繪製仿射結果
std:
:vector obj_corners(4);
std:
point2f offset( (float)image1.cols, 0);
line( result, scene_corners[0] + offset, scene_corners[1] + offset, scalar(0, 255, 0), 4 );
line( result, scene_corners[1] + offset, scene_corners[2] + offset, scalar( 0, 255, 0), 4 );
line( result, scene_corners[2] + offset, scene_corners[3] + offset, scalar( 0, 255, 0), 4 );
line( result, scene_corners[3] + offset, scene_corners[0] + offset, scalar( 0, 255, 0), 4 );
imshow("兩圖比對", result);//初步顯示結果
//通過透視變換轉換到一起
cv::mat resultall;
cv::warpperspective(image1, // input image
resultall, // output image
h, // homography
cv::size(2
*image1.cols,image1.rows)); // size of output image
cv::mat resultback;
resultall.copyto(resultback);
// copy image 1 on the first half of full image
cv::mat half(resultall,cv:
:rect(0,0,image2.cols,image2.rows));
image2.copyto(half);
//進行liner的融合
mat outimage;//待輸出
resultall.copyto(outimage);//影象拷貝
doubledblend =
0.0;
intioffset =image2.cols-
100;//col的初始定位
for(inti =
0;i<
100;i++)
waitkey();
imshow("融合結果",outimage);
return0;
}
來自為知筆記(wiz)
透視變換基於C ,用ORB
基於orb的方法 特徵匹配的函式需要包含contirbe include include opencv2 features2d.hpp using namespace std using namespace cv const int max features 500 控制最多可以檢測到的特徵點對數 ...
OpenCV的ORB特徵提取演算法
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!看到opencv2.3.1裡面orb特徵提取演算法也在裡面了,套用給的surf特徵例子程式改為orb特徵一直提示錯誤,型別不匹配神馬的,由於沒有找到示例程式,只能自己找答案。經過查詢發現 描述符資料型別有是float的,比如說sift,surf描述...
小白學SLAM的流水賬(一) 跑通ORB踩過的坑
2 終於可以開始學習ubuntu了!首先開啟終端,轉換成root模式,不然一直sudo很麻煩 su root 輸入密碼 ubuntu會讓你設定乙個密碼然後用這個轉換 1 首先按照十四講上在終端上執行乙個 hello slam 出現乙個低階錯誤,make的時候要在build資料夾下,不然會報錯。2 安...