基於ORB的LinearBlend融合

2021-09-07 11:24:26 字數 2482 閱讀 5027

//基於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 安...