• 大小: 3.82MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-31
  • 语言: C/C++
  • 标签: 图像匹配  配准  

资源简介

图像配准 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


评论

共有 条评论