摄像头一些参数的调节经验

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了摄像头一些参数的调节经验相关的知识,希望对你有一定的参考价值。

参考技术A 一、增益

摄像机基本设置说明: AGC (自动增益控制):

摄像头内有一个将来自CCD的信号放大到可以使用水准的视频放大器,其放大即增益。

具有AGC功能的摄像机,在低照度时增益变大,灵敏度提高,但此时 噪声 也会比较明显

 

在低亮度条件下应该完全打开镜头光圈,以获得清晰的图像。

//---------通俗说法--------------------------

增益是摄像机传感器接收到原始景物的光后,在光电转换过程中,对原始的光进行调大或调小的过程。如果这时是增益调大了,我们的图象就会比实际的亮,相反就会更暗。 如果传感器很小或质量不是很好,增益后就有很多的噪点。

 

 

二、曝光

可看一下这个链接

https://zhuanlan.zhihu.com/p/24490236

曝光的三要素: 光圈,快门、感光度( ISO )

帧率:决定单位时间内拍多少次(多少帧)

曝光时间: (也叫快门速度) 决定每次拍摄(一帧)用多少时间来曝光,影响在一段时间内的“累计”光通量

值得注意的是,曝光时间过长,会导致每一帧所用的时间过长,造成图像卡顿

感光度确定的情况下,光圈大小和快门速度(曝光的时间长短)决定了曝光量的大小。光圈不变的情况下,曝光时间越长,曝光量越大;曝光时间不变的情况下,光圈越大,曝光量越大。曝光量一定的情况下,增加一级光圈,就必须减少一级曝光时间,反之亦然。

“ 高速摄影 ” ,就是拍摄速度很快,曝光时间很短的一种摄影方法。使用非常快的快门速度来捕捉图像的技术,最常用于那些通常情况下人眼无法看到的场景的拍摄。

 

曝光时间越长,进光量越多,就会有更多时间的图像出现在同一帧上。

比如:在曝光时间内跑步者由A运动到B点,一帧图像会把跑步者由A运动到B点的过程记录下来。

因此曝光时间越长,一帧图像上的跑步者运动的过程就越长,

因此被拍摄的跑步者就会变模糊。

而如果曝光时间很短, 一帧图像 中的跑步者在这个曝光时间内运动的过程也会很短,图像也就越清晰。高速摄影也是这个原理

 

 

三、光圈光圈是摄像机镜头张开的口子。如果光圈值是大的,那镜头张开的口子就是小的,相反,光圈值是小的,镜头张开的口子就是大的,得到的光就会多,所拍的对象会更亮甚至曝光过度。我们就是用这个原理来调整摄像机的曝光度,使之符合我们的要求。光圈越大,图像越明亮。

四、白平衡

彩色相机内部有三个CCD电子耦合元件,分别用来感受红绿蓝三中颜色的光线,默认情况下,三个颜色的感光电路信号的放大比例是1:1:1的。在理想的拍摄环境下,纯白色的RGB分量按照1:1:1的比例放大之后,得到的是没有偏色的白色,当在非理想的环境光条件下,白色成像出来的效果会偏向环境光的颜色,而不是纯白色。

相机的自动白平衡就是要通过改变RGB感光电路信号的放大比例,让 受环境光影响的白色还原成纯白色,保证在各种光线条件下,成像色彩跟物体真实的色彩保持一致 。

简单来说,就是让图像的颜色更符合真实情况

一个简单白平衡算法:

https://blog.csdn.net/dcrmg/article/details/53545510

可以去雾的白平衡算法: https://blog.csdn.net/grafx/article/details/69938705

其他 :

对焦是摄像机调整焦距,如果焦距不正确,所拍的画面就会模糊,焦距调对了,图像就会清晰。变焦是摄像机推拉镜头的过程,比如把远处目标拉近来拍摄等。

Opencv调整曝光

惯例先放效果:

左上角代表曝光的参数,一般-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使用愉快~



以上是关于摄像头一些参数的调节经验的主要内容,如果未能解决你的问题,请参考以下文章

摄像头怎么调节

Opencv调整曝光

如何设置摄像头视频图像参数

用opencv实现动检,光照变化有啥好的解决办法啊?

海康威视摄像头怎么调

摄像头 ISP 调试的入门之谈(经验总结)