获取/设置相机LED状态指示灯使用视频输入/ Logitech c930e

时间:2016-04-06 18:33:23

标签: c++ opencv camera

我在Windows 10和VS2012 C ++ / CLI中使用OpenCV 3.1。 另外,我使用videoinput库作为相机界面并使用DirectShow。

目前,我可以使用CameraControl属性(例如,焦点)访问相机设置,如下所示:

typedef enum  {
    CameraControl_Pan,
    CameraControl_Tilt,
    CameraControl_Roll,
    CameraControl_Zoom,
    CameraControl_Exposure,
    CameraControl_Iris,
    CameraControl_Focus
} CameraControlProperty;

typedef enum   {
    CameraControl_Flags_Auto     = 0x0001,
    CameraControl_Flags_Manual   = 0x0002
} CameraControlFlags;

void Channel::FocusControl(bool tAutoFocusOn)
{
    long mDefaultmin,mDefaultmax,mDefaultStep,mDefaultFlags,mDefaultValue,mDefaultfocus;

    try
    {
       CameraVI->getVideoSettingCamera(CameraNumber,CameraControl_Focus,mDefaultmin,mDefaultmax,mDefaultStep,mDefaultfocus,mDefaultFlags,mDefaultValue);
    }
    catch(...)
    {
        System::Windows::Forms::MessageBox::Show("Camera unable to set focus!","Camera Error Focus",MessageBoxButtons::OK,MessageBoxIcon::Error);
    return;
    }

    if(tAutoFocusOn)
       CameraVI->setVideoSettingCamera(CameraNumber,CameraControl_Focus,mDefaultfocus,CameraControl_Flags_Auto);
    else
        CameraVI->setVideoSettingCamera(CameraNumber,CameraControl_Focus,mDefaultfocus,CameraControl_Flags_Manual);
}

其中CameraVI是相机实例的指针。

罗技相机有一个LED灯,表明它们已打开,我想将其关闭。这似乎不是CameraControl属性的一部分。

但是,我确实看到了KSPROPERTY和KSCAMERA_EXTENDEDPROP类/结构。哪个,如果其中任何一个控制LED灯(TORCH_MODE?),我该如何访问它?我是所有这些的新手,所以任何代码示例都会很棒。

谢谢, 詹姆斯

0 个答案:

没有答案