1.一种相机响应曲线生成方法,其特征在于:保持相机的其他参数不变,只改变曝光时间,获得A张照片,Xmin为相机最小曝光时间,Xmax为相机最大曝光时间,根据照片曝光时间对照片进行快速排序方法非降次排序,第I张照片的曝光时间为S(I),其中S(I)的值大于并且小于 ;I=1,
2,…A,其中A的值取{3,4,5,6}任意一数;
具体的实现步骤如下:
步骤1、构造向量 为向量 中的第 个元素,
;
;
步骤2、设k= ,将第k张照片上所有像素点按照从左到右,从上到下的顺序构成矩阵Z;将矩阵Z的行数设为m,列数设为n,Z (c,d)=(R(c,d),G(c,d),B(c,d))为矩阵Z的第c行第d列元素,其中R(c,d)、G(c,d)、B(c,d)分别为Z(c,d)的RGB值;c=1,2...,m;d=1,2,...,n;
步骤3、构造矩阵Gy,设元素Gy(c,d)是矩阵Gy的第c行第d列元素,;
设矩阵 中的元素最大值用 表示,矩阵Gy中的元素最小值用 表示;步骤4、根据照片的张数A,来确定采样点的个数N,只需满足方程:其中 表示为像素值的最小值和最大值,N表示像素值的数量,A表示照片的数量
步骤5、构造向量 为向量 中的第t个元素,
令
;
步骤6、构造向量RandNumber,RandNumber (e)为RandNumber的第e个元素,RandNumber (e)的值小于Lrange(e+1)并且大于Lrange(e),e=1,2…,N-1;步骤7、设在矩阵Gy中与RandNumber (e)相同的元素的个数为size(e),e=1,2…,N;构造矩阵Hk,设元素Hk(i,j)是矩阵Hk的第i行第j列元素, i=1,2,…size(k);j=1,2; k=1,
2,…,N;构造向量w,w(q)为向量w的第q个元素,w(q)=1,q=1,2,…size(k);按照从上到下,从左到右的顺序,c=1,2,…m;d=1,2,…n,如果Gy(c,d)等于RandNumber (e),那么Hk (w(k),1)=c; Hk (w(k),2)=d,w(k)=w(k)+1;步骤8、构造矩阵RandTest,其中RandTest(i,j)是矩阵RandTest中的第i行第j列元素;i=1,2,…N;j=1,2; 构造向量random,random(i)为向量random的第i个值,random(i)的值是大于1并且小于w(i)的一个整数,RandTest(i,1)=Hk(random(i),1); RandTest(i,
2)=Hk(random(i),2);
步骤9、将第L张照片上所有像素点按照从左到右,从上到下的顺序构成矩阵ZL,将矩阵ZL的行数设为m,列数设为n,设元素ZL (i,j)=( RL(i,j),GL(i,j),BL( i,j))是矩阵ZL的第i行第j列元素,其中RL(i,j)、GL(i,j)、BL(i,j)分别为ZL(i,j)的RGB值i=1,2,…,m;j=1,
2,…n;L=1,2,…A;
步骤10、构造矩阵OL,OL(i,j)是矩阵OL中的第i行,第j列元素, OL (i,j)=( RL(i,j)+GL(i,j)+BL( i,j))/3,i=1,2,…,m;j=1,2,…n;L=1,2,…A;步骤11、构造一个向量U,其中U(i)为向量U中的第i个元素;当i对N取余值恒为0时,U(i)=OM(Hi(N,1),Hi(N,2));当i对N取余不为0时,U(i)=OM(Hi(i%N,1),Hi(i%N,2)),其中;步骤12、构造向量T,T(i)为向量T中的第i个元素,T(i)=L((i/(N+1))+1),i=1,2,…N*A;步骤13、令相机响应曲线表示为 ;
求解过程如下:
设函数SS可表示为:
用向量内积形式表示,可得:
其矩阵的形式为:
由矩阵可知,如果向量组 是线性无关,则得上式系数行列式,
存在唯一解;
由已知可知, ,故 ,进行多项
式拟合时,取 ,则当v取不同值时, 线性无关;于是得到函数的最小二乘解;即为所求的方程:
通过上述步骤可以快速、高精度地生成相机响应曲线。