一种图像处理方法及装置转让专利

申请号 : CN202110263021.2

文献号 : CN112634337B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周奥宋利伟

申请人 : 展讯通信(上海)有限公司

摘要 :

本申请实施例提供了一种图像处理方法及装置。该方法中,终端获取第一摄像头距离拍摄物的场景深度D,查询场景深度D在单应性变换矩阵表中对应的单应性变换矩阵,该单应性变换矩阵表中包括不同的场景深度D所对应的单应性变换矩阵,每个场景深度D对应的单应性变换矩阵是基于第一摄像头的摄像参数和第二摄像头的摄像参数获得的,然后基于查询的单应性变换矩阵对第一图像进行变换,获得变换后的第一图像,该第一图像是第一摄像头拍摄拍摄物获得的。可见,本申请实施例变换后的第一图像与第二摄像头针对同一拍摄物拍摄的第二图像具有更好的对齐效果,获得高质量的融合图像外,还能够降低计算复杂度。

权利要求 :

1.一种图像处理方法,其特征在于,应用于包括第一摄像头和第二摄像头的终端中,所述方法包括:

获取所述第一摄像头距离拍摄物的场景深度D;

查询所述场景深度D在单应性变换矩阵表中对应的单应性变换矩阵;所述单应性变换矩阵表中包括不同的场景深度D所对应的单应性变换矩阵;每个场景深度D对应的单应性变换矩阵是基于所述第一摄像头的摄像参数和所述第二摄像头的摄像参数获得的;

基于查询的单应性变换矩阵对第一图像进行变换,获得变换后的第一图像;所述第一图像是所述第一摄像头拍摄所述拍摄物获得的。

2.根据权利要求1所述方法,其特征在于,所述方法还包括:利用双目立体标定,确定所述第一摄像头的摄像参数、所述第二摄像头的摄像参数,以及所述第一摄像头与所述第二摄像头之间的相对位置关系;

根据所述第一摄像头的摄像参数、所述第二摄像头的摄像参数以及所述相对位置关系,确定单应性变换矩阵与场景深度D之间的映射关系;

利用不同的场景深度D以及所述映射关系,建立单应性变换矩阵表。

3.根据权利要求2所述方法,其特征在于,所述摄像参数包括内参数矩阵、畸变系数,所述相对位置关系通过旋转矩阵R和平移向量t表示。

4.根据权利要求3所述方法,其特征在于,所述单应性变换矩阵与场景深度D之间的映射关系为

T ‑1 ‑1

H=M2Distort2(R‑tn /D)Distort1 M1 ,其中,所述M1为所述第一摄像头的内参数矩阵,所述M2为所述第二摄像头的内参数矩T

阵,所述n 为平面的法向量,所述Distort1为根据所述第一摄像头的畸变系数得到的畸变模型,所述Distort2为根据所述第二摄像头的畸变系数得到的畸变模型。

T

5.根据权利要求4所述方法,其特征在于,所述n 和所述场景深度D之间的关系满足平面的一般方程式:

T

nQ+D=0;

其中,场点Q位于所述平面上。

6.根据权利要求5所述方法,其特征在于,所述利用不同的场景深度D以及所述映射关系,建立单应性变换矩阵表,包括:确定场景深度范围,以步进距离l为间隔在所述场景深度范围内选取场景深度D;

根据所述映射关系和所述场景深度D,确定m个所述场景深度D对应的单应性变换矩阵,所述m与所述l的选取有关;

建立所述单应性变换矩阵表,所述单应性变换矩阵表包括m个所述场景深度D对应的单应性变换矩阵。

7.一种图像处理装置,其特征在于,所述图像处理装置包括第一摄像头和第二摄像头,所述图像处理装置包括:

获取单元,用于获取所述第一摄像头距离拍摄物的场景深度D;

查询单元,用于查询所述场景深度D在单应性变换矩阵表中对应的单应性变换矩阵;所述单应性变换矩阵表中包括不同的场景深度D所对应的单应性变换矩阵;每个场景深度D对应的单应性变换矩阵是基于所述第一摄像头的摄像参数和所述第二摄像头的摄像参数获得的;

变换单元,用于基于查询的单应性变换矩阵对第一图像进行变换,获得变换后的第一图像;所述第一图像是所述第一摄像头拍摄所述拍摄物获得的。

8.一种终端,其特征在于,所述终端包括处理器和存储器,所述处理器和所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1至6任一项所述的方法。

9.一种芯片,其特征在于,所述芯片包括处理器与存储器,所述处理器通过读取所述存储器上存储的指令,以执行如权利要求1至6任一项所述的方法。

10.一种芯片模组,其特征在于,该芯片模组包括如权利要求9所述的芯片。

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至6任一项所述的方法。

说明书 :

一种图像处理方法及装置

技术领域

[0001] 本申请涉及电子通信领域,尤其涉及一种图像处理方法及装置。

背景技术

