91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

兩個文件夾,一個為sift+ransac圖像匹配代碼,同時還有匹配精度檢測代碼(以像素精度)。另一個文件夾為surf圖像匹配代碼。

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
#include

#include
using?namespace?std;
using?namespace?cv;
using?namespace?cv::xfeatures2d;

Point2f?getTransformPoint(const?Point2f?originalPoint?const?Mat?&transformMaxtri);

int?main()
{
//Mat?srcImage1?=?imread(“D:\\opencv\\pictures\\SIFT_try\\1.png“);
Mat?srcImage1?=?imread(“D:\\研一文件夾\\上學(xué)期\\迷之課設(shè)\\課程設(shè)計(jì)\\demo-data\\im44.jpg“);
//Mat?srcImage1?=?imread(“D:\\研一文件夾\\上學(xué)期\\迷之課設(shè)\\課程設(shè)計(jì)\\demo-data\\building01.png“);
//Mat?srcImage1?=?imread(“D:\\opencv\\pictures\\視頻采集\\35.jpg“);
//Mat?srcImage1?=?imread(“D:\\opencv\\pictures\\視頻采集\\headPose_1.jpg“);
//Mat?srcImage1?=?imread(“D:\\opencv\\pictures\\eye_close.jpg“);

//Mat?srcImage2?=?imread(“D:\\opencv\\pictures\\視頻采集\\headPose_2.jpg“);
//Mat?srcImage2=?imread(“D:\\opencv\\pictures\\視頻采集\\79.jpg“);
//Mat?srcImage2?=?imread(“D:\\opencv\\pictures\\SIFT_try\\2.png“);
Mat?srcImage2?=?imread(“D:\\研一文件夾\\上學(xué)期\\迷之課設(shè)\\課程設(shè)計(jì)\\demo-data\\im54.jpg“);
//Mat?srcImage2?=?imread(“D:\\研一文件夾\\上學(xué)期\\迷之課設(shè)\\課程設(shè)計(jì)\\demo-data\\building02.png“);

if?(!srcImage1.data?||?!srcImage2.data)
{
cout?< return?false;
}

imshow(“原始圖1“?srcImage1);
imshow(“原始圖2“?srcImage2);

////原?
//int?minHessian?=?100;

////改
int?minHessian?=?700;
Ptr?detector?=?SurfFeatureDetector::create(minHessian);

vector?key_points_1?key_points_2;

Mat?dstImage1?dstImage2;
detector->detectAndCompute(srcImage1?Mat()?key_points_1?dstImage1);
detector->detectAndCompute(srcImage2?Mat()?key_points_2?dstImage2);//可以分成detect和compute

Mat?img_keypoints_1?img_keypoints_2;
drawKeypoints(srcImage1?key_points_1?img_keypoints_1?Scalar::all(-1)?DrawMatchesFlags::DEFAULT);
drawKeypoints(srcImage2?key_points_2?img_keypoints_2?Scalar::all(-1)?DrawMatchesFlags::DEFAULT);

PtrriptorMatcher>?matcher?=?DescriptorMatcher::create(“Flannbased“);
vectormach;

matcher->match(dstImage1?dstImage2?mach);
double?Max_dist?=?0;
double?Min_dist?=?100;
for?(int?i?=?0;?i? {
double?dist?=?mach[i].distance;
if?(dist? if?(dist?>?Max_dist)Max_dist?=?dist;
}
cout?< cout?<
vectorgoodmaches;
for?(int?i?=?0;?i? {
if?(mach[i].distance? goodmaches.push_back(mach[i]);
}

////改開始
cout?< cout?< vector??RAN_KP1?RAN_KP2;
for?(size_t?i?=?0;?i?
{

RAN_KP1.push_back(key_points_1[goodmaches[i].queryIdx]);

RAN_KP2.push_back(key_points_2[goodmaches[i].trainIdx]);

//RAN_KP1是要存儲img01中能與img02匹配的點(diǎn)

//goodM

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????5113??2019-01-09?15:34??sift+surf匹配代碼\SIFT_RANSAC\main.cpp

?????文件???????2603??2018-11-07?22:58??sift+surf匹配代碼\SIFT_RANSAC\timer.cpp

?????文件??????12404??2019-01-09?21:54??sift+surf匹配代碼\SURF\main.cpp

?????目錄??????????0??2019-03-24?13:07??sift+surf匹配代碼\SIFT_RANSAC

?????目錄??????????0??2019-03-24?13:07??sift+surf匹配代碼\SURF

?????目錄??????????0??2019-03-24?13:07??sift+surf匹配代碼

-----------?---------??----------?-----??----

????????????????20120????????????????????6


評論

共有 條評論