一种基于细节检测的清晰照片合成方法转让专利

申请号 : CN201010162169.9

文献号 : CN101853499B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 石洗凡刁常宇鲁东明

申请人 : 浙江大学

摘要 :

本发明公开了一种基于细节检测的清晰照片合成方法,对两张大小和位置关系完全对应的待合成照片中每个像素的细节程度进行计算;将第一张待合成照片中的每个像素的细节程度减去第二张待合成照片中相应位置像素的细节程度得到每个位置的像素细节程度的判别值;将每个位置的像素细节程度的判别值与设定的高阈值与低阈值进行比较,并将细节程度与设定值比较,得到每个位置的像素细节的类型值;对每个位置的像素细节的类型值进行低通滤波,去除可能的细节类型误判;根据去除误判后的每个位置的像素细节的类型值,分别选取相应的方式进行图像合成得到清晰照片。利用本发明方法能够合成清晰照片,应用于需要大景深以及中心和边缘都清晰拍摄的场合。

权利要求 :

1.一种基于细节检测的清晰照片合成方法,其特征在于:包括如下步骤:(1)计算两张大小和位置关系完全对应的待合成照片中每个像素的细节程度,所述的每个像素的细节程度是该像素周围邻域中的最大值和最小值的差别程度;

(2)将第一张待合成照片中的每个像素的细节程度减去第二张待合成照片中相应位置像素的细节程度得到每个位置的像素细节程度的判别值;

(3)将每个位置的像素细节程度的判别值与设定的高阈值与低阈值进行比较,并将细节程度与设定值比较,得到每个位置的像素细节的类型值;

(4)对每个位置的像素细节的类型值进行低通滤波,去除可能的细节类型误判;

(5)根据去除误判后的每个位置的像素细节的类型值,分别选取相应的方式进行图像合成得到清晰照片。

2.如权利要求1所述的清晰照片合成方法,其特征在于:步骤(1)中所述的像素周围邻域是该像素周围n×n方形邻域或圆形邻域。

3.如权利要求1所述的清晰照片合成方法,其特征在于:步骤(3)中,如果判别值>高阈值,则类型值pType=1;

如果判别值<低阈值,则类型值pType=2;

如果低阈值≤判别值≤高阈值,且任何一张照片中,当前位置上的像素的细节程度达到设定值,则pType=3;

剩下的全部归为一类,类型值pType=0。

4.如权利要求1所述的清晰照片合成方法,其特征在于:步骤(4)中,如果某一连续区域相同像素细节类型值的个数少于设定的阈值,则认为该像素细节类型值是误判。

5.如权利要求4述的清晰照片合成方法,其特征在于:步骤(4)所述的去除误判是将认为是误判的像素细节的类型值用其周围不是误判的像素细节的类型值代替。

6.如权利要求3所述的清晰照片合成方法,其特征在于:步骤(5)中,最终该位置合成图像的像素采用如下合成方法: 如果某位置去除误判后的像素细节的类型值为0或3,则该位置采用两张待合成照片像素的加权平均,两个权值分别为判别值与高阈值和低阈值之间的距离;

如果某位置去除误判后的像素细节的类型值为1,则选取第一张待合成照片对应位置的像素;

如果某位置去除误判后的像素细节的类型值为2,则选取第二张待合成照片对应位置的像素。

7.如权利要求6所述的清晰照片合成方法,其特征在于:如果某位置去除误判后的像素细节的类型值为0,则该位置采用两张待合成照片像素的加权平均之后,再采用合成后的周围邻域像素均值滤波进行降噪处理。

8.如权利要求1所述的清晰照片合成方法,其特征在于:步骤(1)中所述的最大值和最小值的差别程度是在某个或者某几个色彩空间中的分量或者分量的加权平均,色彩空间包括HSV、HSI、RGB、CMYK、HSL、HSB、Ycc、XYZ、Lab或YUV色彩空间。

说明书 :

一种基于细节检测的清晰照片合成方法

技术领域

[0001] 本发明涉及图像处理技术领域,尤其涉及一种清晰照片合成技术。

背景技术

