首页 > 代码库 > Estereo

Estereo

Estereo是一个开源的双目或者三目立体视觉重建程序,可以在这个地址下载https://sourceforge.net/project/stats/detail.php?group_id=126733&ugn=estereo&type=prdownload
编译需要安装vc.net和directx9.0 sdk,编译时可能需要修改几处地方
1.很多显卡不支持硬件VB,所以修改这里

hr = m_pD3D->CreateDevice(
    D3DADAPTER_DEFAULT,
    D3DDEVTYPE_HAL,
    m_hWnd,
    D3DCREATE_SOFTWARE_VERTEXPROCESSING,//D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE,
    &m_d3dpp, 
    &m_pD3DDevice);


2.有些电脑不能显示三维重建结果,需要修改这里将这些代码移出OnInitdialog



CWnd* pParent = GetParent();
  CRect rcParent;
  pParent->GetWindowRect(&rcParent);
  MoveWindow(&rcParent);

  C3DWindow* p3DWindow= (C3DWindow*)GetDlgItem(IDC_3D_CONTROL);

  if(p3DWindow)
  {
   CRect rcControl; 
   GetClientRect(&rcControl);

   rcControl.DeflateRect(10,10,10,10);
   p3DWindow->MoveWindow(&rcControl);
   
   if(((CButton*)GetDlgItem(IDC_CHECK_INITPOS))->GetCheck())
    p3DWindow->SetRegistryKey("3D Reconstruction");//arcball params should be kept separate 
   p3DWindow->Start(false);

   p3DWindow->CreateVB(m_nPoints,m_pX,m_pY,m_pZ,m_pC,m_pS);

 }

可以自己加上一个按钮,将这些代码加入按钮的响应函数中

Estereo