图像处理装置、图像处理方法及程序的制作方法

文档序号:7739823阅读:115来源:国知局
专利名称:图像处理装置、图像处理方法及程序的制作方法
技术领域
本发明涉及图像处理装置、图像处理方法及程序,并且更具体地涉及从多个图像 生成全景图像(panoramic image)的图像处理装置。
背景技术
已广泛采取了全景摄影,其中,从通过在摇动(panning)相机的同时执行 连续拍摄所捕获的多个图像中生成全景图像(例如,参见日本未实审专利申请公报 No. 2000-299804)。下面将描述详细示例。 用户在摇动相机的同时对图16所示的场景捕获多个图像;即,在水平方向上顺序 地移动拍摄位置。例如,用户将相机安装在能够在水平方向上旋转的三脚架上,并且在水平 方向上手动摇动相机的同时执行拍摄。图16中的场景包括建筑300和行走的人301。当在 摇动相机的同时在这种情形中执行连续拍摄时,例如可以捕获图17所示的N个图像Pl至 PN。 在图17中,未示出图像P5至PN-3。此夕卜,由于仅在水平方向上移动相机,因此实 际上,图像之间在Y轴方向上未出现位置位移而仅在X轴方向上出现了位置位移。然而,在 图中,故意绘制了图像Pl至PN的矩形区域以使得在垂直方向上彼此轻微地位移,这是因为 否则它们将重叠从而变得难以观看。从这N个图像中,生成了一个全景图像(在图17中用 虚线围绕起来的)Q。 从N个输入图像P1至PN生成全景图像Q的方法如下。首先,计算N个输入图像 P1至PN之间的位置关系。g卩,计算输入图像之间的位移量。然后,在被位移了位移量的位 置处排列输入图像。在N个输入图像Pl至PN被排列为彼此位移的状态中,计算包括在N 个输入图像Pl至PN中的矩形区域。该矩形区域是要输出的全景图像Q。
现在关注全景图像Q的每个位置(X, Y),当在该位置(X, Y)处仅存在一个输入图 像时,该输入图像的位置(X, Y)处的像素值被用作全景图像Q的位置(X, Y)处的像素值。 当该位置(X,Y)处存在多个输入图像时,这些输入图像的位置(X,Y)处的像素值的平均值 被用作全景图像Q的位置(X, Y)处的像素值。

发明内容
如上所述,当从多个图像生成全景图像Q时,需要确定全景图像Q的区域,并且确
定该区域内的每个位置处的像素值。在此情况中,存在要考虑的待定问题。 待定问题l 在由相机捕获的图像中,由于镜头失真(lens distortion),因而通常会发生桶型 失真(barrel-type distortion)或枕型失真(pincushion-typedistortion)。 当方形网 格的图像被捕获时,用户可以期望如图18A所示的图像。然而,在实际情况中,获得了如图 18B所示的包括桶型失真的图像或者如图18C所示的包括枕型失真的图像。
当在全景图像Q的位置(X, Y)处存在多个输入图像时,如果输入图像是无失真的理想图像,则每个输入图像的位置(X,Y)处的像素值将具有相同的值。然而,由于输入图像
具有失真,因此,每个输入图像的位置(X,Y)处的像素值将具有不同值。 因此,当如上所述在全景图像Q的位置(X,Y)处存在多个输入图像,并且将这些输
入图像的位置(X,Y)处的像素值的平均值用作全景图像Q的位置(X,Y)处的像素值时,像
素值将不是适当的值。 待定问题2 如上所述,当在全景图像Q的位置(X,Y)处存在多个输入图像时,通过将这些输入 图像的位置(X,Y)处的像素值的平均值用作全景图像Q的位置(X,Y)处的像素值,可以减 少噪声分量。即,当在全景图像Q的位置(X,Y)处存在多个输入图像时,使用尽可能多的输 入图像可能是有利的。然而,当仅利用多个输入图像中的一个输入图像来确定全景图像Q 的像素值时,不能获得降噪效果。
待定问题3 各个输入图像是在不同时间捕获的。因此,运动对象(例如,图16和17中的行走 的人301)将被投射到不同图像以及各个输入图像中的不同位置处。因此,当将多个输入图 像的平均像素值用作全景图像的像素值时,可能发生图像模糊,就好像该范围的区域经过 了多次曝光一样。因此,当如上所述在全景图像Q的位置(X,Y)处存在多个输入图像,并且 运动对象被投射在该位置处时,仅使用多个输入图像中的一个输入图像可能是有利的。
这三个问题是待定的。可以从这些待定问题中得出下面的结论。即,从待定问题 1得出的结论为不使用各个输入图像中包括不同类型的失真的区域是有利的。从待定问题 2得出的结论为由于每个输入图像的外围部分也是有用的因此使用尽可能多的图像是有利 的。从待定问题3得出的结论为当运动对象被投射在输入图像中时,仅使用输入图像之一 是有利的。这些结论有时可能产生相矛盾的结论。即,难以定义从输入图像生成全景图像 的系统性方法,该方法系统性地定义了每个输入图像中的哪个区域应当用来生成全景图像 并且哪个区域应当被去除。 因此,希望使得能够从多个图像中适当地获得全景图像。 根据本发明的一个实施例,提供了一种图像处理装置,该图像处理装置包括第一 图像处理器,被配置为接收通过在预定方向上顺序地转移拍摄位置而捕获的多个图像来作 为图像序列,并且针对所述图像序列中除第一图像之外的图像,将与在所述图像序列中优 先使用的优先区域相重叠的第一重叠区域设置为禁止使用区域,所述图像包括所述第一重 叠区域;第二图像处理器,被配置为将第二或第三图像的第二重叠区域设置为禁止使用区 域,所述第二和第三图像在所述图像序列中具有被预定间隔隔开的顺序;以及图像生成器, 被配置为利用包括在所述图像序列中的多个图像中除了被所述第一图像处理器和所述第 二图像处理器设为禁止使用区域的区域之外的区域,来生成输出图像。 在本发明的实施例中,从图像序列生成输出图像。图像序列包括通过在预定方向 上转移拍摄位置而捕获的多个图像。例如,从在摇动相机的同时连续拍摄的多个图像生成 一个全景图像。 包括在图像序列中的每个图像的禁止使用区域由第一图像处理器和第二图像处 理器设置。在第一图像处理器中,当在第一图像中指定了在图像序列中优先使用的优先区 域时,针对除第一图像以外的图像序列中包括第一重叠区域的图像,来将与优先区域重叠的第一重叠区域设置为禁止使用区域。例如,通过用户操作用户操作单元来指定优先区域。
在第二图像处理器中,当在图像序列中的顺序被预定间隔相隔的第二和第三图像 具有第二重叠区域时,第二或第三图像的第二重叠区域被设为禁止使用区域。例如,通过用 户操作用户操作单元来设置顺序之间的预定间隔。 如上所述,根据本发明的实施例,当在图像中指定了优先区域时,其它图像中与优 先区域相重叠的区域被设置为禁止使用区域。因此,当投射了运动对象的区域被用户指定 为优先区域时,则在生成全景图像时例如仅将一个图像用于该区域。因此,可以防止出现图 像模糊,例如不希望的多次曝光。 此外,如上所述,根据本发明的实施例,当顺序被预定间隔相隔的两个图像具有重 叠区域时,重叠区域之一被设为禁止使用区域。因此,用于生成全景图像的输入图像的重 叠图像数目被限制,由此可以减少因镜头失真而从每个输入图像的位置位移产生的图像模 糊。 根据本发明的实施例,当在图像中指定了优先区域时,其它区域中与优先区域重 叠的区域被设置为禁止使用区域。当顺序被预定间隔相隔的两个图像具有重叠区域时,重 叠区域之一被设为禁止使用区域。因此,可以从多个图像适当地生成全景图像。


图1是图示出根据本发明实施例的数码相机的示例性配置的框图。 图2是图示出全景图像生成器中的全景图像生成处理的处理过程的流程图。 图3是图示出当生成全景图像时用于确定每个输入图像的使用区域的处理的示图。 图4是图示出当生成全景图像时用于确定每个输入图像的使用区域的处理的示 图。 图5A至5C是图示出因镜头失真(桶型失真和枕型失真)而从每个图像的位置位 移中产生的模糊的示图。 图6是图示出当生成全景图像时用于确定每个输入图像的使用区域的处理的示 图。 图7是图示出用于确定每个输入图像的使用区域(UL[i],UR[i])的详细处理过程 的示例的流程图。 图8是图示出用于确定另一输入图像中与优先区域重叠的区域(重叠区域)作为 非使用区域(去除区域)的详细处理过程的示图。 图9是图示出用于限制每个输入图像的使用区域以便限制正常的重叠图像数目 的详细处理过程的示图。 图10是图示出用于限制每个输入图像的使用区域以便限制正常的重叠图像数目 的详细处理过程的流程图。 图11是图示出用于限制每个输入图像的使用区域以便限制重叠图像的最大数目 的详细处理过程的示图。 图12是图示出用于限制每个输入图像的使用区域以便限制重叠图像的最大数目 的详细处理过程的流程图。
图13是图示出用于确定每个输入图像的使用区域(UL[i], UR[i])的详细处理过 程的另一示例的流程图。 图14是图示出用于确定每个输入图像的使用区域(UL[i], UR[i])的详细处理过 程的另一示例的流程图。 图15是图示出用于生成全景图像的计算设备的示例性配置的框图。 图16是图示出包括建筑和行走的人在内的场景的一个示例的示图。 图17是图示出通过在摇动相机的同时执行连续拍摄而捕获的N个图像P1至PN
的示例的示图。 图18A至18C是图示出在所捕获图像中因镜头失真而产生的图像失真(例如,桶 型失真和枕型失真)的示图。
具体实施例方式
下面,将描述用于实现本发明的实施方式(此后称为实施例)。将以下面的顺序给 出描述 1.实施例 2.修改 1.实施例 数码相机的示例性配置 图1图示出了根据本发明实施例的数码相机100的示例性配置。数码相机100包 括CPU(中央处理单元)101、R0M(只读存储器)102、RAM(随机存取存储器)103以及用户操 作单元104。数码相机100还包括成像单元111、图像信号处理器112、 A/D(模/数)转换 器113、数字信号处理器(DSP) 114、记录/回放单元115以及显示单元117。
CPU 101控制数码相机100的各个部分。ROM 102存储CPU 101的控制程序等。 RAM 103例如用于临时存储CPU 101的控制处理所需的数据。CPU 101将从ROM 102读取 的程序或数据扩展到RAM 103以运行程序,从而控制数码相机100的各个部分。
用户操作单元104构成用户接口,并且经由总线105连接到CPUIOI。用户操作单 元104包括被布置在数码相机100的未示出的外壳表面上的键、按钮、标度盘等。CPU 101 分析经由总线105从用户操作单元104输入的信息,以响应于用户的操作来执行控制。
成像单元111对物体成像以输出该物体所对应的捕获图像信号。成像单元111由 C-MOS(互补金属氧化物半导体)成像元件或CCD(电荷耦合器件)成像元件构成。图像信 号处理器112对从成像单元111输出的捕获图像信号(模拟信号)执行处理,例如采样/ 保持以及增益控制。 A/D转换器113将从图像信号处理器112输出的捕获图像信号从模拟信号转换为 数字信号。数字信号处理器114对从A/D转换器113提供来的捕获图像信号执行图像信号 处理。这里提及的图像处理包括白平衡处理和伽马校正处理。由于这些处理是通用数码相 机中执行,因此将省略其细节。 在此实施例中,数字信号处理器114包括执行全景图像生成处理的全景图像生成 器120。全景图像生成处理是从通过在摇动相机的同时执行连续拍摄而捕获的多个图像,即 在水平方向上顺序地位移拍摄位置时所捕获的多个图像来生成全景图像的处理。这里,多个图像形成了图像序列。后面将描述全景图像生成处理的细节。 数字信号处理器114将经过处理的图像数据传送到显示单元117和记录/回放单 元115。记录/回放单元115将与用户的快门操作相对应的静态图像数据写入主要为闪存 的可移除记录介质116/从主要为闪存的可移除记录介质116读取与用户的快门操作相对 应的静态图像数据。显示单元117由例如安装在数码相机100的后表面上的诸如LCD(液 晶显示装置)之类的显示面板构成。显示单元117显示捕获的图像、由记录/回放单元115 从记录介质116读取的图像,以及对用户有用的各种信息。 接下来,描述图1所示的数码相机100的操作。在记录模式中,数码相机100执行 下面的操作。通过成像单元111的成像处理获得的所捕获图像信号被提供给图像信号处理 器112,其中,诸如采样/保持以及增益控制之类的处理被执行。从图像信号处理器112输 出的所捕获图像信号由A/D转换器113从模拟信号转换为数字信号,并且随后被提供给数 字信号处理器114。在数字信号处理器114中,使从A/D转换器113提供来的所捕获图像信 号经过图像信号处理,例如白平衡处理和伽马校正处理。 通过数字信号处理器114的处理而获得的图像数据被传送给显示单元117。以这 种方式,所捕获的图像被显示在显示单元117上,并且相机进入监视状态。在这种监视状态 中,当用户利用用户操作单元104执行快门操作时,CPU 101控制数字信号处理器114和记 录/回放单元115,以使得响应于快门操作而将静态图像数据写入记录介质116中。在此情 况中,例如,当用户在摇动相机的同时,即在水平方向上顺序地位移拍摄位置的同时执行快 门操作时,用于生成全景图像的多个图像的静态图像数据被写入记录介质116中。
在回放模式中,数码相机100执行下面的操作。在记录/回放单元115中,从记录 介质116读出通过用户操作单元104上的用户操作选择的静态图像数据。静态图像数据经 由数字信号处理器114从记录/回放单元115被提供给显示单元117。以这种方式,回放图 像显示在显示单元117上。
全景图像生成处理 接下来,描述全景图像生成处理。全景图像是由数字信号处理器114中的全景图 像生成器120在CPU IOI的控制下生成的。图2的流程示出了全景图像生成器120中 的全景图像生成处理的处理过程。 当用户操作用户操作单元104来发出全景图像生成命令时,全景图像生成器120 在步骤ST1处开始全景图像生成处理。当发出了全景图像生成命令时,用户例如通过选择 记录在记录介质116中的静态图像数据文件来指定将用于生成全景图像的多个图像(图像 序列)。 然后,在步骤ST2,全景图像生成器120接收将用于生成全景图像的多个图像(N个 图像Pl至PN)。在此情况中,全景图像生成器120经由记录/回放单元115从记录介质116 读取多个图像的静态图像数据,并且将静态图像数据临时存储在由诸如SDRAM之类的半导 体存储器构成的未示出的存储器中。 然后,在步骤ST3,全景图像生成器120对多个图像执行对齐(alignment)。在此 情况中,全景图像生成器120通过计算图像之间的相关性来执行对齐。相关领域中公知的 块匹配方法可以用作计算图像之间的相关性的方法;因此,将省略其详细描述。通过对齐多 个图像,每个输入图像Pi(i = 1至N)的左边缘的X坐标X[i]被确定(参见图3和图4)。
8
然后,在步骤ST4,全景图像生成器120确定每个输入图像的使用区域。这里,将参 考图3至图5描述确定每个输入图像的使用区域的方法。 由于N个输入图像PI至PN是通过在水平方向上摇动相机的同时执行连续拍摄而 捕获的图像,因此,在Y轴方向上不产生位置位移。因此,仅需要考虑X轴方向上的位置位 移。图3和图4是图示出X轴方向上的位置位移的示图。在图3中,P1至PN是上述输入 图像,其中,未示出P13至PN-2。由于输入图像P1至PN是在摇动相机的同时捕获的,因此, 它们位于在X轴的正向上位移的位置处。每个输入图像Pi(i = 1至N)的左边缘的X坐标 用X[i]表示。 现在关注图3中的位置"A"。在此位置处,存在六个输入图像P6至Pll。因此,根 据现有技术的方法,全景图像Q的位置"A"处的像素值将为输入图像P6至Pll的位置"A" 处的像素值的平均值。输入图像P6中的位置"A"对应于图像的右边缘,并且输入图像Pll 中的位置"A"对应于图像的左边缘。 如先前在现有技术部分中描述的,如果不存在失真,则如图5A所示,在输入图像 P6与输入图像Pll之间绝对不存在位置位移,因此,不存在问题。然而,如果存在枕型失真, 则例如如图5B所示的,输入图像P6与输入图像Pll之间的位置位移增加。因此,全景图像 Q不会成为适当的图像。这同样适用于桶型失真。 现在关注图3中的范围"B"。假设运动对象(例如,图16和17中的行走的人301) 投射到此范围中。在此范围中,存在7个输入图像P2至P8。因此,根据现有技术的方法,全 景图像Q的范围"B"中的每个位置处的像素值将是输入图像P2至P8的这些位置处的像素 值的平均值。由于输入图像P2至P8是顺序捕获的,因此,它们不是同时捕获的。因此,运 动对象将被投射到不同图像以及输入图像P2至P8中的不同位置处。因此,当将多个输入 图像的平均像素值用作全景图像的像素值时,可能出现图像模糊,就好像该范围的区域经 过了多次曝光一样。 这里,通过某种方法来假设在如图4所示的输入图像Pl至PN中,仅能够使用实线 所示的区域而将虚线所示的区域用作非使用区域。即,将考虑这样的情况,其中,仅利用输 入图像Pl至PN中由实线所示的区域来生成全景图像Q。 在此情况中,在位置"A"处,与图3的情况不同,仅存在两个输入图像P6和P7。全 景图像Q在位置"A"处的像素值为输入图像P6和输入图像P7的位置"A"处的像素值的平 均值。输入图像P6中的位置"A"对应于图像的右边缘,而输入图像P7中的位置"A"也对 应于图像的右边缘。即使当两个图像具有枕型失真,输入图像P6和输入图像P7也将为如 图5C所示的这种关系。 g卩,输入图像P6中的位置"A"(图像的右边缘)与输入图像P7中的位置"A"(近似 图像的右边缘)具有相同的失真,并且在它们经受了类似程度的枕型失真的状态中相连, 并且位置位移是微小的。因此,全景图像Q将成为适当的图像。这同样适用于桶型失真。
此夕卜,在范围"B"中,与图3的情况不同,仅存在一个输入图像P4。因此,全景图像 Q的范围"B"中的每个位置处的像素值将与输入图像P4的对应像素值相同。因此,将不会 出现诸如不希望的多次曝光之类的图像模糊问题,而当将多个输入图像的平均像素值用作 全景图像的像素值时会出现这种问题。 如从上面的描述所理解的,当生成全景图像时,使得每个图像区域自动地被分割为如图4所示的虚线区域(非使用区域)和实线区域(使用区域)是一个重要问题。
在步骤ST4,全景图像生成器120通过考虑在相关技术部分提到的三个待定问题 来设置输入图像P1至PN的每个的非使用区域(图4中的虚线区域),从而确定每个输入图 像的使用区域(图4中的实线区域)。后面将提供此确定处理的细节。
现在参考图2,随后,在步骤ST5,全景图像生成器120生成作为输出图像的全景图 像Q。具体地,N个输入图像P1至PN中(其中,在步骤ST4中限制了使用区域)所包括的 矩形区域被用作与全景图像Q相对应的区域。现在关注全景图像Q的每个位置(X,Y)。当 该位置(X,Y)处仅存在一个输入图像(其中,在步骤ST4中限制了使用区域)时,该输入图 像的像素值被用作全景图像Q的位置(X,Y)处的像素值。当在该位置(X,Y)处存在多个输 入图像(其中,在步骤ST4中限制了使用区域)时,这些输入图像的像素值的平均值被用作 全景图像Q的位置(X, Y)处的像素值。 然后,在步骤ST6,全景图像生成器120将在步骤ST5中确定了其像素值的全景图 像Q输出作为输出图像。在此情况中,全景图像生成器120在记录/回放单元115的辅助 下将全景图像Q的静态图像数据写入记录介质116。此外,在此情况中,全景图像Q的静态 图像数据被提供给显示单元117,并且所生成的全景图像Q显示在显示单元117上。以这种 方式,用户能够监视所生成的全景图像Q。 在步骤ST6的处理之后,全景图像生成器120在步骤ST7中终止用于生成全景图
像Q的处理序列。 使用区域确定处理 接下来,将描述全景图像生成器120中的上述使用区域确定处理(图2中的步骤 ST4的处理)的细节。具体地,该确定处理是确定每个输入图像Pi(i = 1至N)的使用区域 ARUi(其从UL[i]延伸至UR[i],其中,X[i]为基准位置)的处理,如图6所示。在图6中, H是输入图像Pi的宽度,并且PL[i]和PR[i]是由用户指定的值(后面将描述)。
具体地,图2中的步骤ST4的处理,即确定使用区域(具体地,UL[i]和UR[i])的 处理通过图7的流程图所示的处理过程来实现。 在步骤ST11,全景图像生成器120开始处理,并且随后前进到步骤ST12。在步骤 ST12,全景图像生成器120接收N个输入图像P1至PN之间的位置关系,具体地为输入图像 Pl至PN的左边缘的X坐标X[l]至X[N]。输入图像P1至PN的左边缘的X坐标X[l]至 X[N]是在通过对齐多个图像来确定每个图像的位置(图2的步骤ST3)的同时确定的。
接下来,全景图像生成器120前进到步骤ST13。在步骤ST13,允许用户指定优先 区域PARi。在此情况中,用户操作用户操作单元104(参见图1)针对输入图像Pi按照需 要来指定PL[i]和PR[i](参见图6),从而指定优先区域PARi。这里,"按照需要"意思是 对于某个i可以不指定。即,可以针对所有i(i = 1至N)指定PL[i]和PR[i],并且PL[i] 和PR[i]中的任一个也可以不是对所有i(i = 1至N)都指定。 例如,用户在监视输入图像Pi的同时指定PL[i]和PR[i]以使得优先区域PARi 包括运动对象的投射区域。在此情况中,满足0《PL[i] <PR[i]《H的关系。例如,当在 图16和17所示的状态中捕获图像时,用户可以针对输入图像P4来指定包括行走的人301 的投射区域在内的区域(图3中的范围B)。更具体地,将包括行走的人301的投射区域在 内的区域的左边缘的位置指定为PL[4],并且将包括行走的人301的投射区域在内的区域
10的右边缘的位置指定为PR[4]。 接下来,全景图像生成器120前进到步骤ST14。在步骤ST14中,全景图像生成器 120初始化每个输入图像Pi(i = 1至N)的使用区域。S卩,针对所有i(i = 1至N), UL[i] 二O并且UR[i] =H。这里,H是每个输入图像的宽度,如上所述。用于该处理的伪码如下。
〃伪码用于设置每个图像的使用区域的参数的初始值的子程序
for(i = 1 to N) {
UL[i] = 0 ;
UR[i] = H ;
} 〃伪码结束 接下来,全景图像生成器120前进到步骤ST15。在步骤ST15中,全景图像生成器 120将另一输入图像中与在步骤ST13中指定的优先区域重叠的区域(重叠区域)设置为非 使用区域(去除区域)。即,全景图像生成器120更新每个输入图像Pi的UL[i]和UR[i] 以便去除重叠区域。 这是解决在相关技术部分提到的待定问题3的对策。将参考图8描述详细的处理 过程。在图8中,图示出了作为输入图像一部分的六个输入图像Pi-2至Pi+3。此外,在步 骤ST13中,假设在输入图像Pi中指定了优先区域PARi (具体地,PL[i]和PR[i])。
具有每个图像一个像素的向下的斜率的直线LINEO是从自输入图像Pi的优先区 域PARi的右边缘向左位移了预定裕量(margin)(例如,5个像素)的位置来绘制的。在 输入图像Pi+1至PN的部分中将,位于直线LINEO的左边的部分用作非使用区域(去除区 域)UUL,而将其余部分用作使用区域。类似地,具有每个图像一个像素的向下的斜率的直 线LINEl是从自输入图像Pi的优先区域PARi的左边缘向右位移了预定裕量(例如,5个像 素)的位置来绘制的。在输入图像Pl至Pi-l的部分中,将位于直线LINE1的右边的部分 用作非使用区域(去除区域)UUR,而将其余部分用作使用区域。 通过这样做,其它输入图像中位于与输入图像Pi的优先区域PARi相同位置处的 区域(重叠区域)被去除,并且在此优先区域中,将仅由输入图像Pi来形成全景图像Q。用 于此处理的伪码如下。 〃伪码用于去除与优先区域重叠的去除部分的子程序
margin = 5 : for(i = 1 to N&#8211 ;1) {〃注:递增循环
if (在Inputlmage[i]中指定了优先区域){
leftLimit = X[i]+PR[i]&#8211 ;margin ; for(j = i+1 to N) {〃注递增循环 ++leftLimit ; tmpLowerLimit = leftLimit &#8211 ;X[j]; if饥[j] < tmpLowerLimit) (UL[j] = tmpLowerLimit ;} } } }
for (i = N to 2) {〃注递减循环 if(在Inputlmage[i]中指定了优先区域) if (UL[i] <= PR[i]) { 〃注如果UL[i]大于PR[i],则忽略Inputlmage[i]的优先区域。 if (UL[i] <= PL[i]) { rightLimit = X[i]+PL[i]+margin ; }else{ rightLimit = X[i]+UL[i]+margin ; } for(j = i&#8211 ;1 to 1) {〃注递减循环 —righ让imit ; tmpHigherLimit = rightLimit &#8211 ;X[j]; if(tmpHigherLimit < UR[i])(UR[i] = tmpHigherLimit ;} } } } 〃伪码结束 然而,可能存在这样的情况,其中,为输入图像指定的优先区域的一部分或整体被 针对输入图像的第一个for循环处理所去除,在第一个for循环处理中,给予了新的数目并 且指定了优先区域。在该情况中,如在第二个for循环处理中所描述的,仅未被去除的部分 被用作优先区域,因此,消除了可能的矛盾。 现在返回图7,接下来,全景图像生成器120前进到步骤ST16。在步骤ST16,全景 图像生成器120限制每个输入图像的使用区域,以便限制正常情况中的重叠图像的数目。 具体地,全景图像生成器120更新UL[i]和UR[i],以使得在输入图像的边缘处三个图像彼 此重叠,并且在除这些边缘以外的部分两个图像彼此重叠。 这是解决在相关技术部分提到的待定问题1和2的对策。将参考图9描述详细 的处理过程。在图9中,图示出了作为输入图像多部分的三个输入图像Pi至Pi+2的使用 区域。每个输入图像的使用区域是排除掉由步骤ST15的处理所确定的非使用区域(去除 区域)后的其余区域。即,这里使用的使用区域是指由步骤ST15的处理所指定的UL[i]和 UR[i]之间的区域、UL[i+l]和UR[i+l]之间的区域以及UL[i+2]和UR[i+2]之间的区域。
全景图像生成器120判断等于或大于预定边界裕量boundaryMargin(例如16像 素)的重叠是否出现在输入图像Pi的使用区域与输入图像Pi+2的使用区域之间。当等于 或大于boundaryMargin的重叠出现时,全景图像生成器120将输入图像Pi至Pi+2的每个 的使用区域的一部分设置为非使用区域(去除区域)UUa,如图9所示,以使得重叠变为等于 b o皿dar yMar g i n 。 通过这样做,在去除了非使用区域之后,三个图像将在输入图像的边缘处彼此重 叠,并且两个图像将在除边缘以外的部分彼此重叠,由此可以利用适当数目的重叠图像生 成全景图像Q。 图10的流程示出了用于步骤ST16的处理的过程,具体地,用于限制输入图像的使用区域以便限制正常情况中的重叠图像数目的处理过程。 在步骤ST21,全景图像生成器120开始使用区域限制处理,并且随后前进到步骤 ST22。在步骤ST22,全景图像生成器120例如将边界裕量设置为"16"。
在步骤ST22的处理之后,全景图像生成器120在步骤ST23中进行针对每个i(i =l至N-2)的重复处理。在此重复处理中,全景图像生成器120在步骤ST24处开始处理, 并且然后前进到步骤ST25。在步骤ST25,全景图像生成器120计算tmp = (X[i]+UR[i])-(X [i+2] +UUi+2]) -bo皿daryMargin。 然后,在步骤ST26,全景图像生成器120判断tmp是否具有正值。当tmp具有正值 时,意味着等于或大于bo皿daryMargin的重叠出现在输入图像Pi的使用区域与输入图像 Pi+2的使用区域之间。因此,当tmp具有负值时,全景图像生成器120在步骤ST28立即终 止处理并且继续执行针对下一 i的处理。 当tmp具有正值时,全景图像生成器120在步骤ST27中将UR[i]禾PUL[i+2]分别 更新为UR[i] = UR[i]-(tmp/2)和UL[i+2] = UL[i+2] + (tmp/2)。然后,全景图像生成器 120在步骤ST28中终止处理并且继续执行针对下一 i的处理。 当完成了步骤ST23中针对每个i(i = l至N-2)的重复处理时,全景图像生成器 120在步骤ST29中终止使用区域限制处理。 在上面的描述中,已经描述了将重叠图像的数目在边缘处限制为三个并且在除边 缘之外的部分限制为两个的情况。然而,可以进行一般化以使得重叠图像数目在边缘处被 限制为S(S是等于或大于2的整数)并且在除边缘以外的部分被限制为S-1。用户可以通 过操作用户操作单元104 (参见图1)来预先设置S的值。上面的描述是S = 3的情况的一 个示例。例如,当镜头失真较大时,能够通过降低S的值来减少因镜头失真而从每个输入图 像的位置位移引起的图像模糊。此外,当包括许多噪声分量时,能够通过增加S的值来获得 具有较少噪声的图像。 现在返回图7,接下来,全景图像生成器120前进到步骤ST17。虽然通过步骤ST16 的处理将重叠图像的数目限制到了某种程度,然而,重叠图像的总数最终可能增加。在步骤 ST17中,全景图像生成器120限制每个输入图像的使用区域以限制重叠图像的最大数目。 即,全景图像生成器120更新UL[i]和UR[i]以使得在输入图像的任何位置处,最多仅存在 四个彼此重叠的图像。 这是解决在相关技术部分提到的待定问题1和2的对策。将参考图11描述详细的 处理过程。在图11中,图示出了作为输入图像多部分的五个输入图像Pi至Pi+4的使用区 域。每个输入图像的使用区域是排除掉通过步骤ST16的处理确定的非使用区域(去除区 域)之后的其余区域。即,这里使用的使用区域是指通过步骤ST16的处理所指定的UL[i] 和UR[i]之间的区域、UL[i+l]和UR[i+l]之间的区域、UL[i+2]和UR[i+2]之间的区域、 UL[i+3]和UR[i+3]之间的区域以及UL[i+4]和UR[i+4]之间的区域。
全景图像生成器120判断重叠是否出现在输入图像Pi的使用区域与输入图像 Pi+4的使用区域之间。当重叠出现时,全景图像生成器120将输入图像Pi和Pi+4的每个 的使用区域的一部分设为非使用区域(去除区域)UUb,如图ll所示,以使得不存在重叠。
通过这样做,在去除了非使用区域之后,在输入图像中最多仅存在四个彼此重叠 的图像,由此可以利用适当数目的重叠图像来生成全景图像Q。
图12的流程示出了用于步骤ST17的处理的过程,具体地,用于限制输入图像 的使用区域以便限制重叠图像的最大数目的处理过程。 在步骤ST31中,全景图像生成器120开始使用区域限制处理,并且随后在步骤 ST32中进行针对每个i (i = 1至N-2)的重复处理。在此重复处理中,全景图像生成器120 在步骤ST33处开始处理,并且随后前进到步骤ST34。在步骤ST34中,全景图像生成器120 计算tmp = (X[i]+UR[i])-(X[i+4]+UL[i+4])。 接下来,在步骤ST35中,全景图像生成器120判断tmp是否具有正值。当tmp具有 正值时,意味着重叠出现在输入图像Pi的使用区域与输入图像Pi+4的使用区域之间。因 此,当tmp具有负值时,全景图像生成器120在步骤ST37中立即终止处理并且继续执行针 对下一 i的处理。 当tmp具有正值时,全景图像生成器120在步骤ST36中将UR[i]和UL[i+4]分别 更新为UR[i] = UR[i]-(tmp/2)和UL[i+4] = UL[i+4] + (tmp/2)。然后,全景图像生成器 120在步骤ST37中终止处理并且继续执行针对下一 i的处理。 当完成了步骤ST32中针对每个i(i = l至N-2)的重复处理时,全景图像生成器 120在步骤ST38中终止使用区域限制处理。 在上面的描述中,已描述了将重叠图像的最大数目限制为4的情况。然而,可以进 行一般化以使得重叠图像的最大数目被限制T (T是等于或大于2的整数)。用户可以通过 操作用户操作单元104 (参见图1)来预先设置T的值。上面的描述是T = 4的情况的一个 示例。例如,当镜头失真较大时,可以通过降低T的值来减少因镜头失真而从每个输入图像 的位置位移中产生的图像模糊。此外,当包括许多噪声分量时,可以通过增加T的值来获得 具有较少噪声的图像。 现在返回图7,接下来,全景图像生成器120前进到步骤ST18。在步骤ST18,全景 图像生成器120输出每个输入图像Pi(i = 1至N)的使用区域,具体地为UL[i]和UR[i], 并且随后在步骤ST19中终止该子程序的处理。 如上所述,根据图1所示的数码相机100,当在利用多个输入图像Pl至PN生成全 景图像Q时针对输入图像Pi指定了优先区域PARi时,数字信号处理器114的全景图像生 成器120将其它输入图像中与优先区域重叠的区域设置为禁止使用区域UUL和UUR(图7 中的步骤ST13和ST15)。因此,当投射了运动对象的区域被用户指定为优先区域PARi时, 在生成全景图像Q时例如仅将一个图像用于该区域。因此,可以防止出现诸如不希望的多 次曝光之类的图像模糊。 此外,根据图1所示的数码相机100,当顺序被预定间隔隔开的两个输入图像具有 重叠区域时,数字信号处理器114的全景图像生成器120将重叠区域之一设为禁止使用区 域(图7的步骤ST16和ST17)。因此,用于生成全景图像Q的输入图像的重叠图像数目被 限制,从而可以减少因镜头失真而从每个输入图像的位置位移产生的图像模糊。
2.修改 在上述实施例中,全景图像生成器120在确定输入图像P1至PN的每个的使用区 域(图2的步骤ST4)时执行下面的第一和第二处理。第一处理是将每个其它输入图像中 与优先区域重叠的区域设为非使用区域(图7中的步骤ST15)的处理。第二处理是按照需 要向每个输入图像提供非使用区域以限制重叠图像的数目(图7的步骤ST16和ST17)的处理。 然而,还可以考虑通过执行第一和第二处理中的任一个来确定输入图像P1至PN 的每个的使用区域的方法。图13的流程示出了通过仅执行第一处理来确定每个输入 图像Pi(i二l至N)的使用区域(UL[i]和UR[i])的处理过程。在图13的流程图中,用相 同的标号表示与图7的流程图中相同或相对应的步骤。在图13的流程图中,排除了图7的 流程图中的步骤ST16和ST17的处理。由于图13的流程图中的步骤的处理与图7的流程 图中的相对应步骤的处理相同,因此将省略其描述。 根据在确定输入图像P1至PN的每个的使用区域时执行第一处理(将其它输入图 像中与优先区域重叠的区域设为非使用区域的处理)的方法,可以获得下面的优点。当投 射了运动对象的区域被用户指定为优先区域时,例如在生成全景图像Q时仅将一个图像用 于该区域。因此,可以防止出现图像模糊,例如不希望的多次曝光。 图14的流程示出了通过仅执行第二处理来确定每个输入图像Pi(i = 1至N) 的使用区域(UL[i]和UR[i])的处理过程。在图14的流程图中,用相同的标号表示与图7 的流程图中相同或相对应的步骤。在图14的流程图中,排除了图7的流程图中的步骤ST13 和ST15的处理。由于图14的流程图中的步骤的处理与图7的流程图中的相对应步骤的处 理相同,因此将省略其描述。 根据在确定输入图像P1至PN的每个的使用区域时执行第二处理(按照需要向每 个输入图像提供非使用区域以限制重叠图像数目的处理)的方法,可以获得下面的优点。 由于用于生成全景图像Q的输入图像的重叠图像数目被限制,因此可以减少因镜头失真而 从每个输入图像的位置位移产生的图像模糊。 在上述实施例中,虽然第二处理包括限制正常的重叠图像数目的处理(图7的步 骤ST16)以及限制重叠图像的最大数目的处理(图7的步骤ST17),然而,执行两个处理中 的任一个的配置也是可能的。 此外,在上述实施例中,结合第一处理描述了由用户指定优先区域(图13的步骤 ST13)。然而,还可以考虑这样的配置,其中,从输入图像P1至PN检测运动对象的投射区域, 并且包括运动对象的区域自动地被指定为优先区域。 此外,上述实施例描述了从通过在摇动相机的同时执行连续拍摄而捕获的多个输 入图像Pl至PN,即,在水平方向上顺序地转移拍摄位置而捕获的多个输入图像Pl至PN,来 生成全景图像Q的示例。然而,在捕获多个输入图像Pl至PN时转移拍摄位置的方向不限 于水平方向。转移方向可以是水平方向或其它方向。 此外,上述实施例描述了由数码相机100的数字信号处理器114中的全景图像生 成器120在CPU 101的控制下从多个输入图像P1至PN生成全景图像Q的示例。然而,这
样的方法也是可以的,其中,由数码相机捕获的多个图像被传送到计算设备,并且全景图像 在计算设备内生成。在此情况中,虽然未提供详细描述,然而,通过与全景图像生成器120 的上述处理相同的处理来确定输入图像Pl至PN的每个的使用区域,由此可以在计算设备 内适当地生成全景图像Q。 图15图示出了用于生成全景图像的计算设备200的示例性配置。 计算设备200包括CPU(中央处理单元)11、存储器12、显示控制器13、输入设备接
口 14以及网络接口 15。计算设备200还包括外部设备接口 16和数码相机接口 18。这些
15组件连接到总线17。 显示器19经由显示控制器13连接到总线17。键盘(KBD)20和鼠标21经由输入 设备接口 14连接到总线17。此外,硬盘驱动器(HDD)22和介质驱动器23经由外部设备接 口 16连接到总线17。数码相机经由数码相机接口 18连接到总线17。此外,计算设备200 经由网络接口 15连接到诸如因特网之类的网络。 CPU 11是计算设备200的主控制器。CPU 11在操作系统(OS)的控制下执行各种 应用。例如,CPU 11能够执行用于处理从数码相机即刻下载到硬盘驱动器22的图像的应 用程序。应用程序在其中实现了用于执行上述全景图像生成处理的处理程序序列。CPU 11 通过总线17与其它设备互连。 存储器12是用于存储供CPU 11执行的程序代码并临时存储执行时的工作数据的 存储设备。存储器12被配置为包括诸如ROM之类的非易失性存储和诸如DRAM之类的易失 性存储器。 显示控制器13是实际上处理由CPU 11发出的呈现命令的专用控制器。经显示控 制器13处理后的呈现数据首先被写入例如帧缓冲器(未示出),并且随后显示在显示器19 的屏幕上。例如,从硬盘驱动器22读出的图像被显示在显示器19的屏幕上,并且用户观看 并欣赏图像。 输入设备接口 14是将诸如键盘20或鼠标21之类的用户输入设备连接到计算设
备200的设备。用户能够经由键盘20或鼠标21来输入例如用于播放图像的命令。 网络接口 15根据诸如以太网(注册商标)之类的预定通信协议将计算设备200
连接到诸如LAN(局域网)之类的局部网络以及诸如因特网之类的广域网。 在网络上,多个主机终端或服务器(未示出)以透明状态相连,从而建立了分布式
计算环境。在网络上,可获得用于分发软件程序或数据内容的服务。例如,可从存储有其他
人捕获的图像的服务器经由网络将图像数据下载到硬盘驱动器22中。 数码相机接口 18是将从数码相机提供来的图像带入计算设备200的设备。外部
设备接口 16是用于将诸如硬盘驱动器22或介质驱动器23之类的外部设备连接到计算设
备200的设备。 硬盘驱动器22是在其上固定地安装有作为存储载体的磁盘的外部存储设备,如 本领域公知的,并且就存储容量和数据传输速率来说优于其它外部存储装置。此外,硬盘驱 动器22具有随机存取能力。 在可执行状态中将软件程序置于硬盘驱动器22上的操作称为将程序"装载"到系 统中。硬盘驱动器22—般以非易失性方式存储供CPU 11执行的操作系统的程序代码、应 用程序、设备驱动器等。例如,可以将用于执行上述全景图像生成处理的处理程序序列装载 到硬盘驱动器22上。 介质驱动器23是安装有诸如CD (致密盘)、M0 (磁光盘)或DVD (数字通用盘)之 类的便携式介质并且访问其数据记录面的设备。便携式介质主要用于将软件程序、数据文 件等的备份制作为计算机可读格式的数据,或者用于将它们在系统之间传输(换言之,包 括销售、流通和发发)。例如,可以利用便携式介质在多个设备之间有形地流通和分发用于 图像处理的应用程序。 本申请包含与2009年1月7日向日本专利局提交的日本优先专利申请JP
162009-001250中公开的主题有关的主题,该申请的全部内容通过引用结合于此。 本领域的技术人员应当明白,可以根据设计要求和其它因素进行各种修改、组合、
子组合和变更,只要它们在所附权利要求或其等同物的范围之内。
权利要求
一种图像处理装置,包括第一图像处理器,被配置为接收通过在预定方向上顺序地转移拍摄位置而捕获的多个图像作为图像序列,并且针对所述图像序列中除第一图像之外的图像,将与在所述图像序列中要优先使用的优先区域相重叠的第一重叠区域设置为禁止使用区域,所述图像包括所述第一重叠区域;第二图像处理器,被配置为将第二或第三图像的第二重叠区域设置为禁止使用区域,所述第二和第三图像在所述图像序列中的顺序具有预定间隔;以及图像生成器,被配置为利用包括在所述图像序列中的多个图像中除了被所述第一图像处理器和所述第二图像处理器设为禁止使用区域的区域之外的区域,生成输出图像。
2. 根据权利要求1所述的图像处理装置,还包括用户操作单元,该用户操作单元使得 用户能够在所述图像序列中所包括的多个图像的任意图像中指定所述优先区域。
3. 根据权利要求1所述的图像处理装置,还包括用户操作单元,该用户操作单元使得 用户能够设置所述顺序的所述预定间隔。
4. 一种图像处理方法,包括第一图像处理步骤,用于接收通过在预定方向上顺序地转移拍摄位置而捕获的多个图 像作为图像序列,并且针对所述图像序列中除第一图像之外的图像,将与在所述图像序列 中要优先使用的优先区域相重叠的第一重叠区域设置为禁止使用区域,所述图像包括所述 第一重叠区域;第二图像处理步骤,用于将第二或第三图像的第二重叠区域设置为禁止使用区域,所 述第二和第三图像在所述图像序列中的顺序具有预定间隔;以及图像生成步骤,用于利用包括在所述图像序列中的多个图像中除了在所述第一图像 处理步骤和所述第二图像处理步骤中被设为禁止使用区域的区域之外的区域,生成输出图 像。
5. —种程序,用于使得计算机用作第一图像处理装置,用于接收通过在预定方向上顺序地转移拍摄位置而捕获的多个图 像作为图像序列,并且针对所述图像序列中除第一图像之外的图像,将与在所述图像序列 中要优先使用的优先区域相重叠的第一重叠区域设置为禁止使用区域,所述图像包括所述 第一重叠区域;第二图像处理装置,用于将第二或第三图像的第二重叠区域设置为禁止使用区域,所 述第二和第三图像在所述图像序列中的顺序具有预定间隔;以及图像生成装置,用于利用包括在所述图像序列中的多个图像中除了被所述第一图像处 理装置和所述第二图像处理装置设为禁止使用区域的区域之外的区域,生成输出图像。
6. —种图像处理装置,包括图像处理器,被配置为接收通过在预定方向上顺序地转移拍摄位置而捕获的多个图像 作为图像序列,并且针对所述图像序列中除第一图像之外的图像,将与在所述图像序列中 要优先使用的优先区域相重叠的第一重叠区域设置为禁止使用区域,所述图像包括所述第 一重叠区域;以及图像生成器,被配置为利用包括在所述图像序列中的多个图像中除了被所述图像处理 器设为禁止使用区域的区域之外的区域,生成输出图像。
7. —种图像处理方法,包括图像处理步骤,用于接收通过在预定方向上顺序地转移拍摄位置而捕获的多个图像作 为图像序列,并且针对所述图像序列中除第一图像之外的图像,将与在所述图像序列中要 优先使用的优先区域相重叠的第一重叠区域设置为禁止使用区域,所述图像包括所述第一 重叠区域;以及图像生成步骤,用于利用包括在所述图像序列中的多个图像中除了在所述图像处理步 骤中被设为禁止使用区域的区域之外的区域,生成输出图像。
8. —种图像处理装置,包括图像处理器,被配置为将第一或第二图像的重叠区域设置为禁止使用区域,所述重叠 区域与所述第一和第二图像重叠,并且所述第一和第二图像在包括通过在预定方向上顺序 地转移拍摄位置而捕获的多个图像的图像序列中的顺序具有预定间隔;以及图像生成器,被配置为利用包括在所述图像序列中的多个图像中除了被所述图像处理 器设为禁止使用区域的区域之外的区域,生成输出图像。
9. 一种图像处理方法,包括图像处理步骤,用于将第一或第二图像的重叠区域设置为禁止使用区域,所述重叠区 域与所述第一和第二图像重叠,并且所述第一和第二图像在包括通过在预定方向上顺序地 转移拍摄位置而捕获的多个图像的图像序列中的顺序具有预定间隔;以及图像生成步骤,用于利用包括在所述图像序列中的多个图像中除了在所述图像处理步 骤中被设为禁止使用区域的区域之外的区域,生成输出图像。
全文摘要
本发明公开了图像处理装置、图像处理方法及程序。一种图像处理装置包括第一图像处理器,接收通过在预定方向上顺序地转移拍摄位置而捕获的多个图像来作为图像序列,并且针对图像序列中除第一图像之外的图像,将与在图像序列中优先使用的优先区域相重叠的第一重叠区域设置为禁止使用区域,图像包括第一重叠区域;第二图像处理器,将第二或第三图像的第二重叠区域设置为禁止使用区域,第二和第三图像在图像序列中具有被预定间隔隔开的顺序;以及图像生成器,利用包括在图像序列中的多个图像中除了被第一和第二图像处理器设为禁止使用区域的区域之外的区域,来生成输出图像。
文档编号H04N5/76GK101778217SQ20101000231
公开日2010年7月14日 申请日期2010年1月7日 优先权日2009年1月7日
发明者大木光晴 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1