bool CThreadDetectionSystem2008Dlg::openCamera(void)
{
HTuple FileExists;
file_exists("D:/Data", &FileExists);
if (0 == FileExists)
{
CreateDirectory(_T("D:/Data"),NULL);
}
HTuple AVTname;
file_exists("D:/Data/AVTNames.txt", &AVTname);
if (1 == AVTname)
{
LPCTSTR fileName=_T("D:/Data/AVTNames.txt");
CStdioFile openfile(fileName,CFile::modeCreate|CFile::modeNoTruncate);
CString str;
int i=0;
while(openfile.ReadString(str)) //读相机名称数据
{
AVTNames.Add(str);//加入列表框
i++;
}
openfile.Close();
//关闭文件
if (i==2)
{
m_strCamera1=AVTNames[0];
m_strCamera2=AVTNames[1];
}
else
{
HTuple Information, ValueList, FileHandle;
info_framegrabber("1394IIDC", "device",&Information, &ValueList);
open_file("D:/Data/AVTnames.txt", "output", &FileHandle);
fwrite_string(FileHandle, ValueList[0]);
fwrite_string(FileHandle, "\n");
fwrite_string(FileHandle, ValueList[1]);
close_file(FileHandle);
}
}
else
{
HTuple Information, Information1,ValueList, ValueList1,FileHandle;
info_framegrabber("1394IIDC", "info_boards", &Information, &ValueList);
// info_framegrabber("1394IIDC", "device",&Information, &ValueList);
open_file("D:/Data/AVTnamesInfor.txt", "output", &FileHandle);
fwrite_string(FileHandle, Information);
fwrite_string(FileHandle, ValueList);
close_file(FileHandle);
write_string(m_hWind1, "相机序号文件不存在!");
info_framegrabber("1394IIDC", "device",&Information1, &ValueList1);
open_file("D:/Data/AVTnames.txt", "output", &FileHandle);
fwrite_string(FileHandle, ValueList1[0]);
fwrite_string(FileHandle, "\n");
fwrite_string(FileHandle, ValueList1[1]);
close_file(FileHandle);
}
ReadCamerapara(CAM_PARA_FILE);
int nResult=0;
nResult=open_framegrabber("1394IIDC", 1, 1, 0, 0, 0, 0, "progressive", 8, "default", -1,
"false", "7:0:0", m_strCamera1, 0, -1, &m_hAcqHandle1);//"true"为外触发
//grab_image_start(AcqHandle, -1);
if(nResult==NOERROR_OPEN_GRAB)
{
m_bGrab1=true;
set_framegrabber_param(m_hAcqHandle1,"external_trigger",true);
set_framegrabber_param(m_hAcqHandle1, "camera_type", "7:0:0");
set_framegrabber_param(m_hAcqHandle1, "brightness", m_nBright[0]);
set_framegrabber_param(m_hAcqHandle1, "exposure", 10);
set_framegrabber_param(m_hAcqHandle1, "shutter", m_nShutter[0]);
set_framegrabber_param(m_hAcqHandle1, "video_gain", m_nGain[0]);
set_framegrabber_param(m_hAcqHandle1, "grab_timeout", 200000000);
set_framegrabber_param(m_hAcqHandle1,"packet_size",2000);
//Hlong asd;
//set_framegrabber_callback(m_hAcqHandle1,"transfer_end", , asd);
grab_image_start(m_hAcqHandle1, -1);
}
else
{
m_bGrab1=false;
write_string(m_hWind1, "相机1打开失败,请检查序列号和相机连接!");
}
nResult=open_framegrabber("1394IIDC", 1, 1, 0, 0, 0, 0, "progressive", 8, "default", -1,
"false", "default", m_strCamera2, 0, -1, &m_hAcqHandle2);
if(nResult==NOERROR_OPEN_GRAB)
{
m_bGrab2=true;
set_framegrabber_param(m_hAcqHandle2,"external_trigger",true);
set_framegrabber_param(m_hAcqHandle2, "camera_type", "7:0:0");
set_framegrabber_param(m_hAcqHandle2, "brightness", m_nBright[1]);
set_framegrabber_param(m_hAcqHandle2, "exposure", 10);
set_framegrabber_param(m_hAcqHandle2, "shutter", m_nShutter[1]);
set_framegrabber_param(m_hAcqHandle2, "video_gain", m_nGain[1]);
set_framegrabber_param(m_hAcqHandle2, "grab_timeout", 200000);
set_framegrabber_param(m_hAcqHandle2,"packet_size",2000);
grab_image_start(m_hAcqHandle2, -1); //初始化两个AVT相机
}
else
{ m_bGrab2=false;
write_string(m_hWind2, "相机2打开失败,请检查序列号和相机连接!");
}
return true;
}