海康威视sdk调整摄像头的亮度 对比度 饱和度 色度

使用海康摄像头采集的代码,参考之前发布的一篇文章,http://t.csdn.cn/Q62Gt
在上次代码中并没有录入关于海康威视sdk调整摄像头参数的部分,查看海康sdk中头文件,,其中有关于摄像头参数的结构体如下:

typedef struct tagNET_DVR_VIDEOEFFECT
{
    BYTE byBrightnessLevel; /*0-100*/
    BYTE byContrastLevel; /*0-100*/
    BYTE bySharpnessLevel; /*0-100*/
    BYTE bySaturationLevel; /*0-100*/
    BYTE byHueLevel; /*0-100,��������*/
    BYTE byEnableFunc; //ʹ�ܣ���λ��ʾ��bit0-SMART IR(������)��bit1-���ն�,bit2-ǿ������ʹ�ܣ�0-����1-��
    BYTE byLightInhibitLevel; //ǿ�����Ƶȼ���[1-3]��ʾ�ȼ�
    BYTE byGrayLevel; //�Ҷ�ֵ����0-[0-255]��1-[16-235]
}NET_DVR_VIDEOEFFECT, *LPNET_DVR_VIDEOEFFECT;

然后有个调用的函数

NET_DVR_API BOOL __stdcall NET_DVR_ClientSetVideoEffect(LONG lRealHandle,DWORD dwBrightValue,DWORD dwContrastValue, DWORD dwSaturationValue,DWORD dwHueValue);

结合函数的结构可以判断,利用已经获取的IRealHandle,然后可以设置画面的亮度,对比,饱和和色度的值。

代码测试(参数中handle为之前调用代码中的全局变量,在NET_DVR_RealPlay_V40调用时获取):
内部liangdu,duibi,baohe,baoguang为设置的参数变量,自己设置就可以了。
不过色度看不出变化。

void x1t_lib::setcamgain(){
    bool isok = NET_DVR_ClientSetVideoEffect(handle,liangdu,duibi, baohe,baoguang);
    /// [in] NET_DVR_RealPlay或者NET_DVR_RealPlay_V30的返回值
    /// [in]亮度(取值为1-100)
    /// [in]对比度(取值为1-100)
    /// [in]饱和度(取值为1-100)
    /// [in]色度(取值为1-100)
    /// [in]锐度(取值1-100)
    if(isok){
        //qDebug() << QString("set cam effect,brightness %1,contrast %2,saturation %3,hue %4").arg(liangdu).arg(duibi).arg(baohe).arg(baoguang);
    }
}

海康威视sdk调整摄像头的亮度 对比度 饱和度 色度_第1张图片

海康威视sdk调整摄像头的亮度 对比度 饱和度 色度_第2张图片

海康威视sdk调整摄像头的亮度 对比度 饱和度 色度_第3张图片

你可能感兴趣的:(海康威视,qt,后端,交互)