|
|
|
@ -258,8 +258,8 @@ CMFCPropertyGridProperty *CCamera::CreatGridProperty()
|
|
|
|
|
pPropertie->WriteRead(true);//读取保存的属性
|
|
|
|
|
|
|
|
|
|
//添加属性显示
|
|
|
|
|
PropertyName = _T("视场2基准坐标x");
|
|
|
|
|
Description = _T("CCD2 的视场基准点相对于平台原点的坐标(单位:mm)");
|
|
|
|
|
PropertyName = _T("视场2相对坐标x");
|
|
|
|
|
Description = _T("CCD2 的视场中心相对于CCD1中心的坐标(单位:mm)");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Coord2.x, Description);
|
|
|
|
|
pGroup->AddSubItem(p1);
|
|
|
|
|
|
|
|
|
@ -277,8 +277,8 @@ CMFCPropertyGridProperty *CCamera::CreatGridProperty()
|
|
|
|
|
pPropertie->WriteRead(true);//读取保存的属性
|
|
|
|
|
|
|
|
|
|
//添加属性显示
|
|
|
|
|
PropertyName = _T("视场2基准坐标y");
|
|
|
|
|
Description = _T("CCD2 的视场基准点相对于平台原点的坐标(单位:mm)");
|
|
|
|
|
PropertyName = _T("视场2相对坐标y");
|
|
|
|
|
Description = _T("CCD2 的视场中心相对于CCD1中心的坐标(单位:mm)");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Coord2.y, Description);
|
|
|
|
|
pGroup->AddSubItem(p1);
|
|
|
|
|
|
|
|
|
@ -288,7 +288,7 @@ CMFCPropertyGridProperty *CCamera::CreatGridProperty()
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
//添加属性变量映射
|
|
|
|
|
Name = _T("m_Size_w");//变量名字
|
|
|
|
|
Name = _T("m_Size_w_pix");//变量名字
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_Size.w);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
@ -299,7 +299,7 @@ CMFCPropertyGridProperty *CCamera::CreatGridProperty()
|
|
|
|
|
|
|
|
|
|
//添加属性显示
|
|
|
|
|
PropertyName = _T("视场宽度");
|
|
|
|
|
Description = _T("CCD 视场的实际宽度(单位:mm)");
|
|
|
|
|
Description = _T("CCD 视场的实际像素宽度(单位:像素)");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Size.w, Description);
|
|
|
|
|
pGroup->AddSubItem(p1);
|
|
|
|
|
|
|
|
|
@ -307,7 +307,7 @@ CMFCPropertyGridProperty *CCamera::CreatGridProperty()
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//添加属性变量映射
|
|
|
|
|
Name = _T("m_Size_h");//变量名字
|
|
|
|
|
Name = _T("m_Size_h_pix");//变量名字
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_Size.h);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
@ -318,7 +318,7 @@ CMFCPropertyGridProperty *CCamera::CreatGridProperty()
|
|
|
|
|
|
|
|
|
|
//添加属性显示
|
|
|
|
|
PropertyName = _T("视场高度");
|
|
|
|
|
Description = _T("CCD 视场的实际高度(单位:mm)");
|
|
|
|
|
Description = _T("CCD 视场的实际像素高度(单位:像素)");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_Size.h, Description);
|
|
|
|
|
pGroup->AddSubItem(p1);
|
|
|
|
|
|
|
|
|
@ -348,6 +348,7 @@ void CCamera::Draw(CDC* pDC)
|
|
|
|
|
void CCamera::SetCoord(Dbxy pt)
|
|
|
|
|
{
|
|
|
|
|
m_Coord = pt;
|
|
|
|
|
//m_Coord2=pt+
|
|
|
|
|
//强制保存所有的属性到文件
|
|
|
|
|
gDevicePropertieMgr.SaveAllPropertie();
|
|
|
|
|
}
|
|
|
|
@ -377,7 +378,7 @@ Dbxy CCamera::GetCoord()
|
|
|
|
|
{
|
|
|
|
|
if (m_CamIndex != 0)
|
|
|
|
|
{
|
|
|
|
|
return m_Coord2;
|
|
|
|
|
return m_Coord+m_Coord2;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
@ -410,13 +411,6 @@ Dbxy CCamera::CCDcoord2Platformcoord(Dbxy CCDpt)
|
|
|
|
|
LogStr.Format(_T("CCDcoord2Platformcoord : CCD 返回值[x] = [%0.3f] ,[y] = [%0.3f]"),CCDpt.x,CCDpt.y);
|
|
|
|
|
gLogMgr->WriteDebugLog(LogStr);
|
|
|
|
|
|
|
|
|
|
//像素坐标转换为mm 单位坐标-----------------------
|
|
|
|
|
if(m_bPixCoord)
|
|
|
|
|
{
|
|
|
|
|
CCDpt.x *= m_OnePixDis;
|
|
|
|
|
CCDpt.y *= m_OnePixDis;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(((CCDpt.x<0)||(CCDpt.x>m_Size.w))||((CCDpt.y<0)||(CCDpt.y>m_Size.h)))//避免错误的返回值
|
|
|
|
|
{
|
|
|
|
|
CString str = _T("定位抓取失败");
|
|
|
|
@ -424,7 +418,15 @@ Dbxy CCamera::CCDcoord2Platformcoord(Dbxy CCDpt)
|
|
|
|
|
Msg.SetMsg(str);
|
|
|
|
|
throw Msg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//像素坐标转换为mm 单位坐标-----------------------
|
|
|
|
|
if (m_bPixCoord)
|
|
|
|
|
{
|
|
|
|
|
CCDpt.x = CCDpt.x - (m_Size.w / 2);
|
|
|
|
|
CCDpt.y = (m_Size.h / 2)- CCDpt.y;
|
|
|
|
|
|
|
|
|
|
CCDpt.x *= m_OnePixDis;
|
|
|
|
|
CCDpt.y *= m_OnePixDis;
|
|
|
|
|
}
|
|
|
|
|
LogStr.Format(_T("[MM_Coordx] = [%0.3f] ,[MM_Coordy] = [%0.3f]"),CCDpt.x,CCDpt.y);
|
|
|
|
|
gLogMgr->WriteDebugLog(LogStr);
|
|
|
|
|
|
|
|
|
@ -444,11 +446,11 @@ Dbxy CCamera::CCDcoord2Platformcoord(Dbxy CCDpt)
|
|
|
|
|
pt.x -= PlatformPt.x;
|
|
|
|
|
pt.y -= PlatformPt.y;
|
|
|
|
|
#else
|
|
|
|
|
Dbxy CameraCoord = m_Coord; //GetCenterPt();
|
|
|
|
|
if (m_CamIndex != 0)
|
|
|
|
|
Dbxy CameraCoord = GetCoord(); //GetCenterPt();
|
|
|
|
|
/*if (m_CamIndex != 0)
|
|
|
|
|
{
|
|
|
|
|
CameraCoord = m_Coord2;
|
|
|
|
|
}
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
LogStr.Format(_T("[CameraCoord.x] = [%0.3f] ,[CameraCoord.y] = [%0.3f]"),CameraCoord.x,CameraCoord.y);
|
|
|
|
|
gLogMgr->WriteDebugLog(LogStr);
|
|
|
|
@ -459,14 +461,17 @@ Dbxy CCamera::CCDcoord2Platformcoord(Dbxy CCDpt)
|
|
|
|
|
}
|
|
|
|
|
LogStr.Format(_T("[PlatformCoord.x] = [%0.3f] ,[PlatformCoord.y] = [%0.3f]"),PlatformPt.x,PlatformPt.y);
|
|
|
|
|
gLogMgr->WriteDebugLog(LogStr);
|
|
|
|
|
CameraCoord.x = CameraCoord.x - PlatformPt.x;
|
|
|
|
|
CameraCoord.y = CameraCoord.y + PlatformPt.y;
|
|
|
|
|
LogStr.Format(_T("[CameraCoord_Now.x] = [%0.3f] ,[CameraCoord_Now.y] = [%0.3f]"),CameraCoord.x,CameraCoord.y);
|
|
|
|
|
|
|
|
|
|
Dbxy TheoryPt;
|
|
|
|
|
TheoryPt.x = CameraCoord.x - PlatformPt.x;
|
|
|
|
|
TheoryPt.y = CameraCoord.y + PlatformPt.y;
|
|
|
|
|
|
|
|
|
|
LogStr.Format(_T("[TheoryPtCoord_Now.x] = [%0.3f] ,[TheoryPtCoord_Now.y] = [%0.3f]"),CameraCoord.x,CameraCoord.y);
|
|
|
|
|
gLogMgr->WriteDebugLog(LogStr);
|
|
|
|
|
|
|
|
|
|
Dbxy pt;
|
|
|
|
|
pt.x = CameraCoord.x + CCDpt.x;
|
|
|
|
|
pt.y = CameraCoord.y - CCDpt.y;
|
|
|
|
|
pt.x = TheoryPt.x + CCDpt.x;
|
|
|
|
|
pt.y = TheoryPt.y + CCDpt.y;
|
|
|
|
|
|
|
|
|
|
LogStr.Format(_T("[CatchPt.x] = [%0.3f] ,[CatchPt.y] = [%0.3f]"),pt.x,pt.y);
|
|
|
|
|
gLogMgr->WriteDebugLog(LogStr);
|
|
|
|
@ -481,8 +486,8 @@ bool CCamera::CatchPtToPlatformcoord(Dbxy &pt)
|
|
|
|
|
if(!m_bCatch)//不实际抓取
|
|
|
|
|
{
|
|
|
|
|
ret = true;
|
|
|
|
|
CatchPt.x = 1296;
|
|
|
|
|
CatchPt.y = 972;
|
|
|
|
|
CatchPt.x = 1296;
|
|
|
|
|
CatchPt.y = 972;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|