一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

全景影像中邻近镜头影像间颜色差的补偿方法与流程

2022-06-11 15:36:11 来源:中国专利 TAG:


1.本发明是有关于全景影像,特别地,尤有关于一种于全景影像中邻近镜头影像间颜色差的补偿方法。


背景技术:

2.一部具多镜头的照相机(camera)捕捉到的一个视野,涵盖360度水平视域(field of view,fov)以及高达180度的垂直视域。举例而言,如图1a所示,一现有照相机包含四个镜头且分别架设在一立方体架构11的四个工作面(右面、左面、正面、背面)上,该四个工作面的任两个邻近面实质上正交,例如该四个工作面分别朝向虚拟球体12的经度(longitude)0度、90度、180度及270度,以同时捕捉到一个具有360度水平fov及90度垂直fov的视野,以产生四个镜头影像。架设该四镜头的照相机的一个必要条件是任两个邻近镜头的视野之间应有足够的重叠,以助影像拼接(image mosaicking)。请参考图1b,区域13内的像素是由两个镜头/纹理影像重叠而成,而区域15内的像素则来自于单一镜头/纹理影像。因此,可对所述重叠区域13进行拼接(stitch)操作,以形成一全景影像。
3.在一种很可能发生的状况下,若上述具四个镜头的照相机的其中一个镜头直接朝向一光源(如太阳),而另一个镜头朝向阴暗处,即使有相同的曝光时间,这两个镜头产生的影像(包含所述重叠区域13)的色彩表现会有很大的差异,以下称之为”颜色差现象”。因此,业界亟需一种补偿方法来改善上述颜色差现象下的影像品质。


技术实现要素:

