image soure相机的snap采图方式

一、     添加对应的LIB、DLL、 .h文件的相关路径

二、     在"stdafx.h"添加需要的头文件:#include"tisudshl.h"

三、     在程序CCP文件中添加相机的命名空间:using namespace DShowLib;

四、     程序整体框架:

 初始化程序

(直播模式)

DShowLib::FrameHandlerSink::tFHSPtr			m_pSink;
Grabber grabber;
if( !DShowLib::InitLibrary( "ISB3200016679" ) )
{return FALSE;}
grabber.showDevicePage();
// 创建sink(内存池)handle,设置内存池图像格式为eY800.
pSink = FrameHandlerSink::create( eY800, 1 );
// 设置snap(拍照)模式。true: snap取图模式;false: callback取图模式
pSink->setSnapMode( true );
// Apply the sink to the grabber,将设置的sink type应用到grabber类中
grabber.setSinkType( pSink );
// Start live mode for fast snapping. The live video will not be displayed,
	// because false is passed to startLive().
//开始snap采图模式,实时图像不再显示,因此需要将live模式设置为false
grabber.startLive(false);
 包括属性值初始化。。。。。。。。。


取图处理

(直播模式)

pSink-> snapImages(1);
    pSink->getLastAcqMemBuffer()->save( "image.bmp" );
}
或者取到一张图之后将内存数据丢给图像处理软件处理。

关闭程序退出

(直播模式)

if(grabber.isLive()) 
{
grabber.stopLive();
}
if (grabber.isDevOpen()) 
{
grabber.closeDev();
}
ExitLibrary();
等其他内存销毁处理







你可能感兴趣的:(image相机)