You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
2.3 KiB
C++
53 lines
2.3 KiB
C++
#pragma once
|
|
#include "GlobalDefine.h"
|
|
#include "module.h"
|
|
|
|
class CCamera:public CModule
|
|
{
|
|
public:
|
|
CCamera(void);
|
|
virtual ~CCamera(void);
|
|
virtual CMFCPropertyGridProperty *CreatGridProperty();
|
|
virtual void ExportPar(ofstream *pFile);
|
|
virtual void Draw(CDC* pDC);
|
|
virtual bool CatchPoint(Dbxy &pt){return false;};
|
|
virtual Dbxy GetCoord();// {return m_Coord;};
|
|
virtual Dbxy CCDpt2Platcoord(Dbxy CCDpt);
|
|
virtual Dbxy GetCenterPt();
|
|
void SetCoord(Dbxy pt);
|
|
|
|
void SetCamIndex(int index) { m_CamIndex = index; };//设置相机索引0,1
|
|
int GetCamIndex() {return m_CamIndex ; };//获取相机索引0,1
|
|
bool IsOpen() { return m_bOpen; };
|
|
void SetbOpen(bool bOpen) { m_bOpen=bOpen; };
|
|
|
|
Dbxy CCDcoord2Platformcoord(Dbxy CCDpt);
|
|
bool CatchPtToPlatformcoord(Dbxy &pt);
|
|
double GetOnePixDis(){return m_OnePixDis;};
|
|
double GetAngle(){return m_Angle;};
|
|
int GetCatchFrontDelay(){return m_CatchFrontDelay;};
|
|
protected:
|
|
bool m_bUse;//是否使用
|
|
bool m_bIni;//是否初始化成功
|
|
double m_OnePixDis;//一个像素对应的实际尺寸(mm/pix) ,通常需要定标得到这个值,不是所有的CCD 都会使用这个值,像基恩士的就是在其内部处理的
|
|
|
|
bool m_bLeftTop;//基准点是否为左上角(false 为左下角)
|
|
bool m_bPixCoord;//相机抓取的是否为像素坐标(基恩士返回的是mm 单位的值)
|
|
public:
|
|
Dbxy m_Coord;//CCD 视场基准点相对于平台原点的坐标值(一般是左上角,或者左下角)
|
|
Dbxy m_Coord2;//信利双头,有两个相机,此为CCD2坐标
|
|
DbSize m_Size=DbSize(2592,1944);//CCD 视场范围的实际尺寸(用来计算抓取定位的坐标值)
|
|
|
|
bool m_bRotatoPtByAngle;//是否根据相机的安装角度修正抓取结果
|
|
double m_Angle;//安装角度,相对于电机的X 轴(360 度角)
|
|
|
|
bool m_bCatch;//实际抓取
|
|
|
|
int m_CamIndex=0;//相机索引(信利 0 1)
|
|
bool m_bOpen = false;
|
|
|
|
int m_CatchFrontDelay;//抓取前延时ms
|
|
int m_CatchWaitDelay;//抓取等待延时ms
|
|
};
|
|
|