[0002] 目前,相机的感光元件密度不断提高,最近索尼已经开发出了3480万全画幅的传感器,相信很快就会用在其单反产品上(佳能2100万像素的大马三(EOS 1Ds MarkIII)已经发布两年多了,根据以往三年一更新的规律,预计今年大马三将会更新)。同时,作为像素竞赛的参与者,佳能自然也不甘落后,其大马三的下一代肯定也是一款3000万以上像素的产品。
[0003] 根据国内某摄影网站对于佳能EOS 1Ds MarkIII搭配EF 50mm F1.4USM镜头时在MTF50下的锐度值结果可知,中心和边缘的最佳光圈分别为F4和F5.6。但是F4和F5.6的景深都比较浅,在实际的拍摄中,特别是一些斜面壁画或者不规则的拱形壁画很难使得光轴完全平行于被摄表面,这就导致了景深模糊问题。如果用小光圈(F8、F11甚至F16)可以获得大景深,但是却由于衍射造成整个照片图像模糊。光学上对于这类场合的解决办法是使用移轴镜头,使得某个平面成像清晰。但实际上对于一些拱形壁画一个清晰的平面并不能解决问题因为壁画本身不是画在一个平面上的。此外,移轴镜头还存在画质差和价格高等缺点。因此,可以考虑通过拍摄多张照片,每张照片有一部分相对清晰,最终合成一幅各个区域都清晰的数字图像。
[0004] 此外,在文物和考古现场的摄影中也存在类似问题,其解决方法一般是根据物体的深度和镜头上的景深标尺来选择合适的光圈。但是这样做有缺点,为了保证景深必须使用很小的光圈,因此会使得整个图像都有轻微模糊,可以说这种方法是以牺牲重要区域的清晰度来保证整个图像的清晰度。但实际上对于文物和考古现场来说,一般有个兴趣区域,这部分区域需要有更高的清晰度,可以通过增大光圈,减轻兴趣区域的衍射效应,使这部分内容清晰。而对于背景区域,使用小光圈保证景深,最后将这两幅图像合成,生成一张最佳照片。
[0005] 另外,即使对于平面被摄物体,实际上,不同的光圈下中心和边缘都有不同的分辨率,而对于一款镜头,必定存在一个最佳中心分辨率的光圈和最佳边缘分辨率的光圈,但不幸的是,这两个光圈往往不同,例如,前面的网站测试中,中心和边缘的最锐光圈分别为F4和F5.6。在胶片时代只能在这两个最佳光圈之间权衡取舍了,但在数码时代,可以利用数字图像处理技术,检测出不同光圈下不同区域的照片锐度,把最锐利的区域组合起来,最终合成一张中心和边缘都是最锐利的图像。

发明内容

[0006] 本发明提供了一种基于细节检测的清晰照片合成方法,通过算法自动判定若干张照片中的清晰部分,最终合成一张各部分都清晰的照片。可以应用于需要大景深清晰以及中心和边缘都清晰的拍摄场合。
[0007] 一种基于细节检测的清晰照片合成的方法,包括:
[0008] (1)计算两张大小和位置关系完全对应的待合成照片中每个像素的细节程度;
[0009] 假设待合成的两张照片大小和位置关系完全对应(如果不满足,可以首先利用配准算法配准并调整使之满足),并假设待合成的两张照片亮度和色彩基本一致(如果不满足,可以首先调整使之满足)。
[0010] 所谓细节可以理解为物体边缘(边界)的对比度,比如树枝和背景天空交界处,如果细节丰富,那么照片中边界处的树枝和天空所在的像素仍然会保持原来的颜色;反之,则这些像素中树枝和天空的颜色会融合在一起,因此,可以用一个小区域内最大值和最小值的差值来表征。这个值是在某个色彩空间中的分量或者分量的加权平均,而色彩空间可以根据需要灵活选取,包括但不限于HSV、HSI、RGB、CMYK、HSL、HSB、Ycc、XYZ、Lab以及YUV等。更进一步甚至可以将不同色彩空间中的分量加权平均,比如CMYK中的M和HSV中的H的加权平均。所谓的小区域是可以是该像素周围n×n(比如n=3)邻域或者其它某种取邻域方法(比如圆形邻域)。因此,最终某个像素的细节程度可以用该像素周围邻域中所有像素在某(几)个色彩空间中的某个值(或者某几个值的平均)的最大值和最小值的差别程度来描述。设想如果是一个模糊图像,显然,无论在任何色彩空间,在该像素的小邻域内最大和最小值差别不大;而对于清晰图像,则至少在某个色彩空间中,存在某个分量存在较大差别。
[0011] (2)将第一张待合成照片中的每个像素的细节程度减去第二张待合成照片中相应位置像素的细节程度得到每个位置的像素细节程度的判别值;
[0012] (3)将每个位置的像素细节程度的判别值与设定的高阈值与低阈值进行比较,得到每个位置的像素细节的类型值;
[0013] 如果判别值>高阈值,则类型值pType=1;
[0014] 如果判别值<低阈值,则类型值pType=2;
[0015] 如果低阈值≤判别值≤高阈值,且任何一张照片中,当前位置上的像素的细节程度达到设定值,则pType=3;像素的细节程度的设定值可以根据需要进行设定;设定值高则表示要求照片中细节程度很明显才能被检测出来,设定值低则表示对照片中的细节程度要求不高;
[0016] 剩下的全部归为一类,即类型值pType=0,因为初始时pType全部设置为0。
[0017] (4)对每个位置的像素细节的类型值进行低通滤波,去除可能的细节类型误判;
[0018] 如果某个像素所在连通(pType相同)区域的像素个数少于一定阈值,则认为该像素所在连通区域的pType都是误判,用该连通区域周围像素的pType来代替。
[0019] 由于pTye比较抽象,可以想象成有幅pTye类型图像,不同的pType对应不同的颜色,比如上述的1、2、3和4分别对应红、绿、蓝和黑。可以设想,染色后的pType类型图被分割成一块块颜色各异的子区域,每个子区域的颜色相同,其内任何两个像素是连通的,所谓的连通是指这两个像素之间至少存在一条路经,这条路经上所有点(包括起点和终点)的颜色(即pType)相同。
[0020] (5)根据去除误判后的每个位置的像素细节的类型值,分别选取相应的方式进行图像合成得到清晰照片;
[0021] 可以看到,经过步骤(4)处理后,每个像素被分成如下四类,最终的图像合成方法如下:
[0022] 如果类型值pType=0,表明该位置在两张图上的像素细节都较少或都没细节,最终合成图像采用经降噪处理的两张图像的加权平均;两个权值分别为判别值与高阈值和低阈值的距离。
[0023] 作为优选,采用所述的加权平均后,再采用合成后的周围邻域像素均值滤波进行降噪处理(先加权平均后降噪),通过降噪可以使得处理后的图像看起来噪声更少。
[0024] 这主要是由于两张图曝光可能有轻微差别。如果没有经过校正或者校正后仍然存在亮度不一致,比如可以设想是这样一种情况,在一块白色背景下,两张图几乎都没有细节,但是两张图白色背景所在的这些位置的细节程度很难完全一致,而加权是根据判别值来的,判别值又是根据细节程度计算的,故判别值可能存在一定的波动。进一步可以设想如下场景,第一张图白色背景区域偏亮而第二张偏暗,假设相邻的两个像素的判别值存在一定差别,那么合成后的图像中这两个相邻像素由于权值不同而导致存在差别,也就是合成算法“人为”地制造出了本来不存在的细节,此类假细节(噪点)显然是不希望的,也是需要加以去除的。反之,如果此处本来就存在一定细节,那么相邻像素由于权值不同导致的误差不足以影响真实细节或者说会被真实细节所掩盖(即真实的细节差别大于甚至远大于误差)。因此,这就是类型值为0和为3需要分别对待的原因。类型值为0时略微降噪会抹掉那些假细节(噪点),而类型值为3时如果降噪反而会减弱甚至抹除本来存在的细节。
[0025] 如果类型值pType=1,说明第一张图像明显有更多细节,则最终图像取第一张。
[0026] 如果类型值pType=2,说明第二张图像明显有更多细节,则最终图像取第二张。
[0027] 如果类型值pType=3,说明至少其中一张图像有细节,并且清晰程度基本相当,则最终合成图像采用两张图像的加权平均,两个权值分别为判别值与高阈值和低阈值之间的距离。
[0028] 本发明方法通过算法自动判定若干张照片中的清晰部分,最终合成一张各部分都清晰的照片。可以应用于需要大景深以及中心和边缘都清晰的拍摄场合。

附图说明

