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

資源簡介

本原碼是用C語言實現的SIFT算法,可以提取SIFT特征和利用SIFT特征進行圖像拼接和全景圖構造,只需進行一些簡單的OPENCV配置,就可以順利運行。

資源截圖

代碼片段和文件信息

//?SIFT.cpp?:?定義控制臺應用程序的入口點。
//

#include?“stdafx.h“
#include“kdtree.h“
#include“minpq.h“
#include“utils.h“
#include“imgfeatures.h“
#include“xform.h“
#include“sift.h“
#include
#include
#include?
#include?
#include?
#include?
#include?
#include?
#include


using?namespace?std;
//在k-d樹上進行BBF搜索的最大次數
/*?the?maximum?number?of?keypoint?NN?candidates?to?check?during?BBF?search?*/
#define?KDTREE_BBF_MAX_NN_CHKS?200

//目標點與最近鄰和次近鄰的距離的比值的閾值,若大于此閾值,則剔除此匹配點對
//通常此值取0.6,值越小找到的匹配點對越精確,但匹配數目越少
/*?threshold?on?squared?ratio?of?distances?between?NN?and?2nd?NN?*/
#define?NN_SQ_DIST_RATIO_THR?0.49
//窗口名字符串
#define?IMG1?“圖1“
#define?IMG2?“圖2“
#define?IMG1_FEAT?“圖1特征點“
#define?IMG2_FEAT?“圖2特征點“
#define?IMG_MATCH1?“距離比值篩選后的匹配結果“
#define?IMG_MATCH2?“RANSAC篩選后的匹配結果“
#define?IMG_MOSAIC_TEMP?“臨時拼接圖像“
#define?IMG_MOSAIC_SIMPLE?“簡易拼接圖“
#define?IMG_MOSAIC_BEFORE_FUSION?“重疊區域融合前“
#define?IMG_MOSAIC_PROC?“處理后的拼接圖“

int?open_image_number;//打開圖片個數
IplImage?*img1?*img2;//IplImage格式的原圖
IplImage?*img1_Feat?*img2_Feat;//畫上特征點之后的圖

bool?verticalStackFlag;//顯示匹配結果的合成圖像中,兩張圖是縱向排列的標志
IplImage?*stacked;//顯示匹配結果的合成圖像,顯示經距離比值法篩選后的匹配結果
IplImage?*stacked_ransac;//顯示匹配結果的合成圖像,顯示經RANSAC算法篩選后的匹配結果

struct?feature?*feat1?*feat2;//feat1:圖1的特征點數組,feat2:圖2的特征點數組
int?n1?n2;//n1:圖1中的特征點個數,n2:圖2中的特征點個數
struct?feature?*feat;//每個特征點
struct?kd_node?*kd_root;//k-d樹的樹根
struct?feature?**nbrs;//當前特征點的最近鄰點數組

CvMat?*?H;//RANSAC算法求出的變換矩陣
struct?feature?**inliers;//精RANSAC篩選后的內點數組
int?n_inliers;//經RANSAC算法篩選后的內點個數即feat2中具有符合要求的特征點的個數

IplImage?*xformed;//臨時拼接圖,即只將圖2變換后的圖
IplImage?*xformed_simple;//簡易拼接圖
IplImage?*xformed_proc;//處理后的拼接圖

???//????int?img1LeftBound;//圖1中匹配點外接矩形的左邊界
???//????int?img1RightBound;//圖1中匹配點外接矩形的右邊界
???//????int?img2LeftBound;//圖2中匹配點外接矩形的左邊界
???//????int?img2RightBound;//圖2中匹配點外接矩形的右邊界

???//圖2的四個角經矩陣H變換后的坐標
CvPoint?leftTop?leftBottom?rightTop?rightBottom;



