資源簡介
一個簡單的攝像機定標與立體匹配測試程序--基于MFC和OpenCV,詳細使用說明請參見 http://yuhuazou.sinaapp.com/2012/10/30/a_simple_camer…ram_mfc_opencv/

代碼片段和文件信息
//////////////////////////////////////////////////////////////////////
//?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復制到你的項目中
//???2.?菜單?Project->Settings->Settings?for:(All?configurations)->C/C++->Category(Preprocessor)->Additional?include?directories
//??????設置為?DirectShow/Include
//???3.?菜單?Project->Settings->Settings?for:(All?configurations)->link->Category(Input)->Additional?library?directories
//??????設置為?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“NullRende
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-10-30?15:20??StereoVision\
?????文件??????448354??2012-10-30?15:20??StereoVision\readme.docx
?????目錄???????????0??2012-10-30?15:20??StereoVision\StereoVision\
?????文件????????1257??2012-10-25?16:10??StereoVision\StereoVision.sln
?????文件???????53760??2012-10-30?15:20??StereoVision\StereoVision.suo
?????文件???????11607??2009-10-30?23:24??StereoVision\StereoVision\CameraDS.cpp
?????文件????????3317??2012-10-14?14:02??StereoVision\StereoVision\CameraDS.h
?????文件????????6741??2011-11-12?06:18??StereoVision\StereoVision\CvvImage.cpp
?????文件????????2024??2011-11-12?06:17??StereoVision\StereoVision\CvvImage.h
?????目錄???????????0??2012-10-21?21:20??StereoVision\StereoVision\DirectShow\
?????目錄???????????0??2012-10-21?21:20??StereoVision\StereoVision\DirectShow\Include\
?????文件?????????631??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\activecf.h
?????文件????????1826??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\amaudio.h
?????文件????????1065??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\amparse.h
?????文件???????73261??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\amstream.h
?????文件????????3974??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\amva.h
?????文件???????19851??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\Amvideo.h
?????文件????????1097??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\atsmedia.h
?????文件????????1532??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\audevcod.h
?????文件???????20543??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\austream.h
?????文件???????13805??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\aviriff.h
?????文件????????6820??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\ba
?????文件??????125594??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\bdaiface.h
?????文件???????54539??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\bdamedia.h
?????文件???????53527??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\Bdatif.h
?????文件???????15486??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\bdatypes.h
?????文件?????????944??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\comlite.h
?????文件??????178266??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\control.h
?????文件???????88071??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\d3d.h
?????文件???????72232??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\d3d8.h
?????文件???????16088??2008-02-27?14:52??StereoVision\StereoVision\DirectShow\Include\d3d8caps.h
............此處省略151個文件信息
評論
共有 條評論