資源簡介
圖像配準 opencv vc++ 程序 圖像融合

代碼片段和文件信息
#ifdef?_CH_
#pragma?package?
#endif
#ifndef?_EiC
#include?
#include?“stdlib.h“
#include?“string.h“?
#include?“malloc.h“?
#include?“math.h“?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#endif
#ifdef?_EiC
#define?WIN32
#endif
#define?NUMSIZE?2
#define?GAUSSKERN?3.5
#define?PI?3.14159265358979323846
/**
???Sigma?of?base?image?--?See?D.L.‘s?paper.
*/
#define?INITSIGMA?0.5
/**
???Sigma?of?each?octave?--?See?D.L.‘s?paper.
*/
#define?SIGMA?sqrt(3)//1.6//
/**
???Number?of?scales?per?octave.??See?D.L.‘s?paper.
*/
#define?SCALESPEROCTAVE?2
#define?MAXOCTAVES?4
int?????numoctaves;
/**
???Double?image?size?before?looking?searching?for?keypoints
???Doubling?finds?more?keypoints?but?takes?longer.?See
???D.L.‘s?paper.
*/
#define?CONTRAST_THRESHOLD???0.02
#define?CURVATURE_THRESHOLD??10.0
#define?DOUBLE_base_IMAGE_SIZE?1
#define?peakRelThresh?0.8
#define?LEN?128
CvMemStorage*?storage?=?0;?//?temporary?storage
//Gaussian金字塔感覺用二維指針較簡單
/*?Data?structure?for?a?float?image.
*/
typedef?struct?ImageSt?{????????/*金字塔每一層*/
??
??float?levelsigma;
??int?levelsigmalength;
??float?absolute_sigma;
??CvMat?*Level;??????????????
}?ImageLevels;
typedef?struct?ImageSt1?{??????/*金字塔每一階梯*/
??int?row?col;??????????/*?Dimensions?of?image.?*/
??float?subsample;
??ImageLevels?*Octave;??????????????
}?ImageOctaves;
ImageOctaves?*DOGoctaves;????????//DOG?pyr
ImageOctaves?*mag_thresh?;
ImageOctaves?*mag_pyr?;
ImageOctaves?*grad_pyr?;
/*?Data?structure?for?a?keypoint.??Lists?of?keypoints?are?linked
???by?the?“next“?field.*/
typedef?struct?KeypointSt?
{
??float?row?col;?/*?反饋回原圖像大小,特征點的位置?*/
??float?sxsy;????/*?金字塔中特征點的位置*/
??int?octavelevel;/*金字塔中,特征點所在的階梯、層次*/
??float?scale?orimag;?/*所在層的尺度sigma主方向orientation?(range?[-PIPI]),以及幅值*/
??float?*descrip;???????/*特征描述字指針:128維或32維等*/
??struct?KeypointSt?*next;/*?Pointer?to?next?keypoint?in?list.?*/
}?*Keypoint;
//定義特征點具體變量
Keypoint?keypoints=NULL;??????//用于臨時存儲特征點的位置等
Keypoint?keyDescriptors=NULL;?//用于最后的確定特征點以及特征描述字
//圖像處理基本函數,其實其實可以用OPENCV的函數代替
//void?NormalizeImage(CvMat?*src);
CvMat?*?halfSizeImage(CvMat?*?im);?????//縮小圖像:下采樣
CvMat?*?doubleSizeImage(CvMat?*?im);???//擴大圖像:最近臨方法
CvMat?*?doubleSizeImage2(CvMat?*?im);??//擴大圖像:線性插值
float?getPixelBI(CvMat?*?im?float?col?float?row);//雙線性插值函數
void?normalizeVec(float*?vec?int?dim);//向量歸一化??
CvMat*?GaussianKernel2D(float?sigma);??//得到2維高斯核
void?normalizeMat(CvMat*?mat)?;????????//矩陣歸一化
float*?GaussianKernel1D(float?sigma?int?dim)?;?//得到1維高斯核
float?ConvolveLocWidth(float*?kernel?int?dim?CvMat?*?src?int?x?int?y)?;??//在具體像素處寬度方向進行高斯卷積
void?Convolve1DWidth(float*?kern?int?dim?CvMat?*?src?CvMat?*?dst)?;???????//在整個圖像寬度方向進行1D高斯卷積
float?ConvolveLocHeight(float*?kernel?int?dim?CvMat?*?src?int?x?int?y)?;?//在具體像素處高度方向進行高斯卷積
void?Convolve1DHeight(float*?kern?int?dim?CvMat?*?src
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????72310??2005-07-07?12:54??SIFT\data\box.pgm
?????文件?????233055??2006-08-24?13:02??SIFT\data\box.sift
?????文件??????10060??2006-10-25?09:15??SIFT\data\circle.pgm
?????文件???????1362??2006-10-25?09:42??SIFT\data\circle.sift
?????文件?????464954??2006-04-04?21:45??SIFT\data\img3.jpg
?????文件?????467808??2006-04-04?21:45??SIFT\data\img5.jpg
?????文件?????275111??2006-05-01?12:51??SIFT\data\landscape-a.jpg
?????文件?????304723??2006-05-01?12:52??SIFT\data\landscape-b.jpg
?????文件??????11101??2006-11-02?13:33??SIFT\data\nest.png
?????文件??????17462??2006-11-02?14:27??SIFT\data\nest2.bmp
?????文件???????3377??2008-06-28?19:14??SIFT\SIFT.dsp
?????文件?????205824??2008-06-28?22:26??SIFT\Debug\vc60.idb
?????文件?????135168??2008-06-28?19:22??SIFT\Debug\vc60.pdb
?????文件????5095848??2008-06-28?19:14??SIFT\Debug\SIFT.pch
?????文件?????500736??2008-06-28?19:22??SIFT\Debug\SIFT.pdb
?????文件?????256280??2008-06-28?19:22??SIFT\Debug\SIFT.ilk
?????文件?????225326??2008-06-28?19:22??SIFT\Debug\SIFT.exe
?????文件??????80298??2008-06-28?19:22??SIFT\Debug\SIFT.obj
?????文件???????3098??2008-06-28?19:22??SIFT\SIFT.plg
?????文件?????464954??2006-04-04?21:45??SIFT\img3.jpg
?????文件?????275111??2006-05-01?12:51??SIFT\landscape_a.jpg
?????文件??????52579??2008-06-28?19:22??SIFT\SIFT.cpp
?????目錄??????????0??2006-12-12?15:14??SIFT\data
?????目錄??????????0??2008-06-28?19:14??SIFT\Debug
?????目錄??????????0??2006-12-12?15:21??SIFT
-----------?---------??----------?-----??----
??????????????9156545????????????????????25
- 上一篇:VC++直方圖均衡化顯示圖像及直方圖
- 下一篇:21點游戲C++模擬
評論
共有 條評論