|
|
|
@ -81,7 +81,7 @@ void DlgHawkvisCamera::DoDataExchange(CDataExchange* pDX)
|
|
|
|
|
DDX_Control(pDX, IDC_TEST_CATCH_TEMP2, m_TestDefinitionBtn);
|
|
|
|
|
DDX_Control(pDX, IDC_TEST_CATCH_TEMP3, m_SetThresholdBtn);
|
|
|
|
|
|
|
|
|
|
DDX_Text(pDX, IDC_EDIT_SET_EXP2, m_CurTrackThreshold );
|
|
|
|
|
DDX_Text(pDX, IDC_EDIT_SET_EXP2, m_CurTrackThreshold);
|
|
|
|
|
DDX_Text(pDX, IDC_STATIC_CurValue, m_CurPic_Definition);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -130,11 +130,11 @@ void DlgHawkvisCamera::UpdateInfo()
|
|
|
|
|
}
|
|
|
|
|
void DlgHawkvisCamera::Fresh()
|
|
|
|
|
{
|
|
|
|
|
SetTimer(WORK_TIMER1,WORK_TIME_DELAY1,NULL);//用timer来更新,否则会报错
|
|
|
|
|
SetTimer(WORK_TIMER1, WORK_TIME_DELAY1, NULL);//用timer来更新,否则会报错
|
|
|
|
|
}
|
|
|
|
|
void DlgHawkvisCamera::OnTimer(UINT nIDEvent)
|
|
|
|
|
{
|
|
|
|
|
if(nIDEvent == WORK_TIMER1)
|
|
|
|
|
if (nIDEvent == WORK_TIMER1)
|
|
|
|
|
{
|
|
|
|
|
UpdateInfo();
|
|
|
|
|
//KillTimer(WORK_TIMER1);
|
|
|
|
@ -145,11 +145,11 @@ void DlgHawkvisCamera::OnTimer(UINT nIDEvent)
|
|
|
|
|
#if 1
|
|
|
|
|
void DlgHawkvisCamera::OnBnClickedOpenCam()
|
|
|
|
|
{
|
|
|
|
|
#ifdef __HAWKVIS_MINDVISION_CCD__
|
|
|
|
|
if(m_HawkvisCtrl.MV_OpenCamera())
|
|
|
|
|
#else
|
|
|
|
|
if(m_HawkvisCtrl.HV_OpenCamera())
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef __HAWKVIS_MINDVISION_CCD__
|
|
|
|
|
if (m_HawkvisCtrl.MV_OpenCamera())
|
|
|
|
|
#else
|
|
|
|
|
if (m_HawkvisCtrl.HV_OpenCamera())
|
|
|
|
|
#endif
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog("Hawkvis : Open Cam ---->OK");
|
|
|
|
|
}
|
|
|
|
@ -158,21 +158,21 @@ void DlgHawkvisCamera::OnBnClickedOpenCam()
|
|
|
|
|
}
|
|
|
|
|
void DlgHawkvisCamera::OnBnClickedCloseCam()
|
|
|
|
|
{
|
|
|
|
|
#ifdef __HAWKVIS_MINDVISION_CCD__
|
|
|
|
|
#ifdef __HAWKVIS_MINDVISION_CCD__
|
|
|
|
|
m_HawkvisCtrl.MV_CloseCamera();
|
|
|
|
|
#else
|
|
|
|
|
#else
|
|
|
|
|
m_HawkvisCtrl.HV_CloseCamera();
|
|
|
|
|
#endif
|
|
|
|
|
#endif
|
|
|
|
|
gLogMgr->WriteDebugLog("Hawkvis : Close Cam");
|
|
|
|
|
}
|
|
|
|
|
void DlgHawkvisCamera::OnBnClickedFrameOne()
|
|
|
|
|
{
|
|
|
|
|
m_HawkvisCtrl.SetCrossShow(1,30,30,-1,-1,FALSE);
|
|
|
|
|
#ifdef __HAWKVIS_MINDVISION_CCD__
|
|
|
|
|
if(m_HawkvisCtrl.MV_GetOneFrame())
|
|
|
|
|
#else
|
|
|
|
|
if(m_HawkvisCtrl.HV_GetOneFrame())
|
|
|
|
|
#endif
|
|
|
|
|
m_HawkvisCtrl.SetCrossShow(1, 30, 30, -1, -1, FALSE);
|
|
|
|
|
#ifdef __HAWKVIS_MINDVISION_CCD__
|
|
|
|
|
if (m_HawkvisCtrl.MV_GetOneFrame())
|
|
|
|
|
#else
|
|
|
|
|
if (m_HawkvisCtrl.HV_GetOneFrame())
|
|
|
|
|
#endif
|
|
|
|
|
{
|
|
|
|
|
//m_HawkvisCtrl.Rotate180();
|
|
|
|
|
m_HawkvisCtrl.ZoomFitWindow();
|
|
|
|
@ -185,12 +185,12 @@ void DlgHawkvisCamera::OnBnClickedFrameOne()
|
|
|
|
|
}
|
|
|
|
|
void DlgHawkvisCamera::OnBnClickedFrameContinue()
|
|
|
|
|
{
|
|
|
|
|
m_HawkvisCtrl.SetCrossShow(1,30,30,-1,-1,((CButton*)GetDlgItem(IDC_CROSS_CHECK))->GetCheck());
|
|
|
|
|
#ifdef __HAWKVIS_MINDVISION_CCD__
|
|
|
|
|
if(m_HawkvisCtrl.MV_GetContinueFrame())
|
|
|
|
|
#else
|
|
|
|
|
if(m_HawkvisCtrl.HV_GetContinueFrame())
|
|
|
|
|
#endif
|
|
|
|
|
m_HawkvisCtrl.SetCrossShow(1, 30, 30, -1, -1, ((CButton*)GetDlgItem(IDC_CROSS_CHECK))->GetCheck());
|
|
|
|
|
#ifdef __HAWKVIS_MINDVISION_CCD__
|
|
|
|
|
if (m_HawkvisCtrl.MV_GetContinueFrame())
|
|
|
|
|
#else
|
|
|
|
|
if (m_HawkvisCtrl.HV_GetContinueFrame())
|
|
|
|
|
#endif
|
|
|
|
|
{
|
|
|
|
|
m_HawkvisCtrl.ZoomFitWindow();
|
|
|
|
|
gLogMgr->WriteDebugLog("Hawkvis : FrameContinue --OK");
|
|
|
|
@ -208,15 +208,15 @@ void DlgHawkvisCamera::OnBnClickedSaveBmp()
|
|
|
|
|
{
|
|
|
|
|
CFileMgr FileMgr;
|
|
|
|
|
CString path = FileMgr.GetWorkPath();
|
|
|
|
|
m_HawkvisCtrl.WriteImage((LPCTSTR)path,"OutputImg");
|
|
|
|
|
m_HawkvisCtrl.WriteImage((LPCTSTR)path, "OutputImg");
|
|
|
|
|
gLogMgr->WriteDebugLog("Hawkvis : SaveBmp");
|
|
|
|
|
}
|
|
|
|
|
//设置曝光值
|
|
|
|
|
void DlgHawkvisCamera::OnBnClickedSetExpore()
|
|
|
|
|
{
|
|
|
|
|
UpdateData(TRUE);
|
|
|
|
|
#ifdef __HAWKVIS_MINDVISION_CCD__
|
|
|
|
|
if (m_DlgCurCamIndex==0)
|
|
|
|
|
#ifdef __HAWKVIS_MINDVISION_CCD__
|
|
|
|
|
if (m_DlgCurCamIndex == 0)
|
|
|
|
|
{
|
|
|
|
|
gCameraHawkvis->m_nCam1Expore = m_nExpore;
|
|
|
|
|
}
|
|
|
|
@ -225,9 +225,9 @@ void DlgHawkvisCamera::OnBnClickedSetExpore()
|
|
|
|
|
gCameraHawkvis->m_nCam2Expore = m_nExpore;
|
|
|
|
|
}
|
|
|
|
|
m_HawkvisCtrl.MV_SetCameraExpTime(m_nExpore);
|
|
|
|
|
#else
|
|
|
|
|
#else
|
|
|
|
|
m_HawkvisCtrl.HV_SetCameraExpTime(m_nExpore);
|
|
|
|
|
#endif
|
|
|
|
|
#endif
|
|
|
|
|
gLogMgr->WriteDebugLog("Hawkvis : SetExpore");
|
|
|
|
|
OnBnClickedFrameOne();
|
|
|
|
|
}
|
|
|
|
@ -256,6 +256,8 @@ void DlgHawkvisCamera::OnBnClickedCreatCatchTemp()
|
|
|
|
|
}
|
|
|
|
|
void DlgHawkvisCamera::OnBnClickedTestCatchTemp()
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
//清除之前绘制的圆
|
|
|
|
|
m_HawkvisCtrl.ClearGraphicObject();
|
|
|
|
|
//抓取一帧
|
|
|
|
@ -266,9 +268,6 @@ void DlgHawkvisCamera::OnBnClickedTestCatchTemp()
|
|
|
|
|
#endif
|
|
|
|
|
{
|
|
|
|
|
CString str = _T("func : Hawkvis Get One Frame----->Error");
|
|
|
|
|
//CExceptionMsg Msg;
|
|
|
|
|
//Msg.SetMsg(str);
|
|
|
|
|
//throw Msg;
|
|
|
|
|
gLogMgr->WriteDebugLog(str);
|
|
|
|
|
}
|
|
|
|
|
Sleep(300);//等待数据结果输出到ocx 控件上
|
|
|
|
@ -332,6 +331,11 @@ void DlgHawkvisCamera::OnBnClickedTestCatchTemp()
|
|
|
|
|
gLogMgr->WriteDebugLog(str);
|
|
|
|
|
#endif
|
|
|
|
|
//gCommonFlowMgr->CameraCatch();
|
|
|
|
|
}
|
|
|
|
|
catch (...)
|
|
|
|
|
{
|
|
|
|
|
AfxMessageBox("模板匹配 异常!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void DlgHawkvisCamera::OnBnClickedLoadCatchTemp()
|
|
|
|
|
{
|
|
|
|
@ -359,7 +363,7 @@ void DlgHawkvisCamera::OnBnClickedSaveCatchTemp()
|
|
|
|
|
CFileMgr FileMgr;
|
|
|
|
|
CString path = FileMgr.GetWorkPath();
|
|
|
|
|
//auto b= m_HawkvisCtrl.SaveShapeModel((LPCTSTR)path);
|
|
|
|
|
auto b = m_HawkvisCtrl.SaveShapeModelByID(gCameraHawkvis->GetCurShapeModelID(),(LPCTSTR)path);
|
|
|
|
|
auto b = m_HawkvisCtrl.SaveShapeModelByID(gCameraHawkvis->GetCurShapeModelID(), (LPCTSTR)path);
|
|
|
|
|
CString str;
|
|
|
|
|
str.Format("Hawkvis : SaveCatchTemp [%d]", gCameraHawkvis->GetCurShapeModelID());
|
|
|
|
|
if (b)
|
|
|
|
@ -380,6 +384,8 @@ void DlgHawkvisCamera::OnBnClickedToCam1()
|
|
|
|
|
m_DlgCurCamIndex = 0;
|
|
|
|
|
gCameraHawkvis->SetCamIndex(0);
|
|
|
|
|
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
m_HawkvisCtrl.MV_CloseCamera();
|
|
|
|
|
if (m_HawkvisCtrl.MV_SelectAdapterByIdx(0))
|
|
|
|
|
{
|
|
|
|
@ -388,24 +394,12 @@ void DlgHawkvisCamera::OnBnClickedToCam1()
|
|
|
|
|
OnBnClickedLoadCatchTemp();//读取模板
|
|
|
|
|
m_HawkvisCtrl.MV_SetCameraExpTime(gCameraHawkvis->m_nCam1Expore);
|
|
|
|
|
m_nExpore = gCameraHawkvis->m_nCam1Expore;
|
|
|
|
|
//UpdateData(FALSE);
|
|
|
|
|
//OnBnClickedSetExpore();//设置曝光
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
m_HawkvisCtrl.SetCrossShow(1, 30, 30, -1, -1, ((CButton*)GetDlgItem(IDC_CROSS_CHECK))->GetCheck());
|
|
|
|
|
if (m_HawkvisCtrl.MV_GetOneFrame())
|
|
|
|
|
{
|
|
|
|
|
m_HawkvisCtrl.ZoomFitWindow();
|
|
|
|
|
}
|
|
|
|
|
/*else
|
|
|
|
|
{
|
|
|
|
|
static bool bfirst = true;
|
|
|
|
|
if (bfirst)
|
|
|
|
|
{
|
|
|
|
|
AfxMessageBox("相机1连续采集失败!");//报错一次
|
|
|
|
|
bfirst = false;
|
|
|
|
|
}
|
|
|
|
|
}*/
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
@ -416,6 +410,11 @@ void DlgHawkvisCamera::OnBnClickedToCam1()
|
|
|
|
|
AfxMessageBox("打开相机1失败!");//报错一次
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (...)
|
|
|
|
|
{
|
|
|
|
|
AfxMessageBox("切换至相机1发生异常!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
((CButton*)GetDlgItem(IDC_RADIO3))->SetCheck(TRUE);
|
|
|
|
|
((CButton*)GetDlgItem(IDC_RADIO1))->SetCheck(FALSE);
|
|
|
|
@ -428,6 +427,8 @@ void DlgHawkvisCamera::OnBnClickedToCam2()
|
|
|
|
|
m_DlgCurCamIndex = 1;
|
|
|
|
|
gCameraHawkvis->SetCamIndex(1);
|
|
|
|
|
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
m_HawkvisCtrl.MV_CloseCamera();
|
|
|
|
|
if (m_HawkvisCtrl.MV_SelectAdapterByIdx(1))
|
|
|
|
|
{
|
|
|
|
@ -454,6 +455,11 @@ void DlgHawkvisCamera::OnBnClickedToCam2()
|
|
|
|
|
bfirst = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (...)
|
|
|
|
|
{
|
|
|
|
|
AfxMessageBox("切换至相机2发生异常!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
((CButton*)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);
|
|
|
|
|
((CButton*)GetDlgItem(IDC_RADIO3))->SetCheck(FALSE);
|
|
|
|
@ -494,7 +500,7 @@ void DlgHawkvisCamera::OnBnClickedTestDefinition()
|
|
|
|
|
Sobel(imageSource, imageSobel, CV_16U, 1, 1);
|
|
|
|
|
m_CurPic_Definition = mean(imageSobel)[0];
|
|
|
|
|
PostMessage(WM_UPDATE_FALSE);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool DlgHawkvisCamera::bCurPicDefinitionOK()
|
|
|
|
|
{
|
|
|
|
@ -509,7 +515,7 @@ bool DlgHawkvisCamera::bCurPicDefinitionOK()
|
|
|
|
|
|
|
|
|
|
OnBnClickedTestDefinition();
|
|
|
|
|
|
|
|
|
|
if (m_CurTrackThreshold>0.1)
|
|
|
|
|
if (m_CurTrackThreshold > 0.1)
|
|
|
|
|
{
|
|
|
|
|
if (m_CurPic_Definition < m_CurTrackThreshold)
|
|
|
|
|
return false;
|
|
|
|
@ -527,6 +533,6 @@ void DlgHawkvisCamera::OnBnClickedSetThreshold()
|
|
|
|
|
return;
|
|
|
|
|
CString nameTail;
|
|
|
|
|
nameTail.Format("_T%d.def", m_DlgCurCamIndex);
|
|
|
|
|
CSmartArchive ar(FileName+ nameTail,true);
|
|
|
|
|
CSmartArchive ar(FileName + nameTail, true);
|
|
|
|
|
ar + m_CurTrackThreshold;
|
|
|
|
|
}
|
|
|
|
|