[0002] 图像对齐是图像处理研究领域中的一个关键技术,其目的在于将不同条件下针对同一拍摄物分别获取的图像进行融合,即将不同条件下针对同一拍摄物分别获取的图像进
行融合之前需要进行图像对齐。目前,图像对齐方法主要是基于特征点计算单应性变换矩
阵,进而采用该单应性变换矩阵对其中一个图像进行变换,以与另一个图像进行对齐。然
而,当图像中存在重复纹理、弱纹理、无纹理和大前景干扰等情况时,会导致系统对图像的
特征点检测比较困难,进而使得基于特征点进行图像对齐的效果较差。

发明内容

[0003] 本申请提供一种图像处理方法,该方法能够有效提高图像对齐效果,降低计算复杂度。
[0004] 第一方面,本申请实施例提供了一种图像处理方法,应用于包括第一摄像头和第二摄像头的终端中,该图像处理方法包括:
[0005] 获取第一摄像头距离拍摄物的场景深度D,查询场景深度D在单应性变换矩阵表中对应的单应性变换矩阵,该单应性变换矩阵表中包括不同的场景深度D所对应的单应性变
换矩阵,每个场景深度D对应的单应性变换矩阵是基于第一摄像头的摄像参数和第二摄像
头的摄像参数获得的,然后基于查询的单应性变换矩阵对第一图像进行变换,获得变换后
的第一图像,该第一图像是第一摄像头拍摄拍摄物获得的。
[0006] 在一种可选的实施方式中,所述方法还包括:
[0007] 利用双目立体标定,确定第一摄像头的摄像参数、第二摄像头的摄像参数,以及第一摄像头与第二摄像头之间的相对位置关系;根据该第一摄像头的摄像参数、该第二摄像
头的摄像参数以及该相对位置关系,确定单应性变换矩阵与场景深度D之间的映射关系;利
用不同的场景深度D以及该映射关系,建立单应性变换矩阵表。
[0008] 在一种可选的实施方式中,摄像参数包括内参数矩阵、畸变系数,相对位置关系通过旋转矩阵R和平移向量t表示。
[0009] 在一种可选的实施方式中,单应性变换矩阵与场景深度D之间的映射关系为H=T ‑1 ‑1
M2Distort2(R‑tn /D)Distort1 M1 ,其中,M1为第一摄像头的内参数矩阵,M2为第二摄像头
T
的内参数矩阵,n 为平面的法向量,Distort1为根据第一摄像头的畸变系数得到的畸变模
型,Distort2为根据第二摄像头的畸变系数得到的畸变模型。
[0010] 在一种可选的实施方式中,nT和场景深度D之间的关系满足平面的一般方程式。
[0011] 在一种可选的实施方式中,确定场景深度范围,以步进距离l为间隔在场景深度范围内选取场景深度D;根据映射关系和场景深度D,确定m个场景深度D对应的单应性变换矩
阵,m与l的选取有关;建立单应性变换矩阵表,该单应性变换矩阵表包括m个场景深度D对应
的单应性变换矩阵。
[0012] 第二方面,本申请实施例提供一种图像处理装置,该图像处理装置包括:
[0013] 获取单元,用于获取第一摄像头距离拍摄物的场景深度D;
[0014] 查询单元,用于查询场景深度D在单应性变换矩阵表中对应的单应性变换矩阵;单应性变换矩阵表中包括不同的场景深度D所对应的单应性变换矩阵;每个场景深度D对应的
单应性变换矩阵是基于第一摄像头的摄像参数和第二摄像头的摄像参数获得的;
[0015] 变换单元,用于基于查询的单应性变换矩阵对第一图像进行变换,获得变换后的第一图像;第一图像是第一摄像头拍摄拍摄物获得的。
[0016] 另外,该方面中,图像处理装置其他可选的实施方式可参见上述第一方面的相关内容,此处不再详述。
[0017] 第三方面,本申请实施例提供了一种终端,该终端包括处理器和存储器,处理器和所述存储器相互连接,其中,存储器用于存储计算机程序,计算机程序包括程序指令,处理
器被配置用于调用所述程序指令,执行第一方面所述的方法。
[0018] 第四方面,本申请实施例提供一种芯片,该芯片包括处理器与存储器,所述处理器通过读取所述存储器上存储的指令,以执行如第一方面所述的方法。
[0019] 第五方面,本申请实施例提供一种芯片模组,其特征在于,该芯片模组包括如第四方面所述的芯片。
[0020] 第六方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时使处理器执
行如第一方面所述的方法。
[0021] 本申请实施例中,终端获取第一摄像头距离拍摄物的场景深度D,查询场景深度D在单应性变换矩阵表中对应的单应性变换矩阵,该单应性变换矩阵表中包括不同的场景深
度D所对应的单应性变换矩阵,每个场景深度D对应的单应性变换矩阵是基于第一摄像头的
摄像参数和第二摄像头的摄像参数获得的,然后基于查询的单应性变换矩阵对第一图像进
行变换,获得变换后的第一图像,该第一图像是第一摄像头拍摄拍摄物获得的。可见,本申
请实施例变换后的第一图像与第二摄像头针对同一拍摄物拍摄的第二图像具有更好的对
齐效果,获得高质量的融合图像外,还能够降低计算复杂度。另外,与采用特征点检测进行
图像对齐的方法相比,可避免由于特征点提取困难而造成图像对齐困难的问题。

