EStereo
来源:互联网 发布:制作宣传单的软件 编辑:程序博客网 时间:2024/05/17 22:11
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);
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);
}
可以自己加上一个按钮,将这些代码加入按钮的响应函数中