• 大小: 8.51MB
    文件类型: .7z
    金币: 1
    下载: 0 次
    发布日期: 2023-10-10
  • 语言: 其他
  • 标签: MPEG  VSRS  

资源简介

VSRS采用两个参考视图和两个深度图作为输入来生成合成的虚拟视图。所需的内在和外在相机参数和支持一维平行和非平行相机设置。前期主要有两种模式:1-D Mode和General Mode,其中1-D Mode支持的是平行移动的场景,而General Mode支持的更为通用的场景,二者都是针对的普通平面视频进行的虚拟视点合成。后期,VSRS也支持了ERP格式的全景视频格式的输入。

资源截图

代码片段和文件信息

//======================================created by Ying Chen =====================================
//===============Tampere University of Technology (TUT)/Nokia Research Center (NRC)===============

#ifdef WIN32
#pragma warning(disable : 4996)
#endif

#include “Parameterbase.h“

#include  

#ifndef MSYS_WIN32
#define stricmp strcasecmp
#endif

#define equal(ab)  (!stricmp((a)(b)))


//using namespace std;

ConfigLineStr::ConfigLineStr( Char* pcTag std::string* pcPar Char* pcDefault ) : ConfigLinebase( pcTag 1 ) m_pcPar( pcPar )
{
  *m_pcPar = pcDefault;
}

Void
ConfigLineStr::setVar( std::string& pvValue )
{
  *m_pcPar = pvValue;
}

Void
ConfigLineStr::fprintVar( FILE *fp )
{
  fprintf(fp “%s : %s\n“ m_cTag.c_str() m_pcPar->c_str());
}

ConfigLineDbl::ConfigLineDbl( Char* pcTag Double* pdPar Double pdDefault ) :  ConfigLinebase( pcTag 2 ) m_pdPar( pdPar )
{
  *m_pdPar = pdDefault;
}

Void
ConfigLineDbl::setVar( std::string& pvValue )
{
  *m_pdPar = atof( pvValue.c_str() );
}

Void
ConfigLineDbl::fprintVar( FILE *fp )
{
  fprintf(fp “%s : %f\n“ m_cTag.c_str() *m_pdPar);
}

ConfigLineInt::ConfigLineInt( Char* pcTag Int* piPar Int piDefault ) : ConfigLinebase( pcTag 3 ) m_piPar( piPar )
{
  *m_piPar = piDefault;
}

Void
ConfigLineInt::setVar( std::string& pvValue)
{
  *m_piPar = atoi( pvValue.c_str() );
}

Void
ConfigLineInt::fprintVar( FILE *fp )
{
  fprintf(fp “%s : %d\n“ m_cTag.c_str() *m_piPar);
}

ConfigLineUInt::ConfigLineUInt( Char* pcTag UInt* puiPar UInt puiDefault ) : ConfigLinebase( pcTag 4 ) m_puiPar( puiPar )
{
  *m_puiPar = puiDefault;
}

Void
ConfigLineUInt::setVar( std::string& pvValue)
{
  *m_puiPar = atoi( pvValue.c_str() );
}

Void
ConfigLineUInt::fprintVar( FILE *fp )
{
  fprintf(fp “%s : %d\n“ m_cTag.c_str() *m_puiPar);
}

ConfigLineChar::ConfigLineChar( Char* pcTag Char* pcPar Char pcDefault ) : ConfigLinebase( pcTag 5 ) m_pcPar( pcPar )
{
  *m_pcPar = pcDefault;
}

Void
ConfigLineChar::setVar( std::string& pvValue )
{
  *m_pcPar = (Char)atoi( pvValue.c_str() );
}

Void
ConfigLineChar::fprintVar( FILE *fp )
{
  fprintf(fp “%s : %c\n“ m_cTag.c_str() *m_pcPar);
}

Parameterbase::Parameterbase()
{
  for (int i = 0; i < MAX_CONFIG_PARAMS; i++) // DT
    m_pCfgLines[i] = NULL;
}

Void
Parameterbase::release()
{
  UInt uiParLnCount = 0;
  while (m_pCfgLines[uiParLnCount] != NULL)
  {
    delete m_pCfgLines[uiParLnCount];
    m_pCfgLines[uiParLnCount] = NULL;
    uiParLnCount++;
  }
}

Void
Parameterbase::xPrintParam()
{
  UInt uiParLnCount = 0;
  while (m_pCfgLines[uiParLnCount] != NULL)
  {
    m_pCfgLines[uiParLnCount]->fprintVar(stdout);
    uiParLnCount++;
  }
}

Int
Parameterbase::xReadFromFile( std::string& rcFilename )
{
  std::string acTags[4];
  UInt        uiParLnCount = 0;
  UInt        uilayerCnt   = 0;

  FILE *f = fopen( rcFilename.c_str

评论

共有 条评论