#ifndef __VIZUM_RGB_CONFIG_HEADER__ #define __VIZUM_RGB_CONFIG_HEADER__ #include "VZNL_Export.h" #include "VZNL_Types.h" /** * @brief 当前相机是否支持RGB * @param hDevice 当前设备句柄 * @param pnErrorCode 错误信息,如果不需要可填NULL * @return VzTrue 表示支持 VzFalse 表示不支持 */ VZNLAPI VzBool VzNL_IsSupportRGBCamera(VZNLHANDLE hDevice, int* pnErrorCode); /** * @brief 获取原始分辨率 * @param hDevice [in] 设备Handle * @return 关闭成功返回0,否则为错误码 */ VZNLAPI int VzNL_GetRGBResolution(VZNLHANDLE hDevice, SVzVideoResolution* psVideoRes); /** * @brief 当前相机是否支持RGB * @param hDevice 当前设备句柄 * @param bEnable VzTrue启用 / VzFalse禁用 * @return 正确返回0, 失败返回其他值 */ /// @brief 启用/获取RGB功能 VZNLAPI int VzNL_EnableRGB(VZNLHANDLE hDevice, VzBool bEnable); VZNLAPI VzBool VzNL_IsEnableRGB(VZNLHANDLE hDevice, int* pnErrorCode); /** * @brief 格式化彩色ROI * @param hDevice 当前设备句柄 * @param psROI[in/out] 想要格式化的ROI大小 * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_FormatRGBROI(VZNLHANDLE hDevice, SVzNLROIRect* psROI); /** * @brief 配置RGB ROI * @param hDevice 当前设备句柄 * @param psROI 想要设置的ROI大小 * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_SetRGBROI(VZNLHANDLE hDevice, const SVzNLROIRect* psROI); VZNLAPI int VzNL_GetRGBROI(VZNLHANDLE hDevice, SVzNLROIRect* psROI); /** * @brief 启用/获取 自动白平衡 * @param hDevice 当前设备句柄 * @param bEnable 启用 VzTrue /禁用 VzFalse 白平衡 * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_EnableRGBAWB(VZNLHANDLE hDevice, VzBool bEnable); VZNLAPI VzBool VzNL_IsEnableRGBAWB(VZNLHANDLE hDevice, int* pnErrorCode); /** * @brief 设置/获取 自动曝光状态 * @param hDevice 当前设备句柄 * @param bEnable 启用 VzTrue / 禁用 VzFalse * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_EnableRGBAutoExpose(VZNLHANDLE hDevice, VzBool bEnable); VZNLAPI VzBool VzNL_IsEnableRGBAutoExpose(VZNLHANDLE hDevice, int* pnErrorCode); /** * @brief 设置R Value * @param hDevice 当前设备句柄 * @param fValue R分量值 * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_SetRGBRValue(VZNLHANDLE hDevice, float fValue); VZNLAPI float VzNL_GetRGBRValue(VZNLHANDLE hDevice, int* pnErrorCode); /** * @brief 设置G Value * @param hDevice 当前设备句柄 * @param fValue G分量值 * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_SetRGBGValue(VZNLHANDLE hDevice, float fValue); VZNLAPI float VzNL_GetRGBGValue(VZNLHANDLE hDevice, int* pnErrorCode); /** * @brief 设置B Value * @param hDevice 当前设备句柄 * @param fValue B分量值 * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_SetRGBBValue(VZNLHANDLE hDevice, float fValue); VZNLAPI float VzNL_GetRGBBValue(VZNLHANDLE hDevice, int* pnErrorCode); /** * @brief 设置彩色Sensor帧率 * @param hDevice 当前设备句柄 * @param nValue 帧率 * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_SetRGBFrameRate(VZNLHANDLE hDevice, unsigned int nValue); VZNLAPI unsigned int VzNL_GetRGBFrameRate(VZNLHANDLE hDevice, int* pErrorCode); /** * @brief 设置彩色Sensor曝光 * @param hDevice 当前设备句柄 * @param nValue 曝光值[20~100000] * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_SetRGBExpose(VZNLHANDLE hDevice, unsigned int nValue); VZNLAPI unsigned int VzNL_GetRGBExpose(VZNLHANDLE hDevice, int* pnErrorCode); /** * @brief 设置彩色sensor增益 * @param hDevice 当前设备句柄 * @param nValue 设置增益值 * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_SetRGBGain(VZNLHANDLE hDevice, unsigned int nValue); VZNLAPI unsigned int VzNL_GetRGBGain(VZNLHANDLE hDevice, int* pnErrorCode); /** * @brief 设置RGBSensor触发方式 * @param hDevice 当前设备句柄 * @param eTriggerMode 触发模式 * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_SetRGBTriggerMode(VZNLHANDLE hDevice, EVzEyeTriggerMode eTriggerMode); VZNLAPI EVzEyeTriggerMode VzNL_GetRGBTriggerMode(VZNLHANDLE hDevice, int* pnErrorCode); /** * @brief 设置彩色Sensor期望值 * @param hDevice 当前设备句柄 * @param fExposeThres 期望值[1~255] * @return 正确返回0, 失败返回其他值 */ /// @brief VZNLAPI int VzNL_SetRGBAutoExposeThres(VZNLHANDLE hDevice, float fExposeThres); VZNLAPI float VzNL_GetRGBAutoExposeThres(VZNLHANDLE hDevice, int* pnErrorCode); /** * @brief 生成一个RGB信号 * @param hDevice 当前设备句柄 * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_GenRGBSoftSignal(VZNLHANDLE hDevice); /** * @brief 设置自动调节超时时间 * @param hDevice 当前设备句柄 * @param nTimeOut 设置自动调节超时时间 * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_SetRGBAutoAdjustTimeOut(VZNLHANDLE hDevice, unsigned int nTimeOut); VZNLAPI unsigned int VzNL_GetRGBAutoAdjustTimeOut(VZNLHANDLE hDevice, int* pnErrorCode); /** * @brief 设置CCM * @param hDevice 当前设备句柄 * @param dCCMVal CCM值 * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_SetRGBColorCortectMatrix(VZNLHANDLE hDevice, double dCCMVal[3][3]); VZNLAPI int VzNL_GetRGBColorCortectMatrix(VZNLHANDLE hDevice, double dCCMVal[3][3]); /** * @brief 自动计算RGBD异步参数 * @param hDevice 当前设备句柄 * @param dCCMVal CCM值 * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_AutoCalcRGBAsyncParam(VZNLHANDLE hDevice); /** * @brief 获取RGBD所在位置 * @param hDevice 当前设备句柄 * @param dCCMVal CCM值 * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_GetRGBAsyncRect(VZNLHANDLE hDevice, SVzNLROIRect pROIRect[2]); /** * @brief 启用输出RGB 2D数据 * @param hDevice [in] 设备Handle * @param bEnable [in] 启用为VzTrue,关闭为VzFalse * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_EnableOutputColor2D(VZNLHANDLE hDevice, VzBool bEnable); /** * @brief 获取中间相机的RGB单帧图像 * @param hDevice [in] 设备Handle * @param ppRGBImage [out] RGB图像 * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_GetRGBImage(VZNLHANDLE hDevice, SVzNLImageData** ppRGBImage); /** * @brief 获取RGB镜头的X方向视野大小(mm) * @param hDevice 当前设备句柄 * @param nViewDx X方向视野大小(mm) * @return 正确返回0, 失败返回其他值 */ VZNLAPI int VzNL_GetRGBViewXSize(VZNLHANDLE hDevice, unsigned int& nViewDx); #endif