4.有鉴于上述问题,本发明的目的之一是提供一种补偿方法来改善颜色差现象下的影像品质。
5.根据本发明的一实施例,提供一种补偿方法,用以补偿一全景影像中邻近镜头影像间的颜色差,各镜头影像包含多个特征区且各特征区具有一特征点,该方法包含:根据所述特征点的平均颜色值,计算从一部具多镜头的照相机产生的多个镜头影像中任两个邻近镜头影像间的每一对特征区的颜色差值;根据每一对特征区的颜色差值,决定各镜头影像中所述特征点的颜色调整量;以及,根据一单元与邻近该单元的两个特征点的位置以及该两个邻近特征点的颜色调整量,计算该单元的颜色调整量。
6.利用本发明,可以改善颜色差现象下的影像品质。
7.兹配合下列图示、实施例的详细说明及权利要求,将上述及本发明的其他目的与优点详述于后。
附图说明
8.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
9.图1a是显示一立方体架构11与一球体12之间的关系。
10.图1b是显示一等距长方全景影像(equirectangular panoramic image),源自于四个镜头影像(背面、左面、右面、正面)的等距长方投影。
11.图2是根据本发明一实施例,显示全景影像处理系统的方块图。
12.图3a是根据本发明第一实施例,显示各特征区中所有像素的颜色值的平均方法流程图。
13.图3b是显示一纹理/镜头影像的各边缘,相对于影像中心o,被分成三个区块的例子。
14.图4a是显示一个三角形网格,用以模型化一球体表面。
15.图4b是显示一个多边形网格,用以组成/模型化一等距长方全景影像。
16.图5a是根据本发明第二实施例,显示各特征区中所有像素的颜色值的平均方法流程图。
17.图5b是显示多个被选定值当作各纹理/镜头影像(背面、左面、右面、正面)的八个特征区的八个重心的经度及纬度(latitude)坐标的一个例子。
18.图6a是显示由于被偏移的镜头中心所导致的未匹配拼接结果。
19.图6b是根据现有技术,显示具有十两个重叠区的等距长方全景影像的例子。
20.图6c是根据现有技术,显示具有二十个控制区的等距长方全景影像的例子。
21.图6d是显示于一正面镜头影像中的目标顶点p2及八个控制区的关系的一示例。
22.图7是根据本发明一实施例,显示影像处理装置的方块图。
23.图8a是显示工作面0及工作面1的纹理/镜头影像之间的三个工作配对的一个例子。
24.图8b是根据本发明第一实施例,显示于一全景影像中邻近镜头影像间颜色差的补偿方法流程图。
25.图8c是显示一个例子,利用右侧的低通滤波器对左侧八个特征区的八个初始颜色调整量进行低通滤波,以得到下方的八个最终颜色调整量。
26.图8d是显示在一正面镜头影像中,其影像中心o、一目标顶点/像素s以及邻近该目标顶点/像素s的两个特征点(g及h)之间的位置关系的例子。
27.图8e是根据本发明第二实施例,显示于一全景影像中邻近镜头影像间颜色差的补偿方法流程图。
28.图9a是根据本发明一实施例,显示于一全景影像中所有镜头影像内多个特征点的颜色调整量及半径的取得方法流程图。
29.图9b至图9c是根据本发明第三实施例,显示于一全景影像中邻近镜头影像间颜色差的补偿方法流程图。
30.11:立方体架构
31.12:球体
32.13:重叠区域
33.15:非重叠区域
34.32:最佳焦点
35.33:理想成像位置
36.35:远物
37.36、37:实际焦点
38.38:实际成像位置
39.62:控制区的位置
40.72:纹理映射电路
41.73:混合单元
42.74:目的缓冲器
43.75:栅格化引擎
44.77:量测单元
45.200:全景影像处理系统
46.210:影像撷取模块
47.220:影像处理装置
48.250:对应性产生器
49.710:计算单元
50.721~72n:纹理映射引擎
51.750:显像引擎
具体实施方式
52.在通篇说明书及后续的权利要求当中所提及的“一”及“该”等单数形式的用语,都同时包含单数及复数的涵义,除非本说明书中另有特别指明。在通篇说明书及后续的权利要求当中所提及的相关用语定义如下,除非本说明书中另有特别指明。在通篇说明书及后续的权利要求当中所提及的相关用语定义如下,除非本说明书中另有特别指明。在通篇说明书中,具相同功能的电路元件使用相同的参考符号。
53.图2是根据本发明一实施例,显示全景影像处理系统的方块图。本发明全景影像处理系统200包含一影像撷取模块210、一影像处理装置220以及一对应性产生器(correspondence generator)250。其中,该对应性产生器250是非必须的。
54.该影像撷取模块210是一部具多镜头的照相机,可捕捉到的一个视野,涵盖高达360度水平fov以及高达180度的垂直fov,以产生多个镜头影像。于接收来自该影像撷取模块210的所述镜头影像后,该影像处理装置220为各镜头影像产生一个具多个颜色调整量的2d颜色调整阵列,再根据所述镜头影像及所述2d颜色调整阵列,进行拼接操作,以形成一全景影像。请注意,只要能捕捉到一个高达水平360度及垂直180度的fov,本发明不限制该影像撷取模块210所包含的镜头数量。架设该影像撷取模块210的一个必要条件是任两个邻近镜头的视野之间应有足够的重叠,以助影像拼接。该全景影像的例子包含,但不限于,一个360度全景影像以及一等距长方全景影像。
55.为清楚及方便描述,以下的例子及实施例皆以等距长方全景影像做说明,并假设该影像撷取模块210包含四个镜头,分别架设在一立方体架构11的四个工作面(右面、左面、正面、背面)上。
56.图3a是根据本发明第一实施例,显示各特征区中所有像素的颜色值的平均方法
(由该影像处理装置220执行)流程图。以下,说明本发明各特征区中所有像素的颜色值的平均方法。
57.步骤s302:将一纹理(texture)/镜头(lens)影像j的周围分成多个区块。图3b显示一纹理/镜头影像的周围分成八个区块的例子,且各区块包含一特征区其中j表示该纹理/镜头影像的索引/id以及i表示该特征区于该纹理/镜头影像j中的索引/id,其中,i=0~7。
58.步骤s304:决定各特征区的形状与大小以及各特征区中特征点的纹理坐标。于图3b中,所述特征区的形状(如圆形)仅是示例,而非本发明的限制。一个具纹理坐标的特征点cp
i(j)
被指定给一对应特征区各特征区对应一区块且位于该对应区块内。该特征点cp
i(j)
可以是该特征区的一重心或一质量中心或一几何中心。可随意选择该纹理影像j的所述特征区的形状、半径或大小,只要任二相邻特征区不重叠即可,然而,稍微重叠也是无碍于运作。其中,“纹理坐标”一词指的是在一纹理空间(例如一纹理/镜头影像j)中的坐标。
59.步骤s306:计算该纹理/镜头影像j中各特征区内所有像素的平均颜色值(包含亮度(y;luma)、色度(u、v;chroma)成分)。请注意,若一特征区不是位于如图1b的重叠区13内,就无需计算其平均颜色值。例如,请参考图1b及图3b,特征区及无需计算其平均颜色值。
60.步骤s308:决定是否已处理完所有纹理/镜头影像。若否,回到步骤s302以处理下一个纹理/镜头影像;若是,结束本流程。
61.图2也显示本发明具对应性产生器250的全景影像处理系统200的处理管线(pipeline)。该处理管线分为离线阶段(offline phase)和连线阶段(online phase)。于连线阶段,全景影像处理系统200产生全景影像。于离线阶段,该对应性产生器250分别校正四个镜头,例如,于图1a半径2公尺(r=2)的球体12表面上划出许多圆圈,当作经度及纬度(图未示),其多个交叉点被视为多个校正点;该影像撷取模块210的四个镜头捕捉所述校正点,且所述校正点于所述镜头影像上的位置为已知。然后,因为所述校正点和所述镜头坐标的视角(view angle)被连结,故可建立该等距长方全景影像及所述镜头影像之间的映射关系。在本说明书及后续的权利要求当中,一个具上述映射关系的校正点被定义为一个“顶点(vertex)”。于校正后,该对应性产生器250产生一对应表,该对应表包含多个顶点,且各顶点提供该等距长方坐标(纬度及经度)及其于所有镜头影像内的纹理坐标之间的映射关系。于另一实施例中,根据该对应表,该对应性产生器250采用适合的影像对准(registration)技术来产生一原始顶点列表(如表一),并且该原始顶点列表中的各顶点提供该等距长方全景影像及所述镜头影像之间(或该等距长方坐标及所述纹理坐标之间)的顶点映射关系。于离线阶段,该对应性产生器250会完成所有必要的预先计算。
62.图4a显示一个三角形网格(mesh),用以模型化一球体表面。参考图4a,利用一个三角形网格来模型化一球体12的表面。图4b显示一个多边形网格,用以组成/模型化该等距长方全景影像。透过对图4a的三角形网格进行一等距长方投影而产生图4b的多边形网格,而
图4b的多边形网格是多个四边形与多个三角形的集合。请注意,因为对图4a的多个极点三角形(pole triangle)进行投影而得图4b的多边形网格的最上面一行(row)及最下面一行,故只有图4b的多边形网格的最上面一行及最下面一行是由多个四边形所形成。“极点三角形”一词指的是:一个三角形具有一个顶点为一个三角形网格的极点(天底(nadir)或天顶(zenith)),而该三角形网格用以模型化一球体表面。
63.于离线阶段,根据该等距长方全景影像及所述镜头影像的几何形状,该对应性产生器250为多边形网格(图4b)的各顶点,计算其等距长方坐标及纹理坐标,并决定各顶点是否为一极点,以产生该原始顶点列表。最后,该对应性产生器250将该原始顶点列表传送给该影像处理装置220。该原始顶点列表一旦产生后,就被该影像处理装置220重复使用以进行后续操作,例如进行拼接后续的镜头影像。该原始顶点列表是多个顶点的列表,所述顶点形成该多边形网格(图4b)的多个四边形,且各顶点由一相对应数据结构所定义。该数据结构定义了一目的空间及一纹理空间之间(或该等距长方坐标及该纹理坐标之间)的顶点映射关系。一实施例中,该数据结构包含,但不受限于,等距长方坐标、一极点旗标、涵盖/重叠的镜头影像数目、在各镜头影像中的纹理坐标、各镜头影像的id、以及各镜头影像的拼接混合权值。
64.表一显示该原始顶点列表中各顶点的数据结构的一个例子。
[0065][0066]
图5a是根据本发明第二实施例,显示各特征区中所有像素的颜色值的平均方法(由该影像处理装置220执行)流程图。以下,根据本发明第二实施例,说明本发明各特征区中所有像素的颜色值的平均方法。
[0067]
步骤s502:决定一纹理/镜头影像j中多个特征区的特征点以及所述特征点的预设经度及纬度坐标值(即等距长方坐标)。请同时参考图1a及图5b。图5b显示图1a的立方体架构11具有多个预设经度及纬度坐标(即等距长方坐标)值的特征点。请注意,所有特征点必须位于所述纹理/镜头影像的重叠区内(如图6b的r(1)~r(12))。在本实施例中,各该四个
纹理/镜头影像有八个特征点cp
i(j)
,其中,i=0~7及j=0~3。然而,图5b显示的所述预设经度及纬度坐标值,仅是示例,而非本发明的限制。于实际实施时,可选择其他点当作特征点,只要所述点分别落在所述重叠区内即可。
[0068]
步骤s504:根据该对应表(或该原始顶点列表)及经度及纬度坐标(即等距长方坐标),决定该纹理/镜头影像j中各特征点cp
i(j)
的纹理坐标,其中,i=0~5。如上所述,该原始顶点列表中各顶点的数据结构提供了该等距长方坐标及该纹理坐标之间的顶点映射关系;此外,该对应表提供了各顶点在该等距长方坐标及该纹理坐标之间的映射关系。举例而言,利用经度45度及纬度0度的等距长方坐标搜寻来自该对应性产生器250产生的原始顶点列表,很快就可找到一匹配顶点;之后,因为上述具有经度45度及纬度0度的顶点必定位于一重叠区内,故参考表一,可从该匹配顶点的数据结构中撷取出第一纹理影像内的第一纹理坐标(u1,v1)及第二纹理影像内的第二纹理坐标(u2,v2)。
[0069]
步骤s506:相对于各特征区的特征点,决定各特征区的形状与大小,其中,i=0~5。如上所述,任何形状及大小都适用于所述特征区,只要任二相邻特征区不重叠即可,然而,稍微重叠也是无碍于运作。如上所述,因为各纹理/镜头影像的上缘及下缘不会与任何纹理/镜头影像重叠且已决定各特征点cp
i(j)
的纹理坐标,因此不需去决定上下两个特征区及的形状与大小及计算该个特征区及的平均颜色值。
[0070]
步骤s508:计算该纹理/镜头影像j中各特征区内所有像素的平均颜色值(包含y、u、v成分),其中,i=0~5。
[0071]
步骤s510:决定是否已处理完所有纹理/镜头影像。若否,回到步骤s502以处理下一个纹理/镜头影像;若是,结束本流程。
[0072]
另一实施例中,该对应性产生器250提供一修正顶点列表至该影像处理装置220。该修正顶点列表是多个顶点的列表,所述顶点形成该多边形网格(图4b)的多个四边形,且各顶点由一相对应数据结构所定义。表二显示该修正顶点列表中各顶点的数据结构的一个例子。
[0073]
[0074][0075]
如表二所示,相较于该原始顶点列表中各顶点的数据结构,在该修正顶点列表的各顶点的数据结构中,各镜头影像另包含以下五个栏位:接合系数(warping coefficient)索引(idx
k0
,idx
k1
)、接合系数的混合权值(alphak)、颜色值累加器索引(iak)、颜色调整索引(ide
k0
,ide
k1
)及颜色调整混合权值(cwk),其中,k=1~n。
[0076]
请同时参考图1a及图6a。在一理想状况下,该影像撷取模块210的四个镜头(包含镜头#1及#2)同时设置在一立方体架构11的系统中心,因此一远物的单一理想成像位置(imaging point)位于半径2公尺(r=2)的成像平面(image plane)12上。据此,因为镜头影像#1(来自镜头#1)的理想成像位置及镜头影像#2(来自镜头#2)的理想成像位置相符,在影像处理装置220完成影像拼接/混合操作后,该等距长方全景影像就会呈现出完美的拼接/混合结果。然而,在实际状况下,镜头#1及#2的实际焦点(focal point)(或相机中心)36及37和该最佳焦点(或系统中心)32分开,故一远物35的两个实际成像位置38在成像平面22上是分离的,如图6a的左侧所示。结果,请参考图6a的右侧,在该影像处理装置220完成影像拼接/混合操作后,该等距长方全景影像就会清楚呈现出不匹配的影像缺陷。因此,须修正各顶点的纹理坐标,以减少该影像撷取模块210因偏移的镜头中心所引起的不匹配的影像缺陷。
[0077]
图6b是根据现有技术,显示具有十两个重叠区的等距长方全景影像的例子。图6c是根据现有技术,显示具有二十个控制区的等距长方全景影像的例子。比较图6b~图6c的例子,该十二个重叠区r(1)~r(12)被分成二十个控制区b(1)~b(20),且该二十个控制区b(1)~b(20)分别具有二十个接合系数cw(1)~cw(20)或二十个接合程度(warping degree)cw(1)~cw(20)。
[0078]
以图6d的目标顶点p2(在正面镜头影像中具有原始纹理坐标(u2,v2))为例,假设一旋转角度θ为顺时针方向且θ=93
°
,因为该正面镜头影像有八个控制区,故360
°
/8=45
°
、idx=θ/45
°
=2及θmod 45
°
=θ-idx
×
45
°
=3
°
。因此,顶点p2最邻近的两个控制区为b(18)
及b(11),且在该正面镜头影像中该目标顶点p2的内插接合系数/程度c’以下列方程式定义/计算如下:c’=cw(18)
×
(3/45) cw(11)*(1-3/45)。其中,该角度θ形成于一第一向量v1及一第二向量v2之间;该第一向量v1以影像中心o为起点,以启始控制区b(7)的位置62为终点,而该第二向量v2以影像中心o为起点,以该目标顶点p2为终点。各控制区的位置62包含,但不限于,该控制区的重心(gravity center)、该控制区的区域中心、及该控制区的中间点(median point)。
[0079]
为简化上述计算,以上述目标顶点p2为例,于离线阶段,该对应性产生器250额外地预先决定哪两个控制区(即b(18)及b(11))是最邻近该目标顶点p2,并将其索引值(18及11)写到该修正顶点列表内该目标顶点p2的数据结构(参考表二)的该正面镜头影像的”接合系数索引”栏位中;另外,该对应性产生器250额外地预先计算接合系数(cw(18)及cw(11))的混合权值(=3/45),并将该混合权值写到该修正顶点列表内该目标顶点p2的数据结构的该正面镜头影像的”接合系数的混合权值(alpha)”栏位中。请注意,所述接合系数(cw(1)~cw(20))被存储及安排为一维(one dimension)的接合系数阵列cw或1d的数据串流。
[0080]
请参考图7,该影像处理装置220包含一计算单元710及一显像(render)引擎750。该显像引擎750包含一栅格化引擎(rasterization engine)75、一纹理映射电路72、一混合单元73以及一目的缓冲器74。“栅格化”一词指的是将场景几何形状(scene geometry)(或一全景影像)映射至各镜头影像的纹理坐标的计算过程。在接收到该修正顶点列表后,该计算单元710根据该目标顶点p2的数据结构中(参考表二)的该正面镜头影像的”接合系数索引”栏位的内容(即18及11),从一维的接合系数阵列cw中撷取出两个接合系数(cw(18)及cw(11)),以及根据该目标顶点p2的数据结构中的该正面镜头影像的”接合系数的混合权值(alpha)”栏位(即3/45),计算该目标顶点p2的内插接合系数/程度c’。接着,该计算单元710根据下列方程式:u2’=(u2-u
center
)
×
c’ u
center
;v2’=(v2-v
center
)
×
c’ v
center
,计算该目标顶点p2(具原始纹理坐标(u2,v2))在正面镜头影像中的修正纹理坐标(u2’,v2’),其中,该正面镜头影像的影像中心o具纹理坐标(u
center
,v
center
)。最后,该计算单元710以该修正纹理坐标(u2’,v2’)更新该目标顶点p2的数据结构中正面镜头影像中的纹理坐标。依此方式,该计算单元710根据一维的接合系数阵列cw,依序修正该修正顶点列表中所有顶点的数据结构中的所有纹理坐标,以便每次传送三个具修正纹理坐标的顶点至该显像引擎750。在修正完该修正顶点列表中所有顶点的数据结构中的所有纹理坐标以及完成上述拼接过程之后,即可大幅改善因偏移的镜头中心所造成的不匹配的影像缺陷。至于上述二十个控制区b(1)~b(20)的二十个接合系数cw(1)~cw(20)(被安排成该一维的接合系数阵列cw)的决定过程,以及该影像处理装置220进行拼接的详细过程都已揭露于美国第10,810,700b2号专利文献中(上述专利的内容在此被整体引用作为本说明书内容的一部份),在此不再赘述。
[0081]
一实施例中,该对应性产生器250预先将图1b的各重叠区13分成三个特征区,各特征区可根据其等距长方坐标而被识别。根据来自该计算单元710的三个具修正纹理坐标的顶点,该显像引擎750进行三角形栅格化操作、纹理映射操作及混合操作,并促使该量测单元77计算各特征区的平均颜色值。具体而言,一栅格化引擎75接收该三个具修正纹理坐标的顶点后,判断该涵盖/重叠的影像数目n的大小。由于该影像撷取模块210是一部具四个镜头的照相机,故n《=2。若n=1,该栅格化引擎75将一控制讯号cs1设为无效(de-assert)以
禁能(disable)该量测单元77;否则,该栅格化引擎75将该控制讯号cs1设为有效(assert)以致能该量测单元77。对于位于一个三角形(由该三个具修正纹理坐标的顶点a、b、c所形成)内的一点/像素q(具等距长方坐标(x,y)),该栅格化引擎75计算n个镜头影像中的n对纹理坐标及n个工作面混合权值(fw1~fwn)。以n=2为例,该栅格化引擎75利用一重心加权(barycentric weighting)方法,根据该三个顶点(a、b、c)及该像素q的等距长方坐标(xa,ya,xb,yb,xc,yc,xd,yd,x,y),计算三个空间权值(a,b,c)。根据该三个空间权值(a,b,c)及该三个顶点(a、b、c)的纹理坐标,该栅格化引擎75计算该像素q的二对纹理坐标如下:(u
1q
,v
1q
)=(a
×u1a
b
×u1b
c
×u1c
,a
×v1a
b
×v1b
c
×v1c
);(u
2q
,v
2q
)=(a
×u2a
b
×u2b
c
×u2c
,a
×v2a
b
×v2b
c
×v2c
),其中(u
1q
,v
1q
),(u
1a
,v
1a
)(u
1b
,v
1b
)及(u
1c
,v
1c
)代表该像素q及该三个顶点(a、b、c)于第一镜头影像的纹理坐标,而(u
2q
,v
2q
),(u
2a
,v
2a
)(u
2b
,v
2b
)及(u
2c
,v
2c
)代表该像素q及该三个顶点(a、b、c)于第二镜头影像的纹理坐标。根据该像素q的二对纹理坐标,该纹理映射电路72的两个纹理映射引擎721~722利用任何合适的方法(例如最近相邻内插法(nearest-neighbor interpolation)、双线性(bilinear)内插法、或三线性(trilinear)内插法),纹理映射上述两个镜头影像的纹理数据,以平行地产生该像素q的两个取样值(s1~s2)。其中,各取样值(s1~s2)可以是一亮度(luma)值或一色度(chroma)值。然后,根据来自该计算单元710的各该三个顶点(a、b、c)的数据结构,该栅格化引擎75传送第一及第二镜头影像的颜色值累加器索引(ia1~ia2)至该量测单元77。
[0082]
对于上述点/像素q,该量测单元77利用一颜色值累加器(ia1)(图未示)来累加其取样值s1,并利用一像素计数器(ia1)(图未示)来计算其像素(其取样值被该颜色值累加器(ia1)所累加)的数目;该量测单元77利用一颜色值累加器(ia2)(图未示)来累加其取样值s2,并利用一像素计数器(ia2)(图未示)来计算其像素(其取样值被该颜色值累加器(ia2)所累加)的数目。依此方式,该量测单元77累加各该二十四个特征区中所有点/像素的取样值及像素数目。因为该影像撷取模块210包含四个镜头(右面、左面、正面、背面)而且各镜头影像的八个特征区中只有六个特征区需要计算平均颜色值,因此总共有二十四个特征区(需要计算平均颜色值)、二十四个颜色值累加器以及二十四个像素计数器。最后,在与该修正顶点列表有关的所有顶点都被传送至该栅格化引擎75后,该量测单元77根据对应颜色值累加器以及对应像素计数器的输出值,计算各特征区之的平均颜色值(包含y、u、v成分)。
[0083]
根据所述顶点的等距长方坐标,可以很容易识别一顶点是否位于/属于所述特征区之一。以下三种方式可以决定各特征区的特征点的纹理坐标。(1)修正前暨顶点级别:针对各特征区,该计算单元710分别累计来自该修正顶点列表的顶点总数及顶点的原始纹理坐标,以计算顶点的平均原始纹理坐标来当作各特征区的特征点的纹理坐标。(2)修正后暨顶点级别:针对各特征区,该计算单元710分别累计与该修正顶点列表有关的顶点总数及顶点的修正纹理坐标,以计算顶点的平均修正纹理坐标来当作各特征区的特征点的纹理坐标。(3)修正后暨像素级别:该量测单元77接收所有像素的纹理坐标(图未示),分别累计各特征区的像素总数及像素的纹理坐标,以计算像素的平均纹理坐标来当作各特征区的特征点的纹理坐标。
[0084]
本发明的特色之一是将位于二相邻纹理/镜头影像的两个特征区的两个特征点视
为一工作配对(working pair),并根据该工作配对的两个特征点间的颜色差值(包含亮度差值及色度差值),分别决定该两个特征点的颜色调整量。例如,图8a中,二相邻的工作面0及工作面1的纹理影像的两个相邻特征区(如)的两个特征点(如)被视为一工作配对。
[0085]
图8b是根据本发明第一实施例,显示于一全景影像中邻近镜头影像间颜色差的补偿方法(由该影像处理装置220执行)的流程图。以下,说明本发明于一全景影像中邻近镜头影像间颜色差的补偿方法。
[0086]
步骤s802:计算各特征区之的平均颜色值及决定所有特征区的特征点cp
i(j)
的纹理坐标(或相对于影像中心的半径),其中,i=0~5及j=0~3。请参考图3a及图5a的方法及图7的相关说明。
[0087]
步骤s804:计算各工作配对中两个特征点的颜色差值(包含y、u、v成分)。以工作配对为例,计算特征点的颜色差值如下:以及计算特征点的颜色差值如下:
[0088]
步骤s806:决定所有特征点cp
i(j)
的初始颜色调整量其中,i=0~5及j=0~3。例如,分别将两个特征点的初始颜色调整量设定为及一工作配对的初始颜色调整量通常对应其颜色差值,例如其颜色差值除以一整数。再者,一工作配对中两个特征点的初始颜色调整量的和通常小于其颜色差值的绝对值。请注意,上述初始颜色调整量的值仅是示例,而非本发明的限制,实际实施时,其他值也适用上述初始颜色调整量。另请注意,两个特征点(不会与其相邻纹理影像的任何特征点形成任何工作配对)的初始颜色调整量被设定为0。
[0089]
步骤s808:利用一低通滤波器,修正所述初始颜色调整量以得到一纹理影像j中所有特征区的最终颜色调整量其中,i=0~7及j=0~3。例如,如图8c中,利用右侧的低通滤波器对左侧八个特征区的八个初始颜色调整量(包含y、u、v成分)进行低通滤波,以得到下方的八个最终颜色调整量(包含y、u、v成分)。请注意,步骤s806及s808的顺序是可交换的。
[0090]
步骤s809:根据一纹理影像j中各顶点及其二相邻特征点的距离/半径以及该二相邻特征点的最终颜色调整量,计算该纹理影像j中各顶点的颜色调整量(包含y、u、v成分)。图8d显示一正面镜头影像中,其影像中心o、一目标顶点s以及二相邻特征点(g及h)之间的位置关系的例子。请参考图8d,由第一侧及第二侧形成第一夹角∠gos及由第三侧及该第二侧形成第二夹角∠hos,其中,x是一内插点且两个向量及具有相同方向。假设特征点g具有一最终颜色调整量且相对于正面镜头影像(即纹理影像j)的影像中心o的距离/半径为rg、特征点h具有一最终颜色调整量且相对于该影像中心o的距离/半径为rh以及一混合权值α=∠gos∠hos,则依据下列方程式(1)及(2),可计算该内插
点x的颜色调整量及距离/半径rx如下:rx=(1-α)
×
rg α
×
rh
……
(2)。最后,依据方程式(3),计算该目标顶点s的颜色调整量(包含y、u、v成分)如下:其中,表示该影像中心o与该目标顶点s的距离/半径。依此方式,可得到纹理影像j中所有顶点的颜色调整量,其中j=0~3。
[0091]
步骤s810:于镜头影像j中,根据多个顶点(如三个/四个顶点,可形成一多边形)的颜色调整量与纹理坐标以及各像素的纹理坐标,计算该多边形(如图4b中的三角形或四边形)内各像素的颜色调整量(包含y、u、v成分)。举例而言,倘若三个具颜色调整量及纹理坐标的顶点组成一个三角形且一目标像素s0位于该三角形内,根据该目标像素s0及该三个顶点的纹理坐标,利用一颜色调整平面方程式(如f(u,v)=p
×
u q
×
v r)以得到该目标像素s0的颜色调整量;例如,根据该三个顶点的颜色调整量与纹理坐标,可决定该纹理影像j中该颜色调整平面方程式(f(u,v)=p
×
u q
×
v r)的系数值(p、q、r),然后,根据该目标像素s0的纹理坐标(u
0s
,v
0s
)及该颜色调整平面方程式,计算位于该纹理影像j的该三角形(由该三个顶点所组成)内目标像素s0的颜色调整量如下:δc
0s
=p
×u0s
q
×v0s
r。若四个具颜色调整量及纹理坐标的顶点组成一个四边形且一目标像素s1位于该四边形内,根据该目标像素s1的纹理坐标(u
1s
,v
1s
),利用一双线性内插法可得到该目标像素s1的颜色调整量。依此方式,可得到该纹理影像j中所有像素的颜色调整量。该纹理影像j中所有像素的颜色调整量存储于一个别的二维颜色调整阵列中。
[0092]
步骤s811:根据该纹理影像j中各像素的取样值(包含y、u、v成分)及对应二维颜色调整阵列中的颜色调整量(包含y、u、v成分),计算该纹理影像j中各像素的颜色值(包含y、u、v成分)。本步骤结束时,即可形成对应该纹理影像j的颜色补偿后的纹理影像。
[0093]
步骤s812:决定是否已处理完所有纹理/镜头影像。若否,回到步骤s808以处理下一个纹理/镜头影像;若是,结束本流程且已形成四个颜色补偿后的镜头/纹理影像。
[0094]
图8e是根据本发明第二实施例,显示于一全景影像中邻近镜头影像间颜色差的补偿方法(由该影像处理装置220执行)流程图。在图8e的方法中,由于步骤s802~s808及步骤s811~s812与图8b相同,故在此不予赘述。
[0095]
步骤s818:根据一纹理/镜头影像j中各像素及其二相邻特征点相对于其影像中心的距离/半径以及该二相邻特征点的最终颜色调整量,计算该纹理/镜头影像j中各像素的颜色调整量(包含y、u、v成分)。请回到图8d,在本实施例中,请将目标点s视为一像素,类似于步骤s809描述的计算方式,根据上述方程式(1)~(3),计算该纹理影像j中该目标像素s的颜色调整量(包含y、u、v成分)。依此方式,可得到该纹理影像j中所有像素的颜色调整量,其中,j=0~3。
[0096]
请注意,在该影像处理装置220对该四个颜色补偿后的镜头/纹理影像(步骤s812的输出)进行正常栅格化操作、纹理映射操作及混合操作之前,执行上述图8b及图8e的补偿方法,故上述图8b及图8e的补偿方法可被视为预先处理操作。
[0097]
图9a是根据本发明一实施例,显示于一全景影像中所有镜头影像内多个特征点的颜色调整量及半径的取得方法(由该影像处理装置220执行)流程图。在图9a的方法中,由于
步骤s802及步骤s804与图8b相同,故在此不予赘述。
[0098]
步骤s920:利用一低通滤波器修正一镜头影像j内多个特征点的颜色差值(例如),以得到特征点过滤后的颜色差值(包含y、u、v成分)。其中,于滤波/修正前,二特征点(不会与其邻近纹理影像内的任何特征点形成任何工作配对)的颜色差值(例如)被设为0,其中j=0~3。
[0099]
步骤s922:根据该镜头影像j的特征点过滤后的颜色差值,决定所述特征点的颜色调整量(包含y、u、v成分)。请注意,步骤s920及步骤s922的顺序是可交换的。
[0100]
步骤s924:决定是否已处理完所有纹理/镜头影像。若否,回到步骤s920以处理下一个纹理/镜头影像;若是,结束本流程。于本步骤结束时,32个特征点的32个颜色调整量及32个距离/半径(相对于其本身影像的影像中心)分别被存储,具体来说,该32个颜色调整量被存储及安排为一个一维的颜色调整量阵列ca[m],以及该32个距离/半径被存储及安排为一个一维的半径阵列ra[m],其中m=0~31、j=0~3及i=0~7。执行图9a方法的目的是为了帮图9b~图9c的方法取得或设定上述一维的颜色调整量阵列ca[m]及一维的半径阵列ra[m]。
[0101]
于离线阶段,该对应性产生器250额外地预先决定哪两个特征点最邻近一目标顶点(例如图8d中两个特征点g及h最邻近一目标顶点s),并将该两个特征点的索引值(idx
k0
及idx
k1
;例如:ca[ide
k0
]=rh及ca[ide
k1
]=rg)写入该修正顶点列表(参考表二)中该目标顶点的数据结构中纹理影像j的”颜色调整索引”栏位;并且,该对应性产生器250额外地预先计算颜色调整混合权值(例如:图8d中cwk=∠gos/∠hos=α),并将该颜色调整混合权值写入该修正顶点列表中该目标顶点的数据结构中该纹理影像j的”颜色调整混合权值”栏位。依此相同方式,于离线阶段,该对应性产生器250计算及填满该修正顶点列表中所有顶点的数据结构中各纹理影像的”颜色调整混合权值”栏位及”颜色调整索引”栏位。
[0102]
图9b至图9c是根据本发明第三实施例,显示于一全景影像中邻近镜头影像间颜色差的补偿方法(由该影像处理装置220执行)流程图。执行图9b至图9c方法的目的是为了将上述一维的颜色调整量阵列ca[m]及一维的半径阵列ra[m]应用于多个输入镜头影像以形成一颜色补偿后的全景影像。请参考图7及图9b至图9c,说明于一全景影像中邻近镜头影像间颜色差的补偿方法。
[0103]
步骤s962:从一修正顶点列表(参考表二)中取出一顶点。
[0104]
步骤s964:根据该顶点的数据结构中各镜头影像的纹理坐标以及于各镜头影像的”颜色调整混合权值”栏位及”颜色调整索引”栏位中的值,计算该顶点于各镜头影像的颜色调整量。假设来自该修正顶点列表的顶点c被两个镜头影像(正面、顶面;n=2)所涵盖/重叠,以及该顶点c具有以下数据结构且其纹理坐标已被计算单元710修正过:vertex c:{(xc,yc),2,0,id
front
,(u
1c
,v
1c
),w
1c
,(idx
10c
,idx
11c
),alpha
1c
,ia
1c
,(ide
10c
,ide
11c
),cw
1c
,
id
top
,(u
2c
,v
2c
),w
2c
,(idx
20c
,idx
21c
),alpha
2c
,ia
2c
,(ide
20c
,ide
21c
),cw
2c
}。根据公式:d
1c
=sqrt((u
1c-uo)
×
(u
1c-uo) (v
1c-vo)
×
(v
1c-vo)),该栅格化引擎75计算正面镜头影像中该顶点c相对于其正面镜头影像的影像中心o的距离d
1c
;之后,该栅格化引擎75从该顶点c的数据结构的该正面镜头影像的”颜色调整混合权值”栏位中,取出一权值cw
1c
,以及从该顶点c的数据结构的该正面镜头影像的”颜色调整索引”栏位中,取出一对索引值(ide
10c
,ide
11c
)。接着,根据公式:r
1xc
=cw
1c
×
ra[ide
10c
] (1-cw
1c
)
×
ra[ide
11c
],该栅格化引擎75计算该正面镜头影像中一内插顶点xc的半径r
1xc
,之后,再根据公式:δc
1c
=(cw
1c
×
ca[ide
10c
] (1-cw
1c
)
×
ca[ide
11c
])
×
(d
1c
/r
1xc
),计算于正面镜头影像中该顶点c的颜色调整量δc
1c
。依同样方式,根据公式:δc
2c
=(cw
2c
×
ca[ide
20c
] (1-cw
2c
)
×
ca[ide
21c
])
×
(d
2c
/r
2xc
),该栅格化引擎75可计算出于该顶面镜头影像中该顶点c的颜色调整量δc
2c

[0105]
步骤s966:检查该顶点及其前面(从该修正顶点列表取出)的两个顶点形成一个三角形。若否,跳到步骤s976;若是,跳到步骤s968。
[0106]
步骤s968:根据该三个顶点的颜色调整量及位于该三角形内各像素的纹理坐标,计算位于该三角形内各像素于各镜头影像的颜色调整量。
[0107]
假设来自该修正顶点列表的顶点c及其前面的两个顶点(a、b)被两个镜头影像(正面及顶面;n=2)所涵盖/重叠,以及该两个顶点(a、b)具有以下数据结构且其纹理坐标已被计算单元710修正过:vertex a:{(xa,ya),2,0,id
front
,(u
1a
,v
1a
),w
1a
,(idx
10a
,idx
11a
),alpha
1a
,ia
1a
,(ide
10a
,ide
11a
),cw
1a
,id
top
,(u
2a
,v
2a
),w
2a
,(idx
20a
,idx
21a
),alpha
2a
,ia
2a
,(ide
20a
,ide
21a
),cw
2a
};vertex b:{(xb,yb),2,0,id
front
,(u
1b
,v
1b
),w
1b
,(idx
10b
,idx
11b
),alpha
1b
,ia
1b
,(ide
10b
,ide
11b
),cw
1b
,id
top
,(u
2b
,v
2b
),w
2b
,(idx
20b
,idx
21b
),alpha
2b
,ia
2b
,(ide
20b
,ide
21b
),cw
2b
}。类似于步骤s964说明的计算方式,根据公式:δc
1a
=(cw
1a
×
ca[ide
10a
] (1-cw
1a
)
×
ca[ide
11a
])
×
(d
1a
/r
1xa
)及δc
1b
=(cw
1b
×
ca[ide
10b
] (1-cw
1b
)
×
ca[ide
11b
])
×
(d
1b
/r
1xb
),该栅格化引擎75计算该两个顶点(a、b)于该正面镜头影像中的颜色调整量(δc
1a
、δc
1b
);另外,根据公式:δc
2a
=(cw
2a
×
ca[ide
20a
] (1-cw
2a
)
×
ca[ide
21a
])
×
(d
2a
/r
2xa
);δc
2b
=(cw
2b
×
ca[ide
20b
] (1-cw
2b
)
×
ca[ide
21b
])
×
(d
2b
/r
2xb
),该栅格化引擎75计算该两个顶点(a、b)于该顶面镜头影像中的颜色调整量(δc
2a
、δc
2b
)。接着,根据上述三个顶点的颜色调整量(δc
1a
、δc
1b
、δc
1c
)及纹理坐标,该栅格化引擎75决定该正面镜头影像中一颜色调整平面方程式(f(u,v)=p
×
u q
×
v r)中的三个参数值(p,q,r)。然后,再根据该颜色调整平面方程式(δc
1t
=p
×u1t
q
×v1t
r),该栅格化引擎75计算于该正面镜头影像中位于上述三个顶点(a、b、c)所定义的一个三角形内的一目标像素t(u
1t
,v
1t
)的颜色调整量δc
1t
。依同样方式,该栅格化引擎75计算于该顶面镜头影像中位于上述三个顶点(a、b、c)所定义的一个三角形内该目标像素t(u
2t
,v
2t
)的颜色调整量δc
2t
。此外,该栅格化引擎75根据上述三个顶点的三个空间权值(a,b,c)及三个拼接混合权值(请参考表二),分别计算正面及顶面镜头影像的两个工作面混合权值(fw1~fw2)如下:fw1=a
×w1a
b
×w1b
c
×w1c
;fw2=a
×w1a
b
×w1b
c
×w1c
。之后,该栅格化引擎75传送该目标像素t对应于正面及顶面镜头影像的两个工作面混合权值(fw1~fw2)及两个颜色调整量(δc
1t
、δc
2t
)至混合单元73。以此相同方式,该栅格化引擎75计算出位于该三角形(a、b、c)内各像素于各镜头影像的颜色调整量。
[0108]
步骤s970:根据上述三个顶点于各镜头影像的纹理坐标,计算该三角形内各像素
于各镜头影像的纹理坐标。以步骤s968中的目标像素t及三个顶点(a、b、c)为例,于正面及顶面镜头影像的目标像素t的纹理坐标计算如下:(u
1t
,v
1t
)=(a
×u1a
b
×u1b
c
×u1c
,a
×v1a
b
×v1b
c
×v1c
);(u
2t
,v
2t
)=(a
×u2a
b
×u2b
c
×u2c
,a
×v2a
b
×v2b
c
×v2c
)。其中,(u
1a
,v
1a
)、(u
1b
,v
1b
)及(u
1c
,v
1c
)代表三个顶点(a、b、c)于正面镜头影像的纹理坐标、(u
2a
,v
2a
)、(u
2b
,v
2b
)及(u
2c
,v
2c
)代表三个顶点(a、b、c)于顶面镜头影像的纹理坐标以及(a,b,c)代表三个空间权值。
[0109]
步骤s972:根据上述三角形内各像素的纹理坐标,纹理映射(texture-map)所述镜头影像的纹理数据。以步骤s970中的目标像素t及三个顶点(a、b、c)为例,根据目标像素t的两个纹理坐标(u
2t
,v
2t
)及(u
2t
,v
2t
),两个纹理映射引擎721~722利用任何合适的方法(例如最近相邻内插法、双线性内插法、或三线性内插法),纹理映射该正面与顶面镜头影像的纹理数据以产生两个取样值s1及s2。
[0110]
步骤s974:根据上述三角形内各像素的取样值、颜色调整量及工作面混合权值,计算上述三角形内各像素的颜色值(包含y、u、v成分)。以步骤s972中的目标像素t及三个顶点(a、b、c)为例,混合单元73从该栅格化引擎75接收到两个工作面混合权值(fw1~fw2)及两个颜色调整量(δc
1t
、δc
2t
)以及从纹理映射引擎721~722接收到两个取样值s1及s2之后,利用以下方程式来混合两个取样值s1及s2以产生像素t的颜色值vb:vb=fw1×
(s1 δc
1t
) fw2×
(s2 δc
2t
),其中fw1 fw2=1。最后,混合单元73将像素t的颜色值vb存储于目标缓冲器74内的一对应位置中。依此相同方式,可计算出上述三角形(a、b、c)内各像素的颜色值。
[0111]
步骤s976:检查是否已处理完所有顶点。若否,回到步骤s962;若是,结束本流程且形成一颜色补偿后的全景影像。
[0112]
在另一例子中,假设来自该修正顶点列表的三个顶点(a、b、c)仅被一镜头影像(正面;n=1)所涵盖,除了只需处理一镜头影像之外,其计算方式是类似的,混合单元73接收到一工作面混合权值(fw1)、一颜色调整量(δc
1t
)以及一取样值s1之后,利用以下方程式来产生像素t的颜色值vb:vb=fw1×
(s1 δc
1t
),其中fw1=1。
[0113]
本发明影像处理装置220及对应性产生器250可以软件、硬件、或软件(或韧体)及硬件的组合来实施,一单纯解决方案的例子是现场可程式闸阵列(field programmable gate array)或一特殊应用集成电路(application specific integrated circuit)。一较佳实施例中,该影像处理装置220利用一图形处理单元(graphics processing unit)以及一第一程序存储器来实施;该对应性产生器250利用一个一般用途(general-purpose)处理器以及一第二程序存储器来实施。该第一程序存储器存储一第一处理器可执行程序,而第二程序存储器存储一第二处理器可执行程序。当该图形处理单元执行该第一处理器可执行程序时,该图形处理单元被组态(configured)以运作有如:该影像处理装置220。当该一般用途处理器执行该第二处理器可执行程序时,该一般用途处理器被组态以运作有如:该对应性产生器250。
[0114]
另一实施例中,影像处理装置220及对应性产生器250利用一个一般用途处理器以及一第三程序存储器来实施。该第三程序存储器存储一第三处理器可执行程序。当该一般用途处理器执行该第三处理器可执行程序时,该一般用途处理器被组态以运作有如:该对应性产生器250以及该影像处理装置220。
[0115]
上述仅为本发明的较佳实施例而已,而并非用以限定本发明的申请专利范围;凡
其他未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在下述申请专利范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献