动态范围:指一个系统(如图像传感器、相机或图像)能够同时记录的最亮区域(高光)与最暗区域(阴影)之间的亮度比值。它反映了系统对极端明暗差异的捕捉能力,通常以分贝(dB) 或档(stops)表示。
以下基于图像进行介绍:
1.理论动态范围
以位深为8bit的图像来说,每个通道(R/G/B)有28=256个亮度等级(0-255),下面以1表示最暗的亮度值,256表示最亮的亮度值,则有:
以档表示动态范围(DR)为:
DR(stops) = log2(256/1)=8
以分贝(dB)表示:动态范围(DR)=20*log(最大亮度值/最小亮度值)
DR (dB) = 20 * log(256 / 1) ≈ 48dB
2.实际动态范围
实际获取图像过程中,传感器在低光照的环境下会引入噪声(如读出噪声、暗电流噪声等)。当信号强度接近噪声水平时,有效信息会被噪声淹没,导致暗部细节丢失。在这种情况下,实际动态范围会低于理论值,图像的动态范围定义为最亮有效亮度Lmax与最暗有效亮度Lmin的比值。
以档表示动态范围(DR)为:
DR(stops) = log2(Lmax / Lmin)
以分贝(dB)表示:
DR (dB) = 20 * log(Lmax / Lmin)
参数定义:
Lmax:图像中未过曝的最亮区域亮度值(需排除纯白或饱和像素)。
Lmin:图像中高于噪声基底的最暗区域亮度值(需排除纯黑或无效像素)。
3.测量步骤
以RGB图像为例:
(1)转换图像为亮度通道
方法:将彩色图像转换为亮度通道。
对于RGB图像,使用公式:
L=0.2126×R+0.7152×G+0.0722×B
如下图:左图为RGB图像,右图为转换后的仅含有亮度信息的图像
(2)确定Lmax和Lmin
排除异常值:如设定亮度值大于或等于250为过曝,而小于或等于5为纯黑
统计有效范围:设定过曝的像素为无效像素,相对应地在有效像素中统计最大的亮度值Lmax;取纯黑像素中的中值以避免噪声干扰。
(3)计算动态范围
DR(stops) = log2(Lmax / Lmin)
DR (dB) = 20 * log(Lmax / Lmin)
Matlab代码如下:
org_img = imread("IMG_2451.jpg");
img = imrotate(org_img,-90);
figure;
subplot(2,3,1),imshow(img),title('原图');
subplot(2,3,3),imhist(img),title('直方图');
[height,width,channel] = size(img);
img_R = img(:,:,1);
img_G = img(:,:,2);
img_B = img(:,:,3);
subplot(2,3,4),imshow(img_R),title('R通道');
subplot(2,3,5),imshow(img_G),title('G通道');
subplot(2,3,6),imshow(img_B),title('B通道');
img_l = img_R*0.2126 + img_G * 0.7512 + img_B * 0.0722;
subplot(2,3,2),imshow(img_l);,title('亮度图');
Lmax_threshold = 250;
Lmin_threshold = 5;
Lmax = 0;
Lmin = 255;
for i = 1 : height
for j = 1 : width
if img_l(i,j) < 250 && img(i,j) > Lmax
Lmax = img_l(i,j);
end
if img_l(i,j) > 5 && img_l(i,j) < Lmin
Lmin = img_l(i,j);
end
end
end
if Lmax < Lmin
disp('动态范围异常!请检查!');
else
DR_stops = log2(single(Lmax)/single(Lmin));
DR_dB = 20 * log(single(Lmax)/single(Lmin));
str = sprintf('The value of DR_stops and DR_dB are %f and %f,', DR_stops,DR_dB);
disp(str);
end
其结果如:The value of DR_stops and DR_dB are 4.954196 and 68.679741
在实际测量中,图像噪声基底的测量需要结合硬件操作和数据分析,核心是通过暗场图像(Dark Frame)的统计特性来确定噪声基底。以下是具体步骤及注意事项:
1.固定ISO,使用还未进行降噪的sensor raw图进行分析
2.镜头完全遮光
3.设置固定的曝光时间
4.拍摄至少10-20张图像
5.一般为了提升精度使用多帧平均法。
(1)通过多帧平均抑制随机噪声,保留固定模式噪声,计算平均暗场图像:
其中,Di为第i张暗场图像
(2)为了从单帧暗场图像中减去固定模式噪声,分离出随机噪声成分,需要计算每帧的残差图像: