thirdParty/VzNLSDK/Inc/VZNL_RGBConfig.h

204 lines
6.0 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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