資源簡介
在VS2010,OPENCV2.4.9平臺下實現(xiàn)的雙目視覺系統(tǒng),MFC代碼實現(xiàn)了左右視圖的顯示,相機(jī)標(biāo)定以及校正的功能。代碼完全可用。
代碼片段和文件信息
//////////////////////////////////////////////////////////////////////
//?Video?Capture?using?DirectShow
//?Author:?Shiqi?Yu?(shiqi.yu@gmail.com)
//?Thanks?to:
// HardyAI@OpenCV?China
// flymanbox@OpenCV?China?(for?his?contribution?to?function?CameraName?and?frame?width/height?setting)
//?Last?modification:?April?9?2009
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//?使用說明:
//???1.?將CameraDS.h?CameraDS.cpp以及目錄DirectShow復(fù)制到你的項目中
//???2.?菜單?Project->Settings->Settings?for:(All?configurations)->C/C++->Category(Preprocessor)->Additional?include?directories
//??????設(shè)置為?DirectShow/Include
//???3.?菜單?Project->Settings->Settings?for:(All?configurations)->link->Category(Input)->Additional?library?directories
//??????設(shè)置為?DirectShow/Lib
//////////////////////////////////////////////////////////////////////
//?CameraDS.cpp:?implementation?of?the?CCameraDS?class.
//
//////////////////////////////////////////////////////////////////////
#include?“StdAfx.h“
#include?“CameraDS.h“
#pragma?comment(lib“Strmiids.lib“)?
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
CCameraDS::CCameraDS()
{
m_bConnected?=?false;
m_nWidth?=?0;
m_nHeight?=?0;
m_bLock?=?false;
m_bChanged?=?false;
m_pframe?=?NULL;
m_nBufferSize?=?0;
m_pNullFilter?=?NULL;
m_pMediaEvent?=?NULL;
m_pSampleGrabberFilter?=?NULL;
m_pGraph?=?NULL;
CoInitialize(NULL);
}
CCameraDS::~CCameraDS()
{
CloseCamera();
CoUninitialize();
}
void?CCameraDS::CloseCamera()
{
if(m_bConnected)
m_pMediaControl->Stop();
m_pGraph?=?NULL;
m_pDeviceFilter?=?NULL;
m_pMediaControl?=?NULL;
m_pSampleGrabberFilter?=?NULL;
m_pSampleGrabber?=?NULL;
m_pGrabberInput?=?NULL;
m_pGrabberOutput?=?NULL;
m_pCameraOutput?=?NULL;
m_pMediaEvent?=?NULL;
m_pNullFilter?=?NULL;
m_pNullInputPin?=?NULL;
if?(m_pframe)
cvReleaseImage(&m_pframe);
m_bConnected?=?false;
m_nWidth?=?0;
m_nHeight?=?0;
m_bLock?=?false;
m_bChanged?=?false;
m_nBufferSize?=?0;
}
bool?CCameraDS::OpenCamera(int?nCamID?bool?bDisplayProperties?int?nWidth?int?nHeight)
{
HRESULT?hr?=?S_OK;
CoInitialize(NULL);
//?Create?the?Filter?Graph?Manager.
hr?=?CoCreateInstance(CLSID_FilterGraph?NULL?CLSCTX_INPROC
IID_IGraphBuilder?(void?**)&m_pGraph);
hr?=?CoCreateInstance(CLSID_SampleGrabber?NULL?CLSCTX_INPROC_SERVER?
IID_IbaseFilter?(LPVOID?*)&m_pSampleGrabberFilter);
hr?=?m_pGraph->QueryInterface(IID_IMediaControl?(void?**)?&m_pMediaControl);
hr?=?m_pGraph->QueryInterface(IID_IMediaEvent?(void?**)?&m_pMediaEvent);
hr?=?CoCreateInstance(CLSID_NullRenderer?NULL?CLSCTX_INPROC_SERVER
IID_IbaseFilter?(LPVOID*)?&m_pNullFilter);
hr?=?m_pGraph->AddFilter(m_pNullFilter?L“NullRendere
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????61??2018-01-19?13:48??calibration\calibdata1.txt
?????文件?????????61??2018-01-19?13:48??calibration\calibdata2.txt
?????文件???????1058??2018-01-19?13:50??calibration\caliberation_result.txt
?????文件????????533??2018-01-19?13:50??calibration\caliberation_result1.txt
?????文件????????525??2018-01-19?13:50??calibration\caliberation_result2.txt
?????文件??????11605??2011-04-30?16:26??calibration\CameraDS.cpp
?????文件???????3302??2011-04-30?16:26??calibration\CameraDS.h
????.......?????????1??2009-08-31?02:32??calibration\ClassDiagram1.cd
?????文件????????277??2007-05-29?14:05??calibration\cvut.h
?????文件???????5204??2016-10-05?15:01??calibration\cvutImage.h
?????文件??????16537??2017-03-22?10:29??calibration\cvutMatrix.h
?????文件???????6162??2017-03-22?10:29??calibration\cvutSeq.h
?????文件???????6442??2007-05-29?14:34??calibration\cvutUtil.h
?????文件???????6900??2016-10-11?21:05??calibration\CvvImage.cpp
?????文件???????1662??2016-09-08?17:25??calibration\CvvImage.h
?????文件???????5022??2018-05-05?10:08??calibration\Debug\BscMake.command.1.tlog
?????文件???????6214??2018-05-05?10:08??calibration\Debug\bscmake.read.1.tlog
?????文件???????4050??2018-05-05?10:08??calibration\Debug\bscmake.write.1.tlog
?????文件????5760054??2016-12-08?16:51??calibration\Debug\Cam1.0.bmp
?????文件????5760054??2016-12-11?20:05??calibration\Debug\Cam1.bmp
?????文件????5760054??2016-12-08?10:52??calibration\Debug\Cam2.bmp
?????文件?????208049??2018-05-05?10:08??calibration\Debug\CameraDS.obj
?????文件??????????0??2018-05-05?10:08??calibration\Debug\CameraDS.sbr
?????文件??????23914??2018-05-05?10:08??calibration\Debug\cl.command.1.tlog
?????文件?????601406??2018-05-05?10:08??calibration\Debug\CL.read.1.tlog
?????文件??????18302??2018-05-05?10:08??calibration\Debug\CL.write.1.tlog
?????文件?????146171??2018-05-05?10:08??calibration\Debug\CvvImage.obj
?????文件??????????0??2018-05-05?10:08??calibration\Debug\CvvImage.sbr
?????文件?????287784??2013-05-07?11:44??calibration\Debug\DVP_CAMSDK.dll
?????文件??????????2??2018-05-05?10:08??calibration\Debug\li
............此處省略342個文件信息
評論
共有 條評論