资源简介
基于C++的basler多相机采集的例子程序,里面包含了软件和硬件出发模式
代码片段和文件信息
#include “stdafx.h“
#include “BaslerCamera.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
static int G_total_CamNum = 0;
static CInstantCameraArray G_cameras(BASLER_USED_CAM);
BaslerCamera::BaslerCamera()
{
Pylon::PylonAutoInitTerm autoInitTerm;
nCurrentIndex = -1;
}
BaslerCamera::~BaslerCamera()
{
}
int BaslerCamera::InitAll()
{
int nCamNum = 0;
try
{
Pylon::CTlFactory& tlFactory = CTlFactory::GetInstance();
DeviceInfoList_t devices;
nCamNum = tlFactory.EnumerateDevices(devices);
int nums=(int)G_cameras.GetSize() ;
if( nCamNum < nums)
{
CString str;
str.Format(_T(“Not enough camera current camera num is %d.“) nCamNum );
AfxMessageBox(str);
}
else
{
for ( size_t i = 0; i < G_cameras.GetSize(); i++)
{
if(G_cameras[ i ].IsPylonDeviceAttached())
{
G_cameras[ i ].DetachDevice();
G_cameras[ i ].DestroyDevice();
}
G_cameras[ i ].Attach( tlFactory.CreateDevice( devices[ i ]));
}
/* int nCamerasNum[BASLER_USED_CAM] = {0};
for ( size_t i = 0; i < G_cameras.GetSize(); i++)
{
int j = 0;
for (DeviceInfoList_t::iterator it = devices.begin (); it != devices.end (); it++)
{
if((*it).GetUserDefinedName ().c_str () == csDeviceUserID[i] && nCamerasNum[i] == 0)
{
G_cameras[ i ].Attach( tlFactory.CreateDevice( devices[ j ]));
nCamerasNum[i]++;
}
j++;
}
}*/
G_total_CamNum = nCamNum;
}
}
catch (GenICam::GenericException &e)
{
CString str;
str.Format(_T(“InitAll() error: %s“)e.GetDescription());
AfxMessageBox(str);
}
return nCamNum ;
}
bool BaslerCamera::SetCurrentIndex(int index)
{
bool btn = true;
if(index >=0 && index < BASLER_USED_CAM)
{
nCurrentIndex = index;
}
else
{
btn = false;
}
return btn;
}
bool BaslerCamera::ReInit()
{
bool btn = true;
try
{
// Create a device info object for remembering the camera properties.
CDeviceInfo info;
// Remember the camera properties that allow detecting the same camera again.
info.SetDeviceClass( G_cameras[nCurrentIndex] .GetDeviceInfo().GetDeviceClass());
info.SetSerialNumber( G_cameras[nCurrentIndex] .GetDeviceInfo().GetSerialNumber());
// Destroy the Pylon Device representing the detached camera device.
// It cannot be used anymore.
G_cameras[nCurrentIndex] .DestroyDevice();
DeviceInfoList_t filter;
filter.push_back( info);
DeviceInfoList_t devices;
CTlFactory& tlFactory = CTlFactory::GetInstance();
if ( tlFactory.EnumerateDevices(devices filter) > 0 )
{
// The camera has been found. Create and attach it to the Instant Camera object.
G_cameras[nCurrentIndex] .Attach( tlFactory.CreateDevice( devices[0]));
}
else
{
btn = false;
}
}
catch (GenICam::GenericException &e)
{
CString str;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4664320 2014-04-22 09:21 BASLER--多路单路,采集,类分装\例子程序\BaslerCamTest.ncb
文件 889 2013-01-04 16:50 BASLER--多路单路,采集,类分装\例子程序\BaslerCamTest.sln
文件 886 2012-05-26 12:57 BASLER--多路单路,采集,类分装\例子程序\BaslerCamTest.sln.old
..A..H. 121856 2014-04-22 09:21 BASLER--多路单路,采集,类分装\例子程序\BaslerCamTest.suo
..A..H. 115200 2012-07-16 16:04 BASLER--多路单路,采集,类分装\例子程序\BaslerCamTest.suo.old
文件 20789 2014-04-01 09:52 BASLER--多路单路,采集,类分装\例子程序\CaqTest\BaslerCamera.cpp
文件 1654 2013-01-04 17:15 BASLER--多路单路,采集,类分装\例子程序\CaqTest\BaslerCamera.h
文件 2520 2012-05-25 10:34 BASLER--多路单路,采集,类分装\例子程序\CaqTest\cameraconfiguration.h
文件 44256 2013-01-04 16:51 BASLER--多路单路,采集,类分装\例子程序\CaqTest\CaqTest.aps
文件 2097 2012-05-26 12:57 BASLER--多路单路,采集,类分装\例子程序\CaqTest\CaqTest.cpp
文件 510 2012-05-26 12:57 BASLER--多路单路,采集,类分装\例子程序\CaqTest\CaqTest.h
文件 5982 2012-07-16 15:39 BASLER--多路单路,采集,类分装\例子程序\CaqTest\CaqTest.rc
文件 6466 2013-01-04 17:06 BASLER--多路单路,采集,类分装\例子程序\CaqTest\CaqTest.vcproj
文件 6496 2012-07-16 14:12 BASLER--多路单路,采集,类分装\例子程序\CaqTest\CaqTest.vcproj.8.00.old
文件 1427 2012-05-30 17:21 BASLER--多路单路,采集,类分装\例子程序\CaqTest\CaqTest.vcproj.AE9313F0538046A.Administrator.user
文件 1427 2012-05-28 23:30 BASLER--多路单路,采集,类分装\例子程序\CaqTest\CaqTest.vcproj.MVLZ-1BFD74C462.mvlz.user
文件 1417 2012-07-16 16:04 BASLER--多路单路,采集,类分装\例子程序\CaqTest\CaqTest.vcproj.MVLZ-THINK.MVLZ.user
文件 1427 2014-04-22 09:21 BASLER--多路单路,采集,类分装\例子程序\CaqTest\CaqTest.vcproj.PXQKCM4A098QQZD.Administrator.user
文件 1401 2013-01-21 10:12 BASLER--多路单路,采集,类分装\例子程序\CaqTest\CaqTest.vcproj.SKD.yj.user
文件 10566 2013-01-04 17:10 BASLER--多路单路,采集,类分装\例子程序\CaqTest\CaqTestDlg.cpp
文件 1905 2012-07-16 15:40 BASLER--多路单路,采集,类分装\例子程序\CaqTest\CaqTestDlg.h
文件 1196 2013-01-04 17:07 BASLER--多路单路,采集,类分装\例子程序\CaqTest\Debug\BaslerCam.exe.em
文件 1260 2013-01-04 17:07 BASLER--多路单路,采集,类分装\例子程序\CaqTest\Debug\BaslerCam.exe.em
文件 1120 2013-01-04 17:15 BASLER--多路单路,采集,类分装\例子程序\CaqTest\Debug\BaslerCam.exe.intermediate.manifest
文件 292250 2013-01-04 17:14 BASLER--多路单路,采集,类分装\例子程序\CaqTest\Debug\BaslerCamera.obj
文件 8026 2013-01-04 17:15 BASLER--多路单路,采集,类分装\例子程序\CaqTest\Debug\BuildLog.htm
文件 94299 2013-01-04 17:15 BASLER--多路单路,采集,类分装\例子程序\CaqTest\Debug\CaqTest.obj
文件 24180 2013-01-04 16:53 BASLER--多路单路,采集,类分装\例子程序\CaqTest\Debug\CaqTest.res
文件 147322 2013-01-04 17:15 BASLER--多路单路,采集,类分装\例子程序\CaqTest\Debug\CaqTestDlg.obj
文件 6823 2013-01-04 17:06 BASLER--多路单路,采集,类分装\例子程序\CaqTest\Debug\DemoTimer.obj
............此处省略41个文件信息
- 上一篇:MFC资源大全 mfc插件
- 下一篇:Redis-尚硅谷-周阳(mmap格式文件
评论
共有 条评论