附图说明

[0022] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本
申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
[0023] 图1是本申请实施例提供的一种智能手机的结构示意图;
[0024] 图2是本申请实施例提供的一种图像处理方法的流程示意图;
[0025] 图3是本申请实施例提供的另一种图像处理方法的流程示意图;
[0026] 图4是本申请实施例提供的一种智能手机利用图像处理方法进行图像处理时的流程示意图;
[0027] 图5是本申请实施例提供的一种智能手机拍摄的场景图的示意图;
[0028] 图6是本申请实施例提供的一种图像处理装置;
[0029] 图7是本申请实施例提供的一种终端的结构示意图。

具体实施方式

[0030] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于
本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本申请保护的范围。
[0031] 针对同一拍摄物在不同条件下拍摄的一组图像(例如来自不同采集设备的一组图像,拍摄于不同时间的一组图像,拍摄视角不同的一组图像等),在对该组图像进行融合或
比较时需要对该组图像进行对齐处理;或者,有时针对不同拍摄物在不同条件下拍摄的一
组图像,在对该组图像进行融合或比较时也需要进行对齐处理。例如,当终端基于多摄模组
中的多个摄像头进行拍摄时,由于不同摄像头的视场角差异,因此不同摄像头在拍摄同一
拍摄物时获得的图像,会出现不对齐的情况,从而在对不同的摄像头拍摄的图像进行融合
时,会导致融合所得的图像的质量较差。因此,如何使得图像有效对齐成为亟待解决的问
题。
[0032] 针对以上问题,本申请实施例提供一种图像处理方法,应用于包括第一摄像头和第二摄像头的终端中,该方法中,获取第一摄像头距离拍摄物的场景深度D,查询场景深度D
在单应性变换矩阵表中对应的单应性变换矩阵,该单应性变换矩阵表中包括不同的场景深
度D所对应的单应性变换矩阵,每个场景深度D对应的单应性变换矩阵是基于第一摄像头的
摄像参数和第二摄像头的摄像参数获得的,然后基于查询的单应性变换矩阵对第一图像进
行变换,获得变换后的第一图像,该第一图像是第一摄像头拍摄拍摄物获得的。可见,本申
请实施例变换后的第一图像与第二摄像头针对同一拍摄物拍摄的第二图像具有更好的对
齐效果,获得高质量的融合图像外,还能够降低计算复杂度。以下结合附图进行阐述。
[0033] 本申请实施例中,终端可以包括但不限于具有多摄模组的智能手机、平板电脑等,多摄模组中包括多个摄像头对应的模块。请参见图1,图1是本申请实施例提供的一种智能
手机的结构示意图。图1所示的智能手机中包括彩色(Red‑Green‑Blue,RGB)摄像头、红外
(Infrared Radiation,IR)摄像头1、IR摄像头2、深度(Time of Flight,ToF)摄像头。图1所
示的设备数量和形态用于举例并不构成对本申请实施例的限定,本申请的一些示例中以图
1所示智能手机中的摄像头为例进行阐述。
[0034] 请参见图2,图2是本申请实施例提供的一种图像处理方法的流程示意图,该图像处理方法由包括第一摄像头、第二摄像头的终端执行,如图2所示,该方法可以包括但不限
于以下步骤:
[0035] 步骤201:终端获取第一摄像头距离拍摄物的场景深度D。
[0036] 其中,场景深度D也可称为工作距离,为摄像头到所拍摄的拍摄物的距离。第一摄像头距离拍摄物的场景深度D可以通过ToF摄像头或者双目摄像头测距(双目立体匹配)获
得。例如,当第一摄像头为如图1所示的RGB摄像头时,可以利用ToF摄像头对RGB摄像头拍摄
的拍摄物的场景深度D进行测量,又例如,当第一摄像头为如图1所示的IR摄像头1或IR摄像
头2时,可以通过双目立体匹配获取IR摄像头1或IR摄像头2拍摄的拍摄物对应的深度图像,
从而获得IR摄像头1或IR摄像头2所拍摄拍摄物的场景深度D。
[0037] 步骤202:终端查询场景深度D在单应性变换矩阵表中对应的单应性变换矩阵。
[0038] 场景深度D与单应性变换矩阵之间存在映射关系,通过映射关系终端可以建立场景深度D和单应性变换矩阵的对应表,即单应性变换矩阵表,如表1所示。在实际拍摄过程
中,终端获得第一摄像头距离拍摄物的场景深度D之后,可以通过在单应性变换矩阵表中查
询场景深度D对应的单应性变换矩阵。如果在表中没有与场景深度D相等的场景深度,那么
终端可以查询与场景深度D最接近的场景深度所对应的单应性变换矩阵。
[0039] 表1
[0040]
[0041] 步骤203:终端基于查询的单应性变换矩阵对第一图像进行变换,获得变换后的第一图像。
[0042] 其中,第一图像是第一摄像头拍摄拍摄物获得的。终端查询到第一图像各个场点的场景深度D对应的单应性变换矩阵后,可以利用各个场点对应的单应性变换矩阵对第一
图像各个场点进行变换,从而实现对第一图像的变换。变换后的第一图像可以实现对齐第
二摄像头拍摄同一拍摄物得到的第二图像。
[0043] 本申请实施例提供的一种图像处理方法中,终端利用第一摄像头所拍摄的拍摄物的场景深度D和单应性变换矩阵的映射关系,在单应性变换矩阵表中查找到场景深度D对应
的单应性变换矩阵,利用该单应性变换矩阵对第一图像进行变换,可见,本申请实施例变换
后的第一图像与第二摄像头针对同一拍摄物拍摄的第二图像具有更好的对齐效果,获得高
质量的融合图像外,还能够降低计算复杂度。
[0044] 请参见图3,图3是本申请实施例提供的另一种图像处理方法的流程示意图,如图3所示,该方法可以包括但不限于以下步骤,其中,步骤301‑步骤303为终端离线计算单应性
变换矩阵表的过程,步骤304‑步骤306为终端在线查找单应性变换矩阵的过程。
[0045] 步骤301:终端利用双目立体标定,确定第一摄像头的摄像参数、第二摄像头的摄像参数,以及第一摄像头与第二摄像头之间的相对位置关系。
[0046] 在双目立体标定时,针对同一棋盘格,通过调整棋盘格的不同角度,每调整一次棋盘格的角度,终端利用第一摄像头和第二摄像头同时对棋盘格进行拍摄,可以获取若干组
(一般大于3组)图像。其中,每组图像中包含第一摄像头和第二摄像头同时拍摄棋盘格获得
的图像。终端利用双目标定工具(例如矩阵工厂(Matrix Laboratory,Matlab)标定工具箱、
OpenCV(一种软件库)双目标定函数等)可以获得第一摄像头的摄像参数、第二摄像头的摄
像参数,以及第一摄像头和第二摄像头的相对位置关系。其中,摄像参数包括内参数矩阵、
畸变系数,相对位置关系通过旋转矩阵R和平移向量t表示。在计算机视觉中,摄像头的内参
数矩阵一般也称作投影矩阵,摄像头的内参数矩阵可以表示为
[0047]  (1)
[0048] 式(1)中,fx表示摄像头的焦距f在图像坐标系中x轴方向上的长度,单位为像素;fy表示摄像头的焦距f在图像坐标系中y轴方向上的长度,单位为像素;cx表示摄像头透镜的
光心(位于透镜中央的点)在图像坐标系中x轴方向上的坐标,单位为像素;cy表示摄像头透
镜的光心在图像坐标系中y轴方向上的坐标,单位为像素。
[0049] 畸变系数一般包括径向畸变k1,k2,k3和切向畸变p1,p2。径向畸变是由于摄像头透镜的不同区域的焦距的不同而引起的畸变,切向畸变是发生在摄像头制作过程,是由于感
光元平面跟透镜不平行而引起的畸变。
[0050] 步骤302:终端根据第一摄像头的摄像参数、第二摄像头的摄像参数以及相对位置关系,确定单应性变换矩阵与场景深度D之间的映射关系。
[0051] 在一个实施例中,设在第一摄像头的相机坐标系下,第一摄像头拍摄的拍摄物中的场点Q的空间位置(即相机坐标系下的坐标)为
[0052] Q=[X,Y,Z]T(2)
[0053] 相机坐标系中以摄像头透镜的光心为坐标原点。其中,场点Q位于某一平面上,设这个平面满足
[0054] aX+bY+cZ+D=0(3)
[0055] 即
[0056] nTQ+D=0(4)
[0057] 即nT和场景深度D之间的关系满足平面的一般方程式,其中,nT为平面的法向量,nTT
=[a,b,c],即n=[a,b,c],整理式(3)和式(4)可得
[0058]  (5)
[0059] 根据针孔相机模型,摄像头拍摄的拍摄物中的场点在像素坐标系下的坐标,可以通过摄像头拍摄的拍摄物中的场点在相机坐标系下的坐标转换而来,因此场点Q在第一摄
像头和第二摄像头的像素坐标系下的像素坐标分别为:
[0060] q1=M1Distort1(Q)(6)
[0061] q2=M2Distort2(RQ+t)(7)
[0062] 其中,M1为第一摄像头的内参数矩阵,M2为第二摄像头的内参数矩阵,Distort1为根据第一摄像头的畸变系数得到的畸变模型,Distort2为根据第二摄像头的畸变系数得到
的畸变模型,RQ+t为场点Q通过旋转矩阵R和平移向量t改变后的坐标,即场点Q在第二摄像
头的相机坐标系下的坐标。
[0063] 在一个实施例中,畸变模型可以表示为
[0064] (8)
[0065] 其中,[x,y]T为摄像头拍摄拍摄物的场点在相机坐标系下的坐标经过归一化(Z=T T 2 2 2
1)后的坐标,即x=X/Z,y=Y/Z,[xd,yd]为[x,y]增加畸变后的坐标。其中,r =x +y 。
[0066] 根据式(6)求解出
[0067] Q=Distort1‑1M1‑1q1 (9)
[0068] 将式(5)和式(9)代入式(7)中,可以得到
[0069]       (10)
[0070] 其中,H=M2Distort2(R‑tnT/D)Distort1‑1M1‑1,即单应性变换矩阵与场景深度D之间的映射关系。根据式(10)可知,第一摄像头拍摄拍摄物所得图像中某一场点的像素坐标可
以通过乘上该场点对应的单应性变换矩阵,与第二摄像头拍摄同一拍摄物所得图像中该场
点的像素坐标对应起来。
[0071] 步骤303:终端利用不同场景深度D以及映射关系,建立单应性变换矩阵表。
[0072] 在一个实施例中,终端确定场景深度范围,以步进距离l为间隔在场景深度范围内选取场景深度D,根据映射关系和场景深度D,可以确定m个场景深度D对应的单应性变换矩
阵,也就是将场景深度D代入映射关系中,可以得到m个场景深度D对应的单应性变换矩阵,
其中,m与l的选取有关。终端建立单应性变换矩阵表,该单应性变换矩阵表包括m个场景深
T
度D对应的单应性变换矩阵。例如,场景深度范围为300mm~800mm,若n=[0,0,1] ,步进距离
l=10mm,则m=51,即可以得到51个场景深度D对应的单应性变换矩阵,终端利用这51个场景
深度D对应的单应性变换矩阵建立单应性变换矩阵表,如表2所示。
[0073] 表2
[0074] 场景深度D 单应性变换矩阵T ‑1 ‑1
D1=300mm H1=M2Distort2(R‑tn /D1)Distort1 M1
T ‑1 ‑1
D2=310mm H2=M2Distort2(R‑tn /D2)Distort1 M1
T ‑1 ‑1
D3=320mm H3=M2Distort2(R‑tn /D3)Distort1 M1
… …
T ‑1 ‑1
D51=800mm H51=M2Distort2(R‑tn /D51)Distort1 M1
[0075] 步骤304:终端获取第一摄像头距离拍摄物的场景深度D。
[0076] 步骤305:终端查询场景深度D在单应性变换矩阵表中对应的单应性变换矩阵。
[0077] 在一个实施例中,在单应性变换矩阵表中没有找到与第一摄像头距离拍摄物的场景深度D相等的值,可以查找与第一摄像头距离拍摄物的场景深度D最接近的场景深度,然
后确定与第一摄像头距离拍摄物的场景深度D最接近的场景深度所对应的单应性变换矩阵
即为第一摄像头距离拍摄物的场景深度D所对应的单应性变换矩阵。以表2所示的单应性变
换矩阵为例,第一摄像头距离拍摄物的场景深度D=301mm,在表2中没有场景深度为301mm所
对应的单应性变换矩阵,那么可以选择与场景深度为301mm最接近的场景深度所对应的单
应性变换矩阵,即场景深度为300mm所对应的单应性变换矩阵,即
[0078] H1=M2Distort2(R‑tnT/D1)Distort1‑1M1‑1。
[0079] 步骤306:终端基于查询的单应性变换矩阵对第一图像进行变换,获得变换后的第一图像。
[0080] 在一个实施例中,第一图像的每个场点对应一个单应性变换矩阵,将每个场点的像素坐标和每个场点对应的单应性变换矩阵代入式(10)中,即可得到变换后的第一图像的
每个场点的像素坐标,从而得到变换后的第一图像。变换后的第一图像的像素坐标将最大
程度对齐第二摄像头针对同一拍摄物拍摄的第二图像的像素坐标。
[0081] 本申请实施例提供的一种图像处理方法中,终端利用第一摄像头的摄像参数、第二摄像头的摄像参数以及第一摄像头与第二摄像头之间的相对位置关系,确定单应性变换
矩阵与场景深度之间的映射关系,并利用该映射关系建立场景深度与单应性变换矩阵的单
应性变换矩阵表。在终端的第一摄像头和第二摄像头进行实际应用时,终端获取第一摄像
头距离拍摄物的场景深度D,在单应性变换矩阵表中查找单应性变换矩阵,利用查找到的该
单应性变换矩阵对第一图像进行变换,从而对齐第二摄像头所拍的同一拍摄物的图像。在
传统的基于单应性变换矩阵进行图像对齐时,常通过特征点检测、特征点匹配和图像变换
这三个步骤实现图像的对齐。传统的单应性变换矩阵是基于特征点获得,由于当图像存在
重复纹理、无纹理、弱纹理、大前景干扰、夜景、噪声等的干扰情况时,存在特征点提取困难
的问题,因此会造成基于特征点进行图像对齐的效果较差,且当存在大视差的情况时,由于
摄像头的拍摄角度发生较大的变化,因此会使得计算单应性变换矩阵的难度加大,从而会
对图像对齐带来挑战。
[0082] 本申请实施例提供的图像处理方法在进行第一图像的变换时,利用的是离线建立的单应性变换矩阵表中的单应性变换矩阵对第一图像进行变换,从而对齐第二摄像头所拍
摄的图像。该单应性变换矩阵表中的单应性变换矩阵又是基于第一摄像头的摄像参数、第
二摄像头的摄像参数和场景深度获得。克服了因为图像特征点提取困难而造成的单应性变
换矩阵存在误差的问题和因为大视差而造成的单应性变换矩阵计算困难的问题,因此本申
请实施例变换后的第一图像与第二摄像头针对同一拍摄物拍摄的第二图像具有更好的对
齐效果,获得高质量的融合图像外,还能够降低计算复杂度。
[0083] 请参见图4,图4是本申请实施例提供的一种智能手机利用图像处理方法进行图像处理时的流程示意图。本申请实施例中,以如图1所示的智能手机中的RGB摄像头为第一摄
像头,IR摄像头1为第二摄像头为例,具体可以包括以下步骤:
[0084] 步骤401:终端进行双目立体标定。
[0085] 针对同一棋盘格,5次调整棋盘格的角度,每调整一次棋盘格的角度,终端便使用RGB摄像头和IR摄像头1同时对棋盘格进行拍摄,可以获得5组图像,每组图像中包括RGB摄
像头拍摄的图像和IR摄像头1拍摄的图像。终端使用双目标定工具对获取的5组图像进行标
定,从而得到RGB摄像头的内参数矩阵、畸变系数和IR摄像头1的内参数矩阵、畸变系数,以
及表示RGB摄像头和IR摄像头1相对位置关系的旋转矩阵R和平移向量t。
[0086] 步骤402:终端计算单应性变换矩阵。
[0087] 终端利用RGB摄像头和IR摄像头1的内参数矩阵、畸变系数,以及旋转矩阵R和平移向量t,计算场景深度和单应性变换矩阵的映射关系,然后终端将RGB摄像头的内参数矩阵、
畸变系数和IR摄像头1的内参数矩阵、畸变系数,以及旋转矩阵R和平移向量t代入场景深度
和单应性变换矩阵的映射关系中,可以计算得到不同场景深度对应的单应性变换矩阵。
[0088] 步骤403:终端建立单应性变换矩阵表。
[0089] 终端基于步骤402得到的不同场景深度对应的单应性变换矩阵,建立单应性变换矩阵表,单应性变换矩阵表的形式可以参见表2。
[0090] 步骤404:终端在线查表进行图像对齐。
[0091] RGB摄像头拍摄场景1得到第一图像(如图5的左图所示),IR摄像头1拍摄场景1得到第二图像(如图5的右图所示)。当终端需要对第一图像进行变换,使得第一图像对齐第二
图像时,终端利用ToF摄像头对场景1进行测距,得到第一图像中各个场点的场景深度。根据
得到的各个场点的场景深度,终端在建立的单应性变换矩阵表中查找与各个场景深度最接
近的场景深度所对应的单应性变换矩阵,即找到与各个场点对应的单应性变换矩阵,终端
利用找到的各个场点对应的单应性变换矩阵对第一图像中的各个场点进行变换,得到变换
后的第一图像,变换后的第一图像中各个场点的像素坐标将最大程度接近于第二图像中各
个场点的像素坐标,从而使得第一图像对齐第二图像。
[0092] 基于上述图像处理方法的实施例的描述,请参见图6,是本申请实施例提供的一种图像处理装置,该图像处理装置可以运行于终端中,以执行上述图像处理方法的实施例中
的相关操作。请参见图6,该图像处理装置包括但不限于获取单元601、查询单元602、变换单
元603。其中:
[0093] 获取单元601,用于获取第一摄像头距离拍摄物的场景深度D。
[0094] 查询单元602,用于查询场景深度D在单应性变换矩阵表中对应的单应性变换矩阵;单应性变换矩阵表中包括不同的场景深度D所对应的单应性变换矩阵;每个场景深度D
对应的单应性变换矩阵是基于第一摄像头的摄像参数和第二摄像头的摄像参数获得的;
[0095] 变换单元603,用于基于查询的单应性变换矩阵对第一图像进行变换,获得变换后的第一图像;第一图像是第一摄像头拍摄拍摄物获得的。
[0096] 在一个实施例中,该图像处理装置还包括:
[0097] 确定单元604,用于确定第一摄像头的摄像参数、第二摄像头的摄像参数,以及第一摄像头与第二摄像头之间的相对位置关系。
[0098] 确定单元604,还用于根据第一摄像头的摄像参数、第二摄像头的摄像参数以及相对位置关系,确定单应性变换矩阵与场景深度D之间的映射关系。
[0099] 建立单元605,用于利用不同的场景深度D以及所述映射关系,建立单应性变换矩阵表。
[0100] 在一个实施例中,摄像参数包括内参数矩阵、畸变系数,所述相对位置关系通过旋转矩阵R和平移向量t表示。
[0101] 在一个实施例中,单应性变换矩阵与场景深度D之间的映射关系为
[0102] H=M2Distort2(R‑tnT/D)Distort1‑1M1‑1,
[0103] 其中,M1为第一摄像头的内参数矩阵,M2为第二摄像头的内参数矩阵,nT为平面的法向量,Distort1为根据第一摄像头的畸变系数得到的畸变模型,Distort2为根据第二摄像
头的畸变系数得到的畸变模型。
[0104] 在一个实施例中,nT和场景深度D之间的关系满足平面的一般方程式。
[0105] 在一个实施例中,确定单元604,还用于确定场景深度范围,以步进距离l为间隔在场景深度范围内选取场景深度D;确定单元604,还用于根据映射关系和场景深度D,确定m个
所述场景深度D对应的单应性变换矩阵,m与l的选取有关;建立单元605,用于建立单应性变
换矩阵表,单应性变换矩阵表包括m个场景深度D对应的单应性变换矩阵。
[0106] 请参见图7,图7是本申请实施例提供的一种终端的结构示意图。该终端700包括:处理器701、存储器702,处理器701和存储器702通过一条或多条通信总线连接。存储器702
用于存储计算机程序,所述计算机程序包括程序指令,处理器701用于执行存储器702存储
的程序指令。
[0107] 上述处理器701可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成
电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field‑
Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、
分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器
等。
[0108] 上述存储器702是终端中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器702既可以包括终端的内置存储介质,当然也包括终端所支持的扩展存储介质。该
存储器702可以包括只读存储器和随机存取存储器,并向处理器701提供指令和数据。该存
储器702的一部分还可以包括非易失性随机存取存储器,可以存储第一图像、单应性变换矩
阵表等。
[0109] 处理器701被配置为支持终端执行图2所示或如图3所示方法中终端相应的功能。其中,所述处理器701调用所述计算机程序时用于执行:
[0110] 获取第一摄像头距离拍摄物的场景深度D;
[0111] 查询场景深度D在单应性变换矩阵表中对应的单应性变换矩阵;单应性变换矩阵表中包括不同的场景深度D所对应的单应性变换矩阵;每个场景深度D对应的单应性变换矩
阵是基于第一摄像头的摄像参数和第二摄像头的摄像参数获得的;
[0112] 基于查询的单应性变换矩阵对第一图像进行变换,获得变换后的第一图像;第一图像是第一摄像头拍摄拍摄物获得的。
[0113] 在一个实施例中,所述处理器701调用所述计算机程序时还用于执行:
[0114] 利用双目立体标定,确定第一摄像头的摄像参数、第二摄像头的摄像参数,以及第一摄像头与第二摄像头之间的相对位置关系;
[0115] 根据第一摄像头的摄像参数、第二摄像头的摄像参数以及相对位置关系,确定单应性变换矩阵与场景深度D之间的映射关系;
[0116] 利用不同的场景深度D以及映射关系,建立单应性变换矩阵表。
[0117] 在一个实施例中,摄像参数包括内参数矩阵、畸变系数,相对位置关系通过旋转矩阵R和平移向量t表示。
[0118] 在一个实施例中,单应性变换矩阵与场景深度D之间的映射关系为
[0119] H=M2Distort2(R‑tnT/D)Distort1‑1M1‑1,
[0120] 其中,M1为第一摄像头的内参数矩阵,M2为第二摄像头的内参数矩阵,nT为平面的法向量,Distort1为根据第一摄像头的畸变系数得到的畸变模型,Distort2为根据第二摄像
头的畸变系数得到的畸变模型。
[0121] 在一个实施例中,nT和场景深度D之间的关系满足平面的一般方程式。
[0122] 在一个实施例中,处理器701确定场景深度范围,以步进距离l为间隔在所述场景深度范围内选取场景深度D;处理器701根据所述映射关系和所述场景深度D,确定m个所述
场景深度D对应的单应性变换矩阵,所述m与所述l的选取有关;处理器701建立所述单应性
变换矩阵表,所述单应性变换矩阵表包括m个所述场景深度D对应的单应性变换矩阵。
[0123] 本申请实施例提供一种芯片。该芯片包括:处理器和存储器。其中,处理器的数量可以是一个或多个,存储器的数量可以是一个或多个。
[0124] 在一个实施例中,该芯片用于实现本申请实施例中如图2或图3所示方法的情况:
[0125] 处理器,用于获取第一摄像头距离拍摄物的场景深度D;查询场景深度D在单应性变换矩阵表中对应的单应性变换矩阵;单应性变换矩阵表中包括不同的场景深度D所对应
的单应性变换矩阵;每个场景深度D对应的单应性变换矩阵是基于第一摄像头的摄像参数
和第二摄像头的摄像参数获得的;基于查询的单应性变换矩阵对第一图像进行变换,获得
变换后的第一图像;第一图像是第一摄像头拍摄拍摄物获得的。
[0126] 处理器,还用于利用双目立体标定,确定第一摄像头的摄像参数、第二摄像头的摄像参数,以及第一摄像头与第二摄像头之间的相对位置关系;根据第一摄像头的摄像参数、
第二摄像头的摄像参数以及相对位置关系,确定单应性变换矩阵与场景深度D之间的映射
关系;利用不同的场景深度D以及映射关系,建立单应性变换矩阵表。
[0127] 在一个实施例中,摄像参数包括内参数矩阵、畸变系数,相对位置关系通过旋转矩阵R和平移向量t表示。
[0128] 在一个实施例中,单应性变换矩阵与场景深度D之间的映射关系为
[0129] H=M2Distort2(R‑tnT/D)Distort1‑1M1‑1,
[0130] 其中,M1为第一摄像头的内参数矩阵,M2为第二摄像头的内参数矩阵,nT为平面的法向量,Distort1为根据第一摄像头的畸变系数得到的畸变模型,Distort2为根据第二摄像
头的畸变系数得到的畸变模型。
[0131] 在一种可选的实施方式中,nT和场景深度D之间的关系满足平面的一般方程式。
[0132] 在一个实施例中,处理器,还用于确定场景深度范围,以步进距离l为间隔在场景深度范围内选取场景深度D;根据映射关系和场景深度D,确定m个场景深度D对应的单应性
变换矩阵,m与l的选取有关;建立单应性变换矩阵表,该单应性变换矩阵表包括m个场景深
度D对应的单应性变换矩阵。
[0133] 本申请实施例还提供一种芯片模组,所述芯片模组包括上述芯片,用于执行:
[0134] 获取第一摄像头距离拍摄物的场景深度D;查询场景深度D在单应性变换矩阵表中对应的单应性变换矩阵;单应性变换矩阵表中包括不同的场景深度D所对应的单应性变换
矩阵;每个场景深度D对应的单应性变换矩阵是基于第一摄像头的摄像参数和第二摄像头
的摄像参数获得的;基于查询的单应性变换矩阵对第一图像进行变换,获得变换后的第一
图像;第一图像是第一摄像头拍摄拍摄物获得的。
[0135] 在一个实施例中,所述芯片模组用于执行:利用双目立体标定,确定第一摄像头的摄像参数、第二摄像头的摄像参数,以及第一摄像头与第二摄像头之间的相对位置关系;根
据第一摄像头的摄像参数、第二摄像头的摄像参数以及相对位置关系,确定单应性变换矩
阵与场景深度D之间的映射关系;利用不同的场景深度D以及映射关系,建立单应性变换矩
阵表。
[0136] 在一个实施例中,摄像参数包括内参数矩阵、畸变系数,相对位置关系通过旋转矩阵R和平移向量t表示。
[0137] 在一个实施例中,单应性变换矩阵与场景深度D之间的映射关系为
[0138] H=M2Distort2(R‑tnT/D)Distort1‑1M1‑1,
[0139] 其中,M1为第一摄像头的内参数矩阵,M2为第二摄像头的内参数矩阵,nT为平面的法向量,Distort1为根据第一摄像头的畸变系数得到的畸变模型,Distort2为根据第二摄像
头的畸变系数得到的畸变模型。
[0140] 在一种可选的实施方式中,nT和场景深度D之间的关系满足平面的一般方程式。
[0141] 在一个实施例中,所述芯片模组用于执行:确定场景深度范围,以步进距离l为间隔在场景深度范围内选取场景深度D;根据映射关系和场景深度D,确定m个场景深度D对应
的单应性变换矩阵,m与l的选取有关;建立单应性变换矩阵表,该单应性变换矩阵表包括m
个场景深度D对应的单应性变换矩阵。
[0142] 本申请实施例和上述方法实施例基于同一构思,其带来的技术效果也相同,具体原理请参照上述方法实施例的描述,在此不赘述。
[0143] 本申请实施例中还提供一种计算机可读存储介质。该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时,可执行上述如图2
或图3所示的图像处理方法,以及相关实施方式所执行的步骤。
[0144] 所述计算机可读存储介质可以是前述任一实施例所述的终端设备的内部存储单元,例如设备的硬盘或内存。所述计算机可读存储介质也可以是所述终端设备的外部存储
设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字
(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还
可以既包括所述终端设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质
用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述计算机可读存储
介质还可以用于暂时地存储已经输出或者将要输出的数据。
[0145] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质
中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁
碟、光盘、只读存储记忆体(Read‑Only Memory,ROM)或随机存储记忆体(Random Access 
Memory,RAM)等。
[0146] 以上所揭露的仅为本申请一种较佳实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权
利要求所作的等同变化,仍属于申请所涵盖的范围。