void?CalcFourCorner()?{
//計算圖2的四個角經矩陣H變換后的坐標
double?v2[]?=?{?001?};//左上角
double?v1[3];//變換后的坐標值
CvMat?V2?=?cvMat(3?1?CV_64FC1?v2);
CvMat?V1?=?cvMat(3?1?CV_64FC1?v1);
cvGEMM(H?&V2?1?0?1?&V1);//矩陣乘法
leftTop.x?=?cvRound(v1[0]?/?v1[2]);
leftTop.y?=?cvRound(v1[1]?/?v1[2]);
//cvCircle(xformedleftTop7CV_RGB(25500)2);

//將v2中數據設為左下角坐標
v2[0]?=?0;
v2[1]?=?img2->height;
V2?=?cvMat(3?1?CV_64FC1?v2);
V1?=?cvMat(3?1?CV_64FC1?v1);
cvGEMM(H?&V2?1?0?1?&V1);
leftBottom.x?=?cvRound(v1[0]?/?v1[2]);
leftBottom.y?=?cvRound(v1[1]?/?v1[2]);
//cvCircle(xformedleftBottom7CV_RGB(25500)2);

//將v2中數據設為右上角坐標
v2[0]?=?img2->width;
v2[1]?=?0;
V2?=?cvMat(3?1?CV_64FC1?v2);
V1?=?cvMat(3?1?CV_64FC1?v1);
cvGEMM(H?&V2?1?0?1?&V1);
rightTop.x?=?cvRound(v1[0]?/?v1[2]);
rightTop.y?=?cvRound(v1[1]?/?v1[2]);
//cvC

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

????..A..H.?????35328??2015-12-31?13:48??SIFT\.vs\SIFT\v14\.suo

?????文件?????159744??2015-12-08?23:27??SIFT\Debug\SIFT.exe

?????文件?????710992??2015-12-08?23:27??SIFT\Debug\SIFT.ilk

?????文件????2158592??2015-12-08?23:27??SIFT\Debug\SIFT.pdb

?????文件????3342336??2015-12-08?23:27??SIFT\ipch\SIFT-3a32c33c\SIFT-39e111a2.ipch

?????文件????3342336??2015-12-08?23:19??SIFT\ipch\SIFT-3a32c33c\SIFT-bb67ab9c.ipch

?????文件??????49152??2015-12-30?20:32??SIFT\Release\SIFT.exe

?????文件?????537539??2015-12-30?20:32??SIFT\Release\SIFT.iobj

?????文件?????132464??2015-12-30?20:32??SIFT\Release\SIFT.ipdb

?????文件????1781760??2015-12-30?20:32??SIFT\Release\SIFT.pdb

?????文件???????4685??2015-12-08?23:27??SIFT\SIFT\Debug\SIFT.log

?????文件?????572254??2015-12-08?23:27??SIFT\SIFT\Debug\SIFT.obj

?????文件????3407872??2015-12-08?23:27??SIFT\SIFT\Debug\SIFT.pch

?????文件???????1810??2015-12-08?23:27??SIFT\SIFT\Debug\SIFT.tlog\CL.command.1.tlog

?????文件??????18744??2015-12-08?23:27??SIFT\SIFT\Debug\SIFT.tlog\CL.read.1.tlog

?????文件???????1402??2015-12-08?23:27??SIFT\SIFT\Debug\SIFT.tlog\CL.write.1.tlog

?????文件???????2432??2015-12-08?23:27??SIFT\SIFT\Debug\SIFT.tlog\link.command.1.tlog

?????文件???????5160??2015-12-08?23:27??SIFT\SIFT\Debug\SIFT.tlog\link.read.1.tlog

?????文件????????756??2015-12-08?23:27??SIFT\SIFT\Debug\SIFT.tlog\link.write.1.tlog

?????文件????????190??2015-12-08?23:27??SIFT\SIFT\Debug\SIFT.tlog\SIFT.lastbuildstate

?????文件??????11967??2015-12-08?23:27??SIFT\SIFT\Debug\stdafx.obj

?????文件?????732160??2015-12-08?23:27??SIFT\SIFT\Debug\vc140.idb

?????文件????1544192??2015-12-08?23:27??SIFT\SIFT\Debug\vc140.pdb

?????文件??????30625??2012-07-26?14:48??SIFT\SIFT\IMG1.png

?????文件??????19484??2012-07-26?14:48??SIFT\SIFT\IMG2.png

?????文件??????20269??2015-12-10?09:32??SIFT\SIFT\imgfeatures.h

?????文件??????22965??2015-12-08?22:05??SIFT\SIFT\kdtree.h

?????文件???????5839??2015-12-08?22:05??SIFT\SIFT\minpq.h

?????文件???????1489??2015-12-08?15:19??SIFT\SIFT\ReadMe.txt

?????文件???????1135??2015-12-08?21:04??SIFT\SIFT\Release\SIFT.Build.CppClean.log

............此處省略42個文件信息

評論

共有 條評論