hustkks

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;
}

分类:

技术点:

相关文章: