惯例先放效果:
左上角代表曝光的参数,一般-10~ -3 再大基本就太亮了……
首先要确定一下使用的摄像头能否调整曝光… 不是所有的摄像头都支持调节曝光!
1.看看摄像头能否调节曝光
下载打开Amcap,选中特定摄像头,Options--Video Device--Properties--看看第二栏摄像机控制里是否可以调整曝光…
如果可以,那么基本就可以被Opencv控制调节曝光了
2.配置好Opencv调节
配置环境见: 地址
简单粗暴的代码如下:
#include <opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main()
{
VideoCapture cap(0);
Mat frame;
//cap.set()
auto i = cap.get(CV_CAP_PROP_EXPOSURE);
cout << "设置之前曝光为:" << i << endl;
int 循环调节 = 0;
while (waitKey(30)!=27)
{
循环调节++;
循环调节 %= 80;
//cout << "设置之后曝光为:" << cap.get(CAP_PROP_EXPOSURE);
cap.set(CV_CAP_PROP_EXPOSURE, (循环调节/10)-10);
//cout << "设置之后曝光为:" << cap.get(CAP_PROP_EXPOSURE)<<endl;
cap >> frame;
putText(frame, "Exposure:" + to_string(循环调节 / 10 - 10), Point(20, 30), 3, 1.0, Scalar(255, 0, 0));
imshow("调用摄像头", frame);
}
return 0;
}
偶然需要调整摄像头参数来着,所以顺手写了篇博客~~
Opencv使用愉快~