• 大小: 8.5MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-07
  • 语言: C/C++
  • 标签:

资源简介

基于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.embed.manifest

     文件       1260  2013-01-04 17:07  BASLER--多路单路,采集,类分装\例子程序\CaqTest\Debug\BaslerCam.exe.embed.manifest.res

     文件       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个文件信息

评论

共有 条评论

相关资源