[0029] 图1为大光圈的拍摄效果图。
[0030] 图2为小光圈的拍摄效果图。
[0031] 图3为大光圈的拍摄结果的分行放大显示图。
[0032] 图4为小光圈的拍摄结果的分行放大显示图。
[0033] 图5为大光圈的拍摄结果与小光圈的拍摄结果合成以后的分行放大显示图。

具体实施方式

[0034] 使用Canon EF 28-135镜头在Canon EOS 400D机身上在135端分别用F5.6和F16拍摄两张笔记本(ThinkPad W500)上显示的内容,相机的镜头光轴不垂直于笔记本电脑的屏幕,而是有一定的夹角(45度),人为产生景深效果,而笔记本屏幕垂直于桌面,相机镜头的光轴平行于桌面。拍摄两张照片时除了光圈大小作了调整,其余包括相机位置、朝向以及镜头和焦距等都不变,这么做是为了保证拍摄的两张照片中同样物体的位置不发生变化。
[0035] 在使用大光圈(F5.6)拍摄时,景深范围内的部分非常清晰,而范围以外的部分就比较模糊。相反,采用小光圈(F16)拍摄,景深较大,但由于衍射效应,整张图都稍有模糊,但是仍然比使用大光圈的景深范围外的部分清楚。
[0036] 由于Canon EOS 400D的分辨率非常高而版面大小有限,为了说明算法的效果,对图像作了简化处理。首先,在竖直方向,由于物距相同,因此选取了120像素高度的一段,已经足够具有代表性。然后,在水平方向,原始照片的最右边相比图1的右边更模糊,因此也去除了。此外,为了使得模糊程度明显,选用了15英寸的高分辨率WUXGA显示屏,而镜头有一定的最近对焦距离,因此,无法使得显示屏充满整个画面。综合这两方面的因素,最终从使用大光圈(F5.6)拍摄的照片中抽取大小为2400像素×128像素的区域得到图1,从使用小光圈(F16)拍摄的照片中相应位置抽取大小为2400像素×128像素的区域得到图2,考虑到图1和图2可能不够清楚,将它们分行放大显示,结果分别如图3和图4所示。
[0037] 对图1和图2中每个像素的细节程度进行计算;像素细节程度用该像素周围3×3邻域中的最大和最小值的差别程度来描述。计算最大值和最小值的差别程度时取所述的3×3邻域中所有像素的RGB通道中的R通道的值,最大的R值与最小的R值相减,即得到差别程度。
[0038] 将第一张待合成照片(图1)中的每个像素的细节程度减去第二张待合成照片(图2)中相应位置像素的细节程度得到每个位置的像素细节程度的判别值;
[0039] 将每个位置的像素细节程度的判别值与设定的高阈值与低阈值进行比较,并将细节程度与设定值比较,得到每个位置的像素细节的类型值;
[0040] 如果判别值>高阈值(取15),则类型值pType=1;
[0041] 如果判别值<低阈值(取-11),则类型值pType=2;
[0042] 如果-11≤判别值≤15,且任何一张照片中,当前位置上的像素的细节程度达到设定值35,则pType=3;
[0043] 剩下的全部归为一类,即类型值pType=0,因为初始时pType全部清零。
[0044] 对每个位置的像素细节的类型值进行低通滤波,去除可能的细节类型误判;如果某个像素所在连通区域的像素个数少于一定阈值(10个),则认为该像素所在连通区域的pType都是误判,用该连通区域周围像素的pType代替。
[0045] 去除噪声后,再根据每个位置的像素细节的类型值分别进行合成处理:
[0046] 如果类型值pType=0,说明两张图像都没细节,最终合成图像采用经降噪处理的两张图像的加权平均(先平均后降噪),两个权值分别为判别值与高阈值和低阈值之间的距离。
[0047] 如果类型值pType=1,说明第一张图像明显有更多细节,则最终图像取第一张。
[0048] 如果类型值pType=2,说明第二张图像明显有更多细节,则最终图像取第二张。
[0049] 如果类型值pType=3,说明至少其中一张图像有细节,并且清晰程度基本相当,则最终合成图像采用两张图像的加权平均,两个权值分别为判别值与高阈值和低阈值之间的距离。
[0050] 对图1和图2中每个位置的像素细节的类型值进行相应的判断及像素合成后,得到清晰照片,分行放大显示,如图5所示,可以看到,通过合成,确实吸收了两张照片的优点,达到了比两张中任何一张都清晰的效果。