#include<iostream>
#include <opencv2/opencv.hpp>
#include<string.h>
#include <stdio.h>
#include <opencv2/nonfree/features2d.hpp>
using namespace cv;
using namespace std;
int main(int argc, char* argv[])
{
/*Mat img1=imread("Image01.jpg");*/
Mat img1=imread("1.jpg");
/*Mat img2=imread("Image02.jpg");*/
Mat img2=imread("2.jpg");
//cvtColor(img1,img1,CV_RGB2GRAY);
//cvtColor(img2,img2,CV_RGB2GRAY);
//-- Step 1: Detect the keypoints using SURF Detector檢測關鍵點
int minHessian=400;
SurfFeatureDetector detector( minHessian );
std::vector<KeyPoint> keypoints_1, keypoints_2;//向量類
detector.detect( img1, keypoints_1 );
detector.detect( img2, keypoints_2 );
//-- Step 2: Calculate descriptors (feature vectors)計算描述子
SurfDescriptorExtractor extractor;
Mat descriptors_1, descriptors_2;//兩個矩陣
extractor.compute( img1, keypoints_1, descriptors_1 );//把圖一的關鍵點放在描述子這個矩陣中?
extractor.compute( img2, keypoints_2, descriptors_2 );
//-- Step 3: Matching descriptor vectors using FLANN matcher使用FLANN匹配器匹配描述子向量
FlannBasedMatcher matcher;
// BruteForceMatcher<L2<float>> matcher;
std::vector< DMatch > matches;//匹配點(向量)?
matcher.match( descriptors_1, descriptors_2, matches );//把匹配的描述子……
Mat imgMatches;
drawMatches(img1, keypoints_1, img2, keypoints_2, matches, imgMatches);
namedWindow("Matches");
imshow("Matches", imgMatches);///全部的匹配向量
}
uj5u.com熱心網友回復:
初學者 不太能自己寫程式 只能看懂程式的程度uj5u.com熱心網友回復:
同問請問你弄懂了嗎uj5u.com熱心網友回復:
暖貼 不要沉啊 求個人幫幫我吧uj5u.com熱心網友回復:
暖貼!!! 求助!!! 怎么寫下去!!!uj5u.com熱心網友回復:
是否可以將參考影像與配準影像放在同一坐標系。然后將配準影像投影變換。uj5u.com熱心網友回復:
匹配點已經寫好了,開始進行轉換矩陣的求取,對準后再融合轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/25845.html
標籤:基礎類
上一篇:跪求程式
下一篇:c++筆記2章
