三维重建源代码


对于三维重建,有很大帮助,初学者可以学习
资源截图
代码片段和文件信息
/*
  Displays image features from a file on an image

  Copyright (C) 2006-2012  Rob Hess 

  @version 1.1.2-20100521
*/

#include “imgfeatures.h“
#include “utils.h“

#include 
#include 

#include 

#define OPTIONS “:oh“

/*************************** Function Prototypes *****************************/

static void usage( char* );
static void arg_parse( int char** );

/******************************** Globals ************************************/

char* pname;
char* feat_file;
char* img_file;
int feat_type = FEATURE_LOWE;


/********************************** Main *************************************/


int main( int argc char** argv )
{
  IplImage* img;
  struct feature* feat;
  char* name;
  int n;

  arg_parse( argc argv );

  img = cvLoadImage( img_file 1 );
  if( ! img )
    fatal_error( “unable to load image from %s“ img_file );
  n = import_features( feat_file feat_type &feat );
  if( n == -1 )
    fatal_error( “unable to import features from %s“ feat_file );
  name = feat_file;

  draw_features( img feat n );
  cvNamedWindow( name 1 );
  cvShowImage( name img );
  cvWaitKey( 0 );
  return 0;
}


/************************** Function Definitions *****************************/

/*
  Print usage info for this program.

  @param name program name
*/
static void usage( char* name )
{
  fprintf( stderr “%s: display image features on an image

“ name );
  fprintf( stderr “Usage: %s [options]  
“ name );
  fprintf( stderr “Options:
“ );
  fprintf( stderr “  -h      Display this message and exit
“ );
  fprintf( stderr “  -o      Specifies that  is an“
   “ Oxford-type feature file.  By
“);
  fprintf( stderr “             default it is treated as a“
   “ Lowe-type file.
“ );
}



/*
  arg_parse() parses the command line arguments setting appropriate globals.
  
  argc and argv should be passed directly from the command line
*/
static void arg_parse( int argc char** argv )
{
  pname = basename( argv[0] );
  int arg;
  while( 1 )
    {
      arg = getopt( argc argv OPTIONS );
      if( arg == -1 ) 
break;

      switch( arg )
{
case ‘:‘:
  fatal_error( “-%c option requires an argument

       “Try ‘%s -h‘ for help.“ optopt pname );
  break;
  
case ‘h‘:
  usage( pname );
  exit(0);
  break;

case ‘o‘:
  feat_type = FEATURE_OXFD;
  break;
}
    }
  if( argc - optind != 2 )
    fatal_error( “bad argument count.
Try ‘%s -h‘ for help.“ pname );
  feat_file = argv[optind++];
  img_file = argv[optind];
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     192654  2016-09-26 13:59  SIFT程序vs123.bmp

     文件    1060614  2016-09-26 13:58  SIFT程序vs456.bmp

     文件      26361  2016-09-26 14:19  SIFT程序vs741.jpg

     文件      40240  2016-09-26 14:20  SIFT程序vs852.jpg

     文件      30625  2012-07-26 14:48  SIFT程序vseaver.png

     文件      19484  2012-07-26 14:48  SIFT程序vseaver_xform.png

     文件      44545  2016-09-26 14:37  SIFT程序vscoffee1.jpg

     文件      39232  2016-09-26 14:37  SIFT程序vscoffee2.jpg

     文件       5150  2016-10-18 13:37  SIFT程序vsDebugcl.command.1.tlog

     文件     123116  2016-10-18 13:37  SIFT程序vsDebugCL.read.1.tlog

     文件       4186  2016-10-18 13:37  SIFT程序vsDebugCL.write.1.tlog

     文件          2  2016-10-18 13:37  SIFT程序vsDebuglink-cvtres.read.1.tlog

     文件          2  2016-10-18 13:37  SIFT程序vsDebuglink-cvtres.write.1.tlog

     文件          2  2016-10-18 13:37  SIFT程序vsDebuglink.4884-cvtres.read.1.tlog

     文件          2  2016-10-18 13:37  SIFT程序vsDebuglink.4884-cvtres.write.1.tlog

     文件          2  2016-10-18 13:37  SIFT程序vsDebuglink.4884.read.1.tlog

     文件          2  2016-10-18 13:37  SIFT程序vsDebuglink.4884.write.1.tlog

     文件       4388  2016-10-18 13:37  SIFT程序vsDebuglink.command.1.tlog

     文件       9240  2016-10-18 13:37  SIFT程序vsDebuglink.read.1.tlog

     文件       1898  2016-10-18 13:37  SIFT程序vsDebuglink.write.1.tlog

     文件        402  2016-10-18 13:37  SIFT程序vsDebugmt.command.1.tlog

     文件        198  2016-10-18 13:37  SIFT程序vsDebugmt.read.1.tlog

     文件        378  2016-10-18 13:37  SIFT程序vsDebugmt.write.1.tlog

     文件        570  2016-10-18 13:37  SIFT程序vsDebug
c.command.1.tlog

     文件        350  2016-10-18 13:37  SIFT程序vsDebug
c.read.1.tlog

     文件        358  2016-10-18 13:37  SIFT程序vsDebug
c.write.1.tlog

     文件       4386  2016-10-18 13:37  SIFT程序vsDebugSIFT.Build.CppClean.log

     文件        132  2016-10-18 13:37  SIFT程序vsDebugSIFT.lastbuildstate

     文件      10870  2016-10-18 13:37  SIFT程序vsDebugSIFT.log

     文件        198  2016-10-18 13:37  SIFT程序vsDebugSIFT_manifest.rc

............此处省略83个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)