📄 ieudef.pas
字号:
//!
//!-----------------------------------------------------------------------------
//! Name IEUDef.PAS
//! Purpose IEUDef模板定义
//! CopyRight (c) 2007,
//! Development Kit Borland Delphi 6.00
//! Author ZhaoXingMei
//! Date 2007/03/12
//!
//!
//! Description Ver 1.00.0000 Beta
//!
//!
//!-----------------------------------------------------------------------------
unit IEUDef;
interface
//相机分辨率
type FD_RESOLUTION =
(
RESOLUTION0 = $10000000, //图像分辨率0,大图像模式
RESOLUTION1 = $10000001 //图像分辨率1,小图像模式
);
//相机型号标识
type FD_CAMERA_TYPE =
(
UNKNOWN = 0, //未知型号设备
ID320C = 1, //FC-1D320C型相机
ID200C = 2, //FC-ID200C型相机
ID130C = 3, //FC-ID130C型相机
ID130M = 4, //FC-ID130M型相机
IE130C = 5, //FC-IE130C型相机
IE130M = 6, //FC-IE130M型相机
IE036C = 7, //FC-IE036C型相机
IE036M = 8, //FC-IE036M型相机
ID320PLUS = 9, //FC-ID320PLUS型相机
ID130PLUS = 10 //FC-ID130PLUS型相机
);
//相机输出图像数据的格式
type FD_DATA_FORMAT =
(
HIGH_8BITS = $10000000, //输出原10位数据的高8位数据
MID_8BITS = $10000001, //输出原10位数据的中8位数据
LOW_8BITS = $10000002 //输出原10位数据的低8位数据
);
//输出数据位反转选项
type FD_BIT_INVERSION =
(
BIT_NORMAL = $10000000, //图像数据正常输出
BIT_INVERSION = $10000004 //输出反转位图像数据
);
//相机的GAMMA功能选项
type FD_GAMMA_CORRECTION =
(
GAMMA_DISABLE = $10000000, //关闭GAMMA校正功能
GAMMA_ENABLE = $10000002 //使能GAMMA校正功能
);
//相机的工作模式
type FD_TRIGGER_MODE =
(
FREE_RUN = $00000000, //连续图像模式
TRIGGER_SOFTWARE = $03000000, //触发模式下的软件触发
TRIGGER_RISING_EDGE = $01000000, //外触发模式,外部信号上升沿触发
TRIGGER_FALLING_EDGE = $05000000 //外触发模式,外部信号下降沿触发
);
//闪光灯极性
type FD_STROBE_POLARITY =
(
RISING_EDGE_ACTIVE = $00000000, //闪光灯上升延有效
FALLING_EDGE_ACTIVE = $08000000 //闪光灯下延有效
);
//控制模式
type FD_CONTROL =
(
USER_CTRL = $00000000, //用户控制
AUTO_CTRL = $10000001 //自动控制
);
type FD_FPN_CONTROL =
(
FPN_DISABLE = $00000000, //不使能
FPN_ENABLE = $10000001 //使能
);
//相机参数标识
type CAM_PARAM =
(
EXPOSURE_TIME = 0, //曝光时间
GAIN = 1, //增益
BRIGHT = 2, //亮度
RED_GAIN = 3, //红增益
BLUE_GAIN = 4, //蓝增益
STROBE_DELAY = 5, //闪光灯延迟
STROBE_DURATION = 6, //闪光灯持续时间
TRIGGER_DELAY = 7, //触发延迟
ANALOG_GAIN = 8, //模拟增益
ADCOFFSET = 9 //偏置
);
//数据传输状态标识,用于回调函数
type IEU_TRANS_STATE =
(
TRANS_ONE_RSVD = $2000, //收到一帧有效的图像数据
TRANS_TIMEOUT = $2002, //图像传输超过用户设置的时间限制
TRANS_ONE_FAILED = $2003 //获取一帧图像失败
);
//返回值和窗口句柄标识
type
HRESULT = LongWord;
HWND = LongWord;
//相机的可调参数信息
PARAM_INFO = packed record
fMaxValue: Single; //此参数的最大值 as the ’float‘ in c\c++
fMinValue: Single; //此参数的最小值
fScale: Single; //参数变化单位值
end;
//相机硬件信息
HARDWARE = packed record
cameraType: BYTE; //1:相机型号
hardwareEdition: Array[0..2] of BYTE; //2:4:硬件版本号
updateDate: Array[0..3] of BYTE; //5:8:硬件程序更新日期,5:6:年(十进制数表示,5:高8位,6:低8位),7:月,8:日
cameraId: LongWord; //相机标识符
end;
//回调函数参数
IEU_TRANS_INFO = packed record
pDataBuf: Pointer; //接收图像数据的缓冲区地址
cbDataBuf: LongWord; //缓冲区大小(以字节计)
dwImgRequested: longint; //用户要求的图像帧数
dwImgTransferred:longint; //已经传输的图像帧数
dwTimeOutTicks: longword; //用户设定超时间(毫秒)
TransState: IEU_TRANS_STATE; //当前状态
pParam: Pointer; //用户自定义参数指针
end;
//矩形的长宽定义
SIZE = packed record
cx: longint;
cy: longint;
end;
//定义一个类型的指针类型
type
PIEU_TRANS_INFO = ^IEU_TRANS_INFO;
//回调函数
IEU_CALLBACK = function(pTransInfo: PIEU_TRANS_INFO): Integer; stdcall;
//IEU消息定义,用于消息处理函数
const WM_USER = $0400;
const IEU_MSG = WM_USER + 200;
const MSG_ONE_RSVD = $2000;
const MSG_ALL_RSVD = $2001;
const MSG_TIMEOUT = $2002;
const MSG_ONE_FAILED = $2003;
const MSG_TRANS_CANCELLED = $2004;
const MSG_TRANS_STARTED = $1000;
const MSG_TRANS_END = $1001;
//返回值定义
FD_SUCCESSED: HRESULT = $2000;
FD_READY: HRESULT = $2001;
FD_UNREADY: HRESULT = $1031;
FD_FAILED: HRESULT = $1000;
FD_OPEN_FAILED: HRESULT = $1001;
FD_START_FAILED: HRESULT = $1002;
FD_STOP_FAILED: HRESULT = $1003;
FD_INVALID_POINTER: HRESULT = $1011;
FD_IMAGE_STOPED: HRESULT = $1012;
FD_WRITE_DEVICE_FAILED:HRESULT = $1013;
FD_READ_DEVICE_FAILED: HRESULT = $1014;
FD_READ_IMAGE_FAILED: HRESULT = $1015;
FD_INVALID_IMAGE: HRESULT = $1016;
FD_OPEN_FILE_FAILED: HRESULT = $1017;
FD_INVALID_HANDLE: HRESULT = $1018;
FD_UPDATE_FAILED: HRESULT = $1019;
FD_GET_HARDWARE_FAILED:HRESULT = $1020;
FD_BAD_PARAM: HRESULT = $1021;
FD_BUSYING: HRESULT = $1028;
FD_UNINITIALIZED: HRESULT = $1029;
FD_CANCEL_FAILED: HRESULT = $1030;
FD_NOT_SUPPORT: HRESULT = $1031;
FD_TIME_OUT: HRESULT = $1032;
//定义关于相机增益的常量数组
//IE130M和IE130C相机的模拟增益值
AnalogGain: Array[1..17] of Single = (1.0,
1.37, 1.62, 1.96, 2.33,
2.76, 3.50, 4.25, 5.20,
6.25, 7.89, 9.21, 11.00,
11.37, 11.84, 12.32, 12.42);
//IE036M和IE036C相机的模拟增益值
AnalogGain_IE036: Array[1..4] of Single = (1.0, 2.0, 3.0, 4.0);
//ID130M、ID130C和ID320PLUS相机的模拟增益
//ID320PLUS的模拟增益与ID130系列相同
AnalogGain_ID130: Array[1..4] of Single = (1.0, 2.0, 3.0, 4.0);
implementation
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -