在 OpenCV 中,设置曝光会导致我的网络摄像头软件无法自动调整曝光
In OpenCV, setting exposure causes my webcam software to not automatically adjust exposure
当我调用该方法cvSetCaptureProperty(capture, CV_CAP_PROP_EXPOSURE, 2);
时,它会按应有的方式设置相机的曝光。但是,当我运行戴尔网络摄像头中央版软件、Skype 或其他任何使用相机的软件时,曝光卡在我在 OpenCV 程序代码中设置的最后一次曝光处,并且不会像以前那样自动调整。
如何让我的网络摄像头程序(戴尔网络摄像头中心和Skype)再次自动调整曝光?
代码如下:
#include "cv.h"
#include "highgui.h"
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
CvCapture* capture = cvCaptureFromCAM( CV_CAP_ANY ); //CV_CAP_ANY
if ( !capture )
{
fprintf( stderr, "ERROR: capture is NULL n" );
getchar();
return -1;
}
cvNamedWindow( "mywindow", CV_WINDOW_AUTOSIZE );
cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH, 640);
cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT, 480);
int width = (int)(cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH));
int height = (int)(cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT));
IplImage* image = cvCreateImage(cvSize(width, height), IPL_DEPTH_8U, 3);
IplImage* frame;
char c;
while ( true )
{
frame = cvQueryFrame( capture );
if ( !frame )
{
fprintf( stderr, "ERROR: frame is null...n" );
getchar();
break;
}
cvShowImage( "mywindow", frame );
cvSetCaptureProperty(capture, CV_CAP_PROP_EXPOSURE, 2);
c = cvWaitKey(33);
if( (c & 255) == 27 ) break;
}
cvReleaseCapture( &capture );
cvDestroyWindow( "mywindow" );
return 0;
}
OpenCV只是调用v4l1_ioctl()
传递参数V4L2_CID_EXPOSURE
。
您必须深入研究 V4L2 文档才能弄清楚这一点。
顺便问一下,您是否尝试过在销毁窗口后传递CV_CAP_PROP_EXPOSURE
的值0
?这可能会解决问题。
相关文章:
- 哪些库可以通过Opencv调整曝光率
- OpenCV 4.1.2 - 从网络摄像头获取帧并将其拆分
- 使用OpenCV和覆盆子上的多个网络摄像头拍摄延时摄影,出现多个V4L错误
- 使用源读取器从网络摄像头源获取 H264 样本
- 为什么我不能让 3 个网络摄像头与 pthreads 并行运行?
- 从 OpenCV 3 切换到 OpenCV 4 会导致网络摄像头以最大 5 fps 的速度录制,而不是通常的 30 f
- 如何使用realsense摄像头调试ROS错误消息
- Qt小部件中的摄像头访问
- 从具有不同曝光时间的图像中获取HDR图像
- 媒体基金会可以允许多个客户端同时访问单个网络摄像头设备吗?
- 从C++调用网络摄像头并在 Python 中显示图像
- 从 WinPE 下的网络摄像头捕获?
- UE4-使用摄像头时,观众不会旋转(俯仰)
- OpenCV没有显示来自Macbook网络摄像头的视频
- 使用OpenCV和C++在按键上截取网络摄像头源的屏幕截图
- 什么相当于英特尔实感 3D 摄像头 (SR300) 的 pmdGet3DCoordinates?
- 我正在尝试在树莓派中连接两个网络摄像头
- 使用OpenCV访问摄像头(通过GSTREAMER)
- 弧球摄像头:如何获得正确的方向和向上
- 在 OpenCV 中,设置曝光会导致我的网络摄像头软件无法自动调整曝光