CN106210554A - 一种合成高动态范围图像的方法 - Google Patents
一种合成高动态范围图像的方法 Download PDFInfo
- Publication number
- CN106210554A CN106210554A CN201610609269.9A CN201610609269A CN106210554A CN 106210554 A CN106210554 A CN 106210554A CN 201610609269 A CN201610609269 A CN 201610609269A CN 106210554 A CN106210554 A CN 106210554A
- Authority
- CN
- China
- Prior art keywords
- randtest
- matrix
- vector
- camera
- luminance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000002194 synthesizing effect Effects 0.000 title claims abstract description 9
- 239000011159 matrix material Substances 0.000 claims description 83
- 235000007164 Oryza sativa Nutrition 0.000 claims description 3
- 230000001174 ascending effect Effects 0.000 claims description 3
- 235000009566 rice Nutrition 0.000 claims description 3
- 240000007594 Oryza sativa Species 0.000 claims 1
- 230000035945 sensitivity Effects 0.000 abstract description 2
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 241000209094 Oryza Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/70—Circuitry for compensating brightness variation in the scene
- H04N23/741—Circuitry for compensating brightness variation in the scene by increasing the dynamic range of the image compared to the dynamic range of the electronic image sensors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/70—Circuitry for compensating brightness variation in the scene
- H04N23/76—Circuitry for compensating brightness variation in the scene by influencing the image signals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Color Television Image Signal Generators (AREA)
- Image Processing (AREA)
Abstract
本发明涉及一种合成高动态范围图像的方法,其特征在于:在计算机中装有Lumincept9.31.1软件,按步骤1、选择合适的场景记为Scene;步骤2、获取塔尖形状的物体的底部到顶部之间的距离,用变量Bulid_H表示;步骤3、调节相机的位置和姿态,使Scene中塔尖形状的物体的最高处位于相机的取景器的中心位置。其通过拍摄一组曝光度不同的干净天空的图片,使用Lumincept软件模拟该图片所对应的亮度信息模型,该模型记录了所拍摄的这一组曝光度不同的干净天空所对应的真实光照信息,构成了一组非线性关系,即为要恢复的相机响应曲线,通过使用CIE模型中的三个可以反应人类眼睛敏感度的参数来计算合成高动态范围图像的三个通道的值。
Description
技术领域
本发明涉及一种合成高动态范围图像的方法,属于数字图像处理技术领域。
背景技术
随着人们生活水平的提高,人们对于图像的质量的要求也越来越高,普通的图像即低动态范围图像由于其深度信息表达范围的局限性,已经不足以满足人们的需求。比如现实场景中的亮度动态范围一般为105:1,通常人眼在对环境进行观察时,可以察觉到亮度为10-3cd/m2的星光,也能感受到亮度为105cd/m2的阳光,且人眼在很暗或很亮的情况下都能察觉到现实场景中的各种细节。而一般的图像没有这么大的表现范围。于是人们开始寻找一种可以满足人类更多需求,可以展现更多的场景细节,可以更好地满足人类视觉需求的一种图像表达方式。高动态范围图像(high dynamic range image)应运而生,它是一种可以表示实际场景中亮度大范围变化的图像类型,因此,可以更好地同时表现场景中亮区和暗区的光学特性,高动态范围图像还具备像素值正比于场景中对应点的实际亮度值的特性。在图像处理的很多应用领域,因为普通图像仅仅记录了色调相对关系,不记录场景的具体亮度,缺乏理想的对比度和亮度范围,通常要使用高动态范围图像。目前已经有很多方法合成高动态范围图像,如Debevec与Malik算法、Nayar算法,以及它们的各种改算。
合成高动态范围图像的关键步骤是相机响应曲线的恢复,目前存在的计算相机响应曲线方法,多数情况是通过使用一组曝光度不同的图像并自动选取若干个点的方法,仅仅利用图像的RGB值和曝光时间,来生成相机响应曲线。虽然这种方法可以快速、高效的合成高动态范围图像,但是由于所选取点的真实亮度值未知,而是通过一些理论公式计算得来的,不可能适用于全部的像素点,因此会产生很多的误差,这大大降低了相机响应曲线的准确性。
发明内容
本发明的目的在于提供一种合成高动态范围图像的方法,为了快速、高精度地生成高动态范围图像,其通过拍摄一组曝光度不同的干净天空的图片,使用Lumincept软件模拟该图片所对应的亮度信息模型,该模型记录了所拍摄的这一组曝光度不同的干净天空所对应的真实光照信息,图片中的RGB值和模型对应的真实亮度值,构成了一组非线性关系,即为要恢复的相机响应曲线,通过使用CIE模型中的三个可以反应人类眼睛敏感度的参数来计算合成高动态范围图像的三个通道的值。
本发明的技术方案是这样实现的:一种合成高动态范围图像的方法,其特征在于:在计算机中装有Lumincept9.31.1软件,按以下步骤完成:
步骤1、选择合适的场景,场景中只包括一个塔尖形状的物体,塔尖形状的物体远高于场景中的其他物体,场景中还包括没有云彩的天空,这样的场景记为Scene;
步骤2、获取塔尖形状的物体的底部到顶部之间的距离,用变量Bulid_H表示,距离的单位为米;获取塔尖形状的物体在WGS84坐标系下的经度和纬度,分别用变量Location_longitude1、Location_latitude1表示。
步骤3、调节相机的位置和姿态,使Scene中塔尖形状的物体的最高处位于相机的取景器的中心位置。始终保持相机的位置和姿态不变,获取相机在WGS84坐标系下的经度和纬度,分别用变量Location_longitude2、Location_latitude2表示;由小到大的改变相机的曝光时间A次,相机的其他参数不变,通过相机获取每个曝光时间对应的一张Scene照片,第I张照片的曝光时间设为S(I),曝光时间的单位为秒,第I张照片用Image(I)表示,I=1,2,...,A;记录拍摄第一张照片时的当地时间,用变量Time表示。
步骤4、查看谷歌地图,分别找到相机和Scene中塔尖形状的物体在谷歌地图中的位置,获得他们之间的距离,用变量Distance表示,利用Distance和Build_H的值,在Lumicept软件中模拟相机的位置和方向。
步骤5、Lumicept软件中使用CIE(Commission Internationale de L’Eclairage)标准天空模型,根据Time、Bulid_H、Location_longitude1、Location_latitude1和Location_longitude2、Location_latitude2,在Lumicept软件中复现Image(1)中的场景,将复现的场景记为Simulated_model。
步骤6、设,寻找Image(k)中所有的天空区域,用Sky表示,将Sky中所有像素点按照从左到右,从上到下的顺序构成矩阵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。
步骤7、构造矩阵Gy,设元素Gy(c,d)是矩阵Gy的第c行第d列元素,Gy(c,d)=B(c,d),c=1,2,...,m;d=1,2,...,n。
设矩阵Gy中元素的最大值用maxGy表示,矩阵Gy中元素的最小值用minGy表示。
步骤8、根据矩阵Gy中的元素的最大值和最小值来确定采样点的个数N,只需满足方程:
步骤9、构造向量Lrange,Lrange(t)为向量Lrange中的第t个元素,
。
步骤10、构造向量RandNumber,RandNumber(e)为RandNumber的第e个元素,且RandNumber(e)为整数,;
步骤11、设在矩阵Gy中与RandNumber(e)相同元素的个数为size(e),e=1,2….,N;构造矩阵Hp,设元素Hp(i,j)是矩阵Hp的第i行第j列元素,i=1,2,…,size(p);j=1,2;p=1,2,…,N;构造向量w,w(q)为向量w的第q个元素,w(q)=1,q=1,2,…,size(p),p=1,2,…,N。
步骤12、按照从上到下,从左到右的顺序,如果Gy(c,d)等于 RandNumber(e),那么Hp(w(p),1)=c;Hp(w(p),2)=d,w(p)=w(p)+1;构造向量random (i)为向量random的第i个值,random(i)的值是大于1并且小于的任意一个整数,c=1,2,…,m;d=1,2,…,n,i=1,2,…,size(p),e=p=1,2,…,N。
步骤13、构造矩阵RandTest,其中RandTest(i,j)是矩阵RandTest中的第i行第j列元素,i=1,2,…,N;j=1,2;RandTest(i,1)=Hp(random(i),1),RandTest(i,2)=Hp(random(i),2),i=1,2,…,N。
步骤14、将Image(L)上所有像素点按照从左到右,从上到下的顺序构成矩阵ZL,将矩阵ZL的行数设为r,列数设为s,设元素ZL(i,j)=(R_L(i,j),G_L(i,j),B_L(i,j)),ZL(i,j)是矩阵ZL的第i行第j列元素,其中R_L(i,j)、G_L(i,j)、B_L(i,j)分别为ZL(i,j)的RGB值i=1,2,…,r;j=1,2,…,s;L=1,2,…,A。
步骤15、构造一个向量U_R,其中U_R(X)为向量U_R中第X个元素;U_R(X)=R_L(RandTest(i,1),RandTest(i,2)),其中X=(L-1)*N+i;L=1,2,…,A,i=1,2,…,N。
步骤16、构造一个向量U_G,其中U_G(X)为向量U_G中第X个元素;当U_G(X)=G_L(RandTest(i,1),RandTest(i,2)),其中X=(L-1)*N+i;L=1,2,…,A,i=1,2,…,N。
步骤17、构造一个向量U_B,其中U_B (X)为向量U_B中第X个元素;当U_B(X)=B_L(RandTest(i,1),RandTest(i,2)),其中X=(L-1)*N+i;L=1,2,…,A,i=1,2,…,N。
步骤18、构造向量Luminance_R,Luminance_R(Y)为向量Luminance_R中的第Y个元素。使用Lumicept,读取Simulated_model中坐标为(RandTest(i,1),RandTest(i,2))的像素点R通道Luminance值,记为LuminanceR(RandTest(i,1),RandTest(i,2));则Luminance_R(Y)=S(I)*LuminanceR(RandTest(i,1),RandTest(i,2)),其中Y=(I-1)*N+i,I=1,2,…,A,i=1,2,…,N。
步骤19、构造向量Luminance_G,Luminance_G(Y)为向量Luminance_G中的第Y个元素。使用Lumicept,读取Simulated_model中坐标为(RandTest(i,1), RandTest(i,2))的像素点的G通道Luminance值,记为LuminanceG(RandTest(i,1),RandTest(i,2));则Luminance_G(Y)=S(I)*LuminanceG(RandTest(i,1),RandTest(i,2)),其中Y=(I-1)*N+i,I=1,2,…,A,i=1,2,…,N。
步骤20、构造向量Luminance_B,Luminance_B(Y)为向量Luminance_B中的第Y个元素。使用Lumicept,读取Simulated_model中坐标为(RandTest(i,1), RandTest(i,2))的像素点的B通道Luminance值,记为LuminanceB(RandTest(i,1),RandTest(i,2));则Luminance_B(Y)=S(I)*LuminanceB(RandTest(i,1),RandTest(i,2)),其中Y=(I-1)*N+i,I=1,2,…,A,i=1,2,…,N。
步骤21、构造一个矩阵表示矩阵的第ii行第jj列元素,
,
ii=0,1,2,3,4;jj=0,1,2,3,4。构造向量F1,F1(ii)表示向量F1的第ii个元素,
,ii=0,1,2,3,4;
则可根据下式
计算的值,R通道的相机响应曲线可用函数表示,
步骤22、构造一个矩阵表示矩阵的第ii行第jj列元素,
,
ii=0,1,2,3,4; jj=0,1,2,3,4。构造向量F2,F2(ii)为向量F2的第ii个元素,
,ii=0,1,2,3,4;
则可根据下式
计算的值,G通道的相机响应曲线可用函数表示,
步骤23、构造一个矩阵表示矩阵的第ii行第jj列元素,
,
ii=0,1,2,3,4;jj=0,1,2,3,4。构造向量F3,F3(ii)为向量F3的第ii个元素,
,ii=0,1,2,3,4;
则可根据下式
计算值,B通道的相机响应曲线可用函数表示,
步骤24、用相机1拍摄任意场景,获得一张照片,用变量Picture_cloud表示;拍摄Picture_cloud时相机1的曝光时间用变量ExposureTime_cloud表示。
步骤25、将Picture_cloud中所有像素点按照从左到右,从上到下的顺序构成矩阵;设矩阵P_C的行数为r,列数为s,P_C(i,j)=(P_CR(i,j), P_CG(i,j), P_CB(i,j))为矩阵P_C第i行第j列元素,P_CR(i,j)、P_CG(i,j)、P_CB(i,j))分别为P_C(i,j)的RGB值,i=1,2,…,r;j=1,2,…,s。
步骤26、令CIER=0.25100031242007470,CIEG=0.6646797942289187,CIEB=0.08431989,构造矩阵L_total,L_total(i,j)为矩阵L_total的第i行第j列元素,则L_total(i,j)可表示为:
i=1,2,…,r;j=1,2,…,s。
步骤27、Picture_cloud对应的高动态范围图像的RGB值分别用矩阵表示,分别为 的第i行第j列元素,
。
通过上述步骤可以快速、高精度地生成高动态范围图像。
本发明的积极效果是利用Lumicept软件去模拟一组干净天空的图片,构造一个记录当时天空情况的真实照度模型。对这些一系列曝光时间不同的干净天空的图片,通过上述步骤自动选取少量有限采样点的方法生成相机响应曲线,克服了传统方法中将图片的所有像素点都用于进行相机响应曲线的计算所带来的巨大开销,然而本方法根据模板图片等分灰度区间,并在等分的灰度区间内的随机选点,对每幅图片进行采样点的选取,从而大大减少了计算相机响应曲线时的像素点个数,进而降低了生成相机响应曲线所用的开销。由于所选出的点都有真实照度值与之对应,所以可以得到更加准确的相机响应曲线。最后合成高动态范围图像时,使用了CIE天空标准中的各个通道所占比例,得到的图像的真实照度值更加贴近现实。
具体实施方式
下面结合实施例对本发明做进一步的描述:一种合成高动态范围图像的方法,其特征在于:采用相机1、计算机2,并在计算机2中装有Lumincept9.31.1软件3,按以下的步骤完成:
步骤1、选择合适的场景,场景中只包括一个塔尖形状的物体,塔尖形状的物体远高于场景中的其他物体,场景中还包括没有云彩的天空,这样的场景记为Scene;
步骤2、获取塔尖形状的物体的底部到顶部之间的距离,用变量Bulid_H表示,距离的单位为米,Bulid_H=123.2m;获取塔尖形状的物体在WGS84坐标系下的经度和纬度,分别用变量Location_longitude1、Location_latitude1表示,Location_longitude1=59。55'48",Location_latitude1=30。19'12"。
步骤3、调节相机1的位置和姿态,使Scene中塔尖形状的物体的最高处位于相机1的取景器的中心位置。始终保持相机1的位置和姿态不变,获取相机1在WGS84坐标系下的经度和纬度,分别用变量Location_longitude2、Location_latitude2表示,Location_longitude2=59。57',Location_latitude2=30。19'12";由小到大的改变相机1的曝光时间A次,A=6,相机1的其他参数不变,通过相机1获取每个曝光时间对应的一张Scene照片,第I张照片的曝光时间设为S(I),曝光时间的单位为秒,第I张照片用Image(I)表示,I=1,2,...,A,S(1)=1/6400,S(2)=1/2500,S(3)=1/1600,S(4)=1/1000,S(5)=1/800,S(6)=1/640;记录拍摄第一张照片时的当地时间,用变量Time表示,Time为2016年1月1号 12:36。
步骤4、查看谷歌地图,分别找到相机1和Scene中塔尖形状的物体在谷歌地图中的位置,获得他们之间的距离,用变量Distance表示,Distance=208.69,利用Distance和Build_H的值,在Lumicept软件中模拟相机1的位置和方向。
步骤5、Lumicept软件中使用CIE(Commission Internationale de L’Eclairage)标准天空模型,根据Time、Bulid_H、Location_longitude1、Location_latitude1和Location_longitude2、Location_latitude2,在Lumicept软件中复现Image(1)中的场景,将复现的场景记为Simulated_model。
步骤6、设,寻找Image(k)中所有的天空区域,用Sky表示,将Sky中所有像素点按照从左到右,从上到下的顺序构成矩阵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,本文k=3。
步骤7、构造矩阵Gy,设元素Gy(c,d)是矩阵Gy的第c行第d列元素,Gy(c,d)=B(c,d),c=1,2,...,m;d=1,2,...,n。
设矩阵Gy中元素的最大值用maxGy表示,矩阵Gy中元素的最小值用minGy表示。
步骤8、根据矩阵Gy中的元素的最大值和最小值来确定采样点的个数N,只需满足方程:
,本文取N=16。
步骤9、构造向量Lrange,Lrange(t)为向量Lrange中的第t个元素,
。
步骤10、构造向量RandNumber,RandNumber(e)为RandNumber的第e个元素,且RandNumber(e)为整数,,e=1,2….,N-1;
步骤11、设在矩阵Gy中与RandNumber(e)相同元素的个数为size(e),e=1,2….,N;构造矩阵Hp,设元素Hp(i,j)是矩阵Hp的第i行第j列元素,i=1,2,…,size(p);j=1,2;p=1,2,…,N;构造向量w,w(q)为向量w的第q个元素,w(q)=1,q=1,2,…,size(p),p=1,2,…,N。
步骤12、按照从上到下,从左到右的顺序,如果Gy(c,d)等于 RandNumber(e),那么Hp(w(p),1)=c;Hp(w(p),2)=d,w(p)=w(p)+1;构造向量random (i)为向量random的第i个值,random(i)的值是大于1并且小于的任意一个整数,c=1,2,…,m;d=1,2,…,n,i=1,2,…,size(p),e=p=1,2,…,N。
步骤13、构造矩阵RandTest,其中RandTest(i,j)是矩阵RandTest中的第i行第j列元素,i=1,2,…,N;j=1,2;RandTest(i,1)=Hp(random(i),1),RandTest(i,2)=Hp(random(i),2),i=1,2,…,N。
步骤14、将Image(L)上所有像素点按照从左到右,从上到下的顺序构成矩阵ZL,将矩阵ZL的行数设为r,列数设为s,设元素ZL(i,j)=(R_L(i,j),G_L(i,j),B_L(i,j)),ZL(i,j)是矩阵ZL的第i行第j列元素,其中R_L(i,j)、G_L(i,j)、B_L(i,j)分别为ZL(i,j)的RGB值i=1,2,…,r;j=1,2,…,s;L=1,2,…,A。
步骤15、构造一个向量U_R,其中U_R(X)为向量U_R中第X个元素;U_R(X)=R_L(RandTest(i,1),RandTest(i,2)),其中X=(L-1)*N+i;L=1,2,…,A,i=1,2,…,N。
步骤16、构造一个向量U_G,其中U_G(X)为向量U_G中第X个元素;当U_G(X)=G_L(RandTest(i,1),RandTest(i,2)),其中X=(L-1)*N+i;L=1,2,…,A,i=1,2,…,N。
步骤17、构造一个向量U_B,其中U_B (X)为向量U_B中第X个元素;当U_B(X)=B_L(RandTest(i,1),RandTest(i,2)),其中X=(L-1)*N+i;L=1,2,…,A,i=1,2,…,N。
步骤18、构造向量Luminance_R,Luminance_R(Y)为向量Luminance_R中的第Y个元素。使用Lumicept,读取Simulated_model中坐标为(RandTest(i,1),RandTest(i,2))的像素点R通道Luminance值,记为LuminanceR(RandTest(i,1),RandTest(i,2));则Luminance_R(Y)=S(I)*LuminanceR(RandTest(i,1),RandTest(i,2)),其中Y=(I-1)*N+i,I=1,2,…,A,i=1,2,…,N。
步骤19、构造向量Luminance_G,Luminance_G(Y)为向量Luminance_G中的第Y个元素。使用Lumicept,读取Simulated_model中坐标为(RandTest(i,1), RandTest(i,2))的像素点的G通道Luminance值,记为LuminanceG(RandTest(i,1),RandTest(i,2));则Luminance_G(Y)=S(I)*LuminanceG(RandTest(i,1),RandTest(i,2)),其中Y=(I-1)*N+i,I=1,2,…,A,i=1,2,…,N。
步骤20、构造向量Luminance_B,Luminance_B(Y)为向量Luminance_B中的第Y个元素。使用Lumicept,读取Simulated_model中坐标为(RandTest(i,1), RandTest(i,2))的像素点的B通道Luminance值,记为LuminanceB(RandTest(i,1),RandTest(i,2));则Luminance_B(Y)=S(I)*LuminanceB(RandTest(i,1),RandTest(i,2)),其中Y=(I-1)*N+i,I=1,2,…,A,i=1,2,…,N。
步骤21、构造一个矩阵表示矩阵的第ii行第jj列元素,
,
ii=0,1,2,3,4;jj=0,1,2,3,4。构造向量F1,F1(ii)表示向量F1的第ii个元素,
,ii=0,1,2,3,4;
则可根据下式
计算的值,R通道的相机响应曲线可用函数表示,
步骤22、构造一个矩阵表示矩阵的第ii行第jj列元素,
,
ii=0,1,2,3,4; jj=0,1,2,3,4。构造向量F2,F2(ii)为向量F2的第ii个元素,
,ii=0,1,2,3,4;
则可根据下式
计算的值,G通道的相机响应曲线可用函数表示,
步骤23、构造一个矩阵表示矩阵的第ii行第jj列元素,
,
ii=0,1,2,3,4;jj=0,1,2,3,4。构造向量F3,F3(ii)为向量F3的第ii个元素,
,ii=0,1,2,3,4;
则可根据下式
计算值,B通道的相机响应曲线可用函数表示,
步骤24、用相机1拍摄任意场景,获得一张照片,用变量Picture_cloud表示;拍摄Picture_cloud时相机1的曝光时间用变量ExposureTime_cloud表示,ExposureTime_cloud=1/2000。
步骤25、将Picture_cloud中所有像素点按照从左到右,从上到下的顺序构成矩阵P_C;设矩阵P_C的行数为r,列数为s,P_C(i,j)=(P_CR(i,j), P_CG(i,j), P_CB(i,j))为矩阵P_C第i行第j列元素,P_CR(i,j)、P_CG(i,j)、P_CB(i,j))分别为P_C(i,j)的RGB值,i=1,2,…,r;j=1,2,…,s。
步骤26、令CIER=0.25100031242007470,CIEG=0.6646797942289187,CIEB=0.08431989,构造矩阵L_total,L_total(i,j)为矩阵L_total的第i行第j列元素,则L_total(i,j)可表示为:
i=1,2,…,r;j=1,2,…,s。
步骤27、Picture_cloud对应的高动态范围图像的RGB值分别用矩阵表示,分别为 的第i行第j列元素,
。
通过上述步骤可以快速、高精度地生成高动态范围图像。
Claims (1)
1.一种合成高动态范围图像的方法,其特征在于:在计算机中装有Lumincept9.31.1软件,按以下步骤完成:
步骤1、选择合适的场景,场景中只包括一个塔尖形状的物体,塔尖形状的物体远高于场景中的其他物体,场景中还包括没有云彩的天空,这样的场景记为Scene;
步骤2、获取塔尖形状的物体的底部到顶部之间的距离,用变量Bulid_H表示,距离的单位为米;获取塔尖形状的物体在WGS84坐标系下的经度和纬度,分别用变量Location_longitude1、Location_latitude1表示;
步骤3、调节相机的位置和姿态,使Scene中塔尖形状的物体的最高处位于相机的取景器的中心位置;始终保持相机的位置和姿态不变,获取相机在WGS84坐标系下的经度和纬度,分别用变量Location_longitude2、Location_latitude2表示;由小到大的改变相机的曝光时间A次,相机的其他参数不变,通过相机获取每个曝光时间对应的一张Scene照片,第I张照片的曝光时间设为S(I),曝光时间的单位为秒,第I张照片用Image(I)表示,I=1,2,...,A;记录拍摄第一张照片时的当地时间,用变量Time表示;
步骤4、查看谷歌地图,分别找到相机和Scene中塔尖形状的物体在谷歌地图中的位置,获得他们之间的距离,用变量Distance表示,利用Distance和Build_H的值,在Lumicept软件中模拟相机的位置和方向;
步骤5、Lumicept软件中使用CIE(Commission Internationale de L’Eclairage )标准天空模型,根据Time、Bulid_H、Location_longitude1、Location_latitude1和Location_longitude2、Location_latitude2,在Lumicept软件中复现Image(1)中的场景,将复现的场景记为Simulated_model;
步骤6、设,寻找Image(k)中所有的天空区域,用Sky表示,将Sky中所有像素点按照从左到右,从上到下的顺序构成矩阵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;
步骤7、构造矩阵Gy,设元素Gy(c,d)是矩阵Gy的第c行第d列元素,Gy(c,d)=B(c,d),c=1,2,...,m;d=1,2,...,n;
设矩阵Gy中元素的最大值用maxGy表示,矩阵Gy中元素的最小值用minGy表示;
步骤8、根据矩阵Gy中的元素的最大值和最小值来确定采样点的个数N,只需满足方程:
步骤9、构造向量Lrange,Lrange(t)为向量Lrange中的第t个元素,
;
步骤10、构造向量RandNumber,RandNumber(e)为RandNumber的第e个元素,且RandNumber(e)为整数,;
步骤11、设在矩阵Gy中与RandNumber(e)相同元素的个数为size(e),e=1,2….,N;构造矩阵Hp,设元素Hp(i,j)是矩阵Hp的第i行第j列元素,i=1,2,…,size(p);j=1,2;p=1,2,…,N;构造向量w,w(q)为向量w的第q个元素,w(q)=1,q=1,2,…,size(p),p=1,2,…,N;
步骤12、按照从上到下,从左到右的顺序,如果Gy(c,d)等于 RandNumber(e),那么Hp(w(p),1)=c;Hp(w(p),2)=d,w(p)=w(p)+1;构造向量random (i)为向量random的第i个值,random(i)的值是大于1并且小于的任意一个整数,c=1,2,…,m;d=1,2,…,n,i=1,2,…,size(p),e=p=1,2,…,N;
步骤13、构造矩阵RandTest,其中RandTest(i,j)是矩阵RandTest中的第i行第j列元素,i=1,2,…,N;j=1,2;RandTest(i,1)=Hp(random(i),1),RandTest(i,2)=Hp(random(i),2),i=1,2,…,N;
步骤14、将Image(L)上所有像素点按照从左到右,从上到下的顺序构成矩阵ZL,将矩阵ZL的行数设为r,列数设为s,设元素ZL(i,j)=(R_L(i,j),G_L(i,j),B_L(i,j)),ZL(i,j)是矩阵ZL的第i行第j列元素,其中R_L(i,j)、G_L(i,j)、B_L(i,j)分别为ZL(i,j)的RGB值i=1,2,…,r;j=1,2,…,s;L=1,2,…,A;
步骤15、构造一个向量U_R,其中U_R(X)为向量U_R中第X个元素;U_R(X)=R_L(RandTest(i,1),RandTest(i,2)),其中X=(L-1)*N+i;L=1,2,…,A,i=1,2,…,N;
步骤16、构造一个向量U_G,其中U_G(X)为向量U_G中第X个元素;当U_G(X)=G_L(RandTest(i,1),RandTest(i,2)),其中X=(L-1)*N+i;L=1,2,…,A,i=1,2,…,N;
步骤17、构造一个向量U_B,其中U_B (X)为向量U_B中第X个元素;当U_B(X)=B_L(RandTest(i,1),RandTest(i,2)),其中X=(L-1)*N+i;L=1,2,…,A,i=1,2,…,N;
步骤18、构造向量Luminance_R,Luminance_R(Y)为向量Luminance_R中的第Y个元素;使用Lumicept,读取Simulated_model中坐标为(RandTest(i,1),RandTest(i,2))的像素点R通道Luminance值,记为LuminanceR(RandTest(i,1),RandTest(i,2));则Luminance_R(Y)=S(I)*LuminanceR(RandTest(i,1),RandTest(i,2)),其中Y=(I-1)*N+i,I=1,2,…,A,i=1,2,…,N;
步骤19、构造向量Luminance_G,Luminance_G(Y)为向量Luminance_G中的第Y个元素;使用Lumicept,读取Simulated_model中坐标为(RandTest(i,1), RandTest(i,2))的像素点的G通道Luminance值,记为LuminanceG(RandTest(i,1),RandTest(i,2));则Luminance_G(Y)=S(I)*LuminanceG(RandTest(i,1),RandTest(i,2)),其中Y=(I-1)*N+i,I=1,2,…,A,i=1,2,…,N;
步骤20、构造向量Luminance_B,Luminance_B(Y)为向量Luminance_B中的第Y个元素;使用Lumicept,读取Simulated_model中坐标为(RandTest(i,1), RandTest(i,2))的像素点的B通道Luminance值,记为LuminanceB(RandTest(i,1),RandTest(i,2));则Luminance_B(Y)=S(I)*LuminanceB(RandTest(i,1),RandTest(i,2)),其中Y=(I-1)*N+i,I=1,2,…,A,i=1,2,…,N;
步骤21、构造一个矩阵表示矩阵的第ii行第jj列元素,
,
ii=0,1,2,3,4;jj=0,1,2,3,4;构造向量F1,F1(ii)表示向量F1的第ii个元素,
,ii=0,1,2,3,4;
则可根据下式
计算的值,R通道的相机响应曲线可用函数表示,
步骤22、构造一个矩阵表示矩阵的第ii行第jj列元素,
,
ii=0,1,2,3,4; jj=0,1,2,3,4;构造向量F2,F2(ii)为向量F2的第ii个元素,
,ii=0,1,2,3,4;
则可根据下式
计算的值,G通道的相机响应曲线可用函数表示,
步骤23、构造一个矩阵表示矩阵的第ii行第jj列元素,
,
ii=0,1,2,3,4;jj=0,1,2,3,4;构造向量F3,F3(ii)为向量F3的第ii个元素,
,ii=0,1,2,3,4;
则可根据下式
计算值,B通道的相机响应曲线可用函数表示,
步骤24、用相机1拍摄任意场景,获得一张照片,用变量Picture_cloud表示;拍摄Picture_cloud时相机1的曝光时间用变量ExposureTime_cloud表示;
步骤25、将Picture_cloud中所有像素点按照从左到右,从上到下的顺序构成矩阵;设矩阵P_C的行数为r,列数为s,P_C(i,j)=(P_CR(i,j), P_CG(i,j), P_CB(i,j))为矩阵P_C第i行第j列元素,P_CR(i,j)、P_CG(i,j)、P_CB(i,j))分别为P_C(i,j)的RGB值,i=1,2,…,r;j=1,2,…,s;
步骤26、令CIER=0.25100031242007470,CIEG=0.6646797942289187,CIEB=0.08431989,构造矩阵L_total,L_total(i,j)为矩阵L_total的第i行第j列元素,则L_total(i,j)可表示为:
i=1,2,…,r;j=1,2,…,s;
步骤27、Picture_cloud对应的高动态范围图像的RGB值分别用矩阵表示,分别为 的第i行第j列元素,
;
通过上述步骤可以快速、高精度地生成高动态范围图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610609269.9A CN106210554B (zh) | 2016-07-29 | 2016-07-29 | 一种合成高动态范围图像的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610609269.9A CN106210554B (zh) | 2016-07-29 | 2016-07-29 | 一种合成高动态范围图像的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106210554A true CN106210554A (zh) | 2016-12-07 |
CN106210554B CN106210554B (zh) | 2019-01-25 |
Family
ID=57496214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610609269.9A Active CN106210554B (zh) | 2016-07-29 | 2016-07-29 | 一种合成高动态范围图像的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106210554B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108492353A (zh) * | 2018-02-02 | 2018-09-04 | 珠海金山网络游戏科技有限公司 | 一种全局环境球的绘制方法和*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739710A (zh) * | 2009-11-30 | 2010-06-16 | 山东大学 | 一种室外场景光照参数恢复装置及其工作方法 |
CN101841631A (zh) * | 2009-03-20 | 2010-09-22 | 微星科技股份有限公司 | 暗部曝光补偿方法及应用该方法的图像处理装置 |
US20130229546A1 (en) * | 2010-10-05 | 2013-09-05 | Sony Computer Entertainment Inc. | Apparatus and method for generating images |
CN103795991A (zh) * | 2014-02-08 | 2014-05-14 | 厦门美图之家科技有限公司 | 一种基于单张图片的高动态范围图像生成方法 |
CN104657963A (zh) * | 2015-02-03 | 2015-05-27 | 长春理工大学 | 一种高动态范围全景图像的生成方法 |
CN104954701A (zh) * | 2015-06-19 | 2015-09-30 | 长春理工大学 | 一种相机响应曲线生成方法 |
-
2016
- 2016-07-29 CN CN201610609269.9A patent/CN106210554B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841631A (zh) * | 2009-03-20 | 2010-09-22 | 微星科技股份有限公司 | 暗部曝光补偿方法及应用该方法的图像处理装置 |
CN101739710A (zh) * | 2009-11-30 | 2010-06-16 | 山东大学 | 一种室外场景光照参数恢复装置及其工作方法 |
US20130229546A1 (en) * | 2010-10-05 | 2013-09-05 | Sony Computer Entertainment Inc. | Apparatus and method for generating images |
CN103795991A (zh) * | 2014-02-08 | 2014-05-14 | 厦门美图之家科技有限公司 | 一种基于单张图片的高动态范围图像生成方法 |
CN104657963A (zh) * | 2015-02-03 | 2015-05-27 | 长春理工大学 | 一种高动态范围全景图像的生成方法 |
CN104954701A (zh) * | 2015-06-19 | 2015-09-30 | 长春理工大学 | 一种相机响应曲线生成方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108492353A (zh) * | 2018-02-02 | 2018-09-04 | 珠海金山网络游戏科技有限公司 | 一种全局环境球的绘制方法和*** |
CN108492353B (zh) * | 2018-02-02 | 2021-12-31 | 珠海金山网络游戏科技有限公司 | 一种全局环境球的绘制方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN106210554B (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Scheerlinck et al. | CED: Color event camera dataset | |
CN105933617B (zh) | 一种用于克服动态问题影响的高动态范围图像融合方法 | |
CN101322153B (zh) | 调节数字图像的曝光和色标 | |
CN108055452A (zh) | 图像处理方法、装置及设备 | |
CN101425179B (zh) | 一种人脸图像重光照的方法及装置 | |
CN103268596B (zh) | 一种降低图像噪声和使颜色接近标准的方法 | |
CN109314752A (zh) | 图像之间的光流的有效确定 | |
CN108537155A (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN105122793B (zh) | 图像处理装置、摄像装置及图像处理程序 | |
CN107516319A (zh) | 一种高精度简易交互式抠图方法、存储设备及终端 | |
CN101527860A (zh) | 白平衡控制设备及其控制方法和摄像设备 | |
CN108154514A (zh) | 图像处理方法、装置及设备 | |
CN105847772A (zh) | 具有透明滤波器像素的成像*** | |
CN102740082A (zh) | 图像处理装置及控制方法 | |
CN107800979A (zh) | 高动态范围视频拍摄方法及拍摄装置 | |
CN109983508A (zh) | 快速傅立叶颜色恒常性 | |
CN109191403A (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 | |
CN108024054A (zh) | 图像处理方法、装置及设备 | |
CN108111749A (zh) | 图像处理方法和装置 | |
CN106017367A (zh) | 一种郁闭度的测定方法和装置 | |
CN104683779B (zh) | 自动白平衡补偿方法以及使用该方法的装置 | |
CN106165398A (zh) | 摄像元件、摄像装置以及图像处理装置 | |
CN112508812A (zh) | 图像色偏校正方法、模型训练方法、装置及设备 | |
CN112634184A (zh) | 基于融合性卷积神经网络的rgb图像光谱反射率重建方法 | |
CN104954701B (zh) | 一种相机响应曲线生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |