一种图像处理方法及装置转让专利
申请号 : CN202110263021.2
文献号 : CN112634337B
文献日 : 2021-06-15
发明人 : 周奥 , 宋利伟
申请人 : 展讯通信(上海)有限公司
摘要 :
权利要求 :
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任一项所述的方法。
说明书 :
一种图像处理方法及装置
技术领域
背景技术
行融合之前需要进行图像对齐。目前,图像对齐方法主要是基于特征点计算单应性变换矩
阵,进而采用该单应性变换矩阵对其中一个图像进行变换,以与另一个图像进行对齐。然
而,当图像中存在重复纹理、弱纹理、无纹理和大前景干扰等情况时,会导致系统对图像的
特征点检测比较困难,进而使得基于特征点进行图像对齐的效果较差。
发明内容
换矩阵,每个场景深度D对应的单应性变换矩阵是基于第一摄像头的摄像参数和第二摄像
头的摄像参数获得的,然后基于查询的单应性变换矩阵对第一图像进行变换,获得变换后
的第一图像,该第一图像是第一摄像头拍摄拍摄物获得的。
头的摄像参数以及该相对位置关系,确定单应性变换矩阵与场景深度D之间的映射关系;利
用不同的场景深度D以及该映射关系,建立单应性变换矩阵表。
M2Distort2(R‑tn /D)Distort1 M1 ,其中,M1为第一摄像头的内参数矩阵,M2为第二摄像头
T
的内参数矩阵,n 为平面的法向量,Distort1为根据第一摄像头的畸变系数得到的畸变模
型,Distort2为根据第二摄像头的畸变系数得到的畸变模型。
阵,m与l的选取有关;建立单应性变换矩阵表,该单应性变换矩阵表包括m个场景深度D对应
的单应性变换矩阵。
单应性变换矩阵是基于第一摄像头的摄像参数和第二摄像头的摄像参数获得的;
器被配置用于调用所述程序指令,执行第一方面所述的方法。
行如第一方面所述的方法。
度D所对应的单应性变换矩阵,每个场景深度D对应的单应性变换矩阵是基于第一摄像头的
摄像参数和第二摄像头的摄像参数获得的,然后基于查询的单应性变换矩阵对第一图像进
行变换,获得变换后的第一图像,该第一图像是第一摄像头拍摄拍摄物获得的。可见,本申
请实施例变换后的第一图像与第二摄像头针对同一拍摄物拍摄的第二图像具有更好的对
齐效果,获得高质量的融合图像外,还能够降低计算复杂度。另外,与采用特征点检测进行
图像对齐的方法相比,可避免由于特征点提取困难而造成图像对齐困难的问题。
附图说明
申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
具体实施方式
本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本申请保护的范围。
比较时需要对该组图像进行对齐处理;或者,有时针对不同拍摄物在不同条件下拍摄的一
组图像,在对该组图像进行融合或比较时也需要进行对齐处理。例如,当终端基于多摄模组
中的多个摄像头进行拍摄时,由于不同摄像头的视场角差异,因此不同摄像头在拍摄同一
拍摄物时获得的图像,会出现不对齐的情况,从而在对不同的摄像头拍摄的图像进行融合
时,会导致融合所得的图像的质量较差。因此,如何使得图像有效对齐成为亟待解决的问
题。
在单应性变换矩阵表中对应的单应性变换矩阵,该单应性变换矩阵表中包括不同的场景深
度D所对应的单应性变换矩阵,每个场景深度D对应的单应性变换矩阵是基于第一摄像头的
摄像参数和第二摄像头的摄像参数获得的,然后基于查询的单应性变换矩阵对第一图像进
行变换,获得变换后的第一图像,该第一图像是第一摄像头拍摄拍摄物获得的。可见,本申
请实施例变换后的第一图像与第二摄像头针对同一拍摄物拍摄的第二图像具有更好的对
齐效果,获得高质量的融合图像外,还能够降低计算复杂度。以下结合附图进行阐述。
手机的结构示意图。图1所示的智能手机中包括彩色(Red‑Green‑Blue,RGB)摄像头、红外
(Infrared Radiation,IR)摄像头1、IR摄像头2、深度(Time of Flight,ToF)摄像头。图1所
示的设备数量和形态用于举例并不构成对本申请实施例的限定,本申请的一些示例中以图
1所示智能手机中的摄像头为例进行阐述。
于以下步骤:
得。例如,当第一摄像头为如图1所示的RGB摄像头时,可以利用ToF摄像头对RGB摄像头拍摄
的拍摄物的场景深度D进行测量,又例如,当第一摄像头为如图1所示的IR摄像头1或IR摄像
头2时,可以通过双目立体匹配获取IR摄像头1或IR摄像头2拍摄的拍摄物对应的深度图像,
从而获得IR摄像头1或IR摄像头2所拍摄拍摄物的场景深度D。
中,终端获得第一摄像头距离拍摄物的场景深度D之后,可以通过在单应性变换矩阵表中查
询场景深度D对应的单应性变换矩阵。如果在表中没有与场景深度D相等的场景深度,那么
终端可以查询与场景深度D最接近的场景深度所对应的单应性变换矩阵。
图像各个场点进行变换,从而实现对第一图像的变换。变换后的第一图像可以实现对齐第
二摄像头拍摄同一拍摄物得到的第二图像。
的单应性变换矩阵,利用该单应性变换矩阵对第一图像进行变换,可见,本申请实施例变换
后的第一图像与第二摄像头针对同一拍摄物拍摄的第二图像具有更好的对齐效果,获得高
质量的融合图像外,还能够降低计算复杂度。
变换矩阵表的过程,步骤304‑步骤306为终端在线查找单应性变换矩阵的过程。
(一般大于3组)图像。其中,每组图像中包含第一摄像头和第二摄像头同时拍摄棋盘格获得
的图像。终端利用双目标定工具(例如矩阵工厂(Matrix Laboratory,Matlab)标定工具箱、
OpenCV(一种软件库)双目标定函数等)可以获得第一摄像头的摄像参数、第二摄像头的摄
像参数,以及第一摄像头和第二摄像头的相对位置关系。其中,摄像参数包括内参数矩阵、
畸变系数,相对位置关系通过旋转矩阵R和平移向量t表示。在计算机视觉中,摄像头的内参
数矩阵一般也称作投影矩阵,摄像头的内参数矩阵可以表示为
光心(位于透镜中央的点)在图像坐标系中x轴方向上的坐标,单位为像素;cy表示摄像头透
镜的光心在图像坐标系中y轴方向上的坐标,单位为像素。
光元平面跟透镜不平行而引起的畸变。
=[a,b,c],即n=[a,b,c],整理式(3)和式(4)可得
像头和第二摄像头的像素坐标系下的像素坐标分别为:
的畸变模型,RQ+t为场点Q通过旋转矩阵R和平移向量t改变后的坐标,即场点Q在第二摄像
头的相机坐标系下的坐标。
1)后的坐标,即x=X/Z,y=Y/Z,[xd,yd]为[x,y]增加畸变后的坐标。其中,r =x +y 。
以通过乘上该场点对应的单应性变换矩阵,与第二摄像头拍摄同一拍摄物所得图像中该场
点的像素坐标对应起来。
阵,也就是将场景深度D代入映射关系中,可以得到m个场景深度D对应的单应性变换矩阵,
其中,m与l的选取有关。终端建立单应性变换矩阵表,该单应性变换矩阵表包括m个场景深
T
度D对应的单应性变换矩阵。例如,场景深度范围为300mm~800mm,若n=[0,0,1] ,步进距离
l=10mm,则m=51,即可以得到51个场景深度D对应的单应性变换矩阵,终端利用这51个场景
深度D对应的单应性变换矩阵建立单应性变换矩阵表,如表2所示。
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
后确定与第一摄像头距离拍摄物的场景深度D最接近的场景深度所对应的单应性变换矩阵
即为第一摄像头距离拍摄物的场景深度D所对应的单应性变换矩阵。以表2所示的单应性变
换矩阵为例,第一摄像头距离拍摄物的场景深度D=301mm,在表2中没有场景深度为301mm所
对应的单应性变换矩阵,那么可以选择与场景深度为301mm最接近的场景深度所对应的单
应性变换矩阵,即场景深度为300mm所对应的单应性变换矩阵,即
每个场点的像素坐标,从而得到变换后的第一图像。变换后的第一图像的像素坐标将最大
程度对齐第二摄像头针对同一拍摄物拍摄的第二图像的像素坐标。
矩阵与场景深度之间的映射关系,并利用该映射关系建立场景深度与单应性变换矩阵的单
应性变换矩阵表。在终端的第一摄像头和第二摄像头进行实际应用时,终端获取第一摄像
头距离拍摄物的场景深度D,在单应性变换矩阵表中查找单应性变换矩阵,利用查找到的该
单应性变换矩阵对第一图像进行变换,从而对齐第二摄像头所拍的同一拍摄物的图像。在
传统的基于单应性变换矩阵进行图像对齐时,常通过特征点检测、特征点匹配和图像变换
这三个步骤实现图像的对齐。传统的单应性变换矩阵是基于特征点获得,由于当图像存在
重复纹理、无纹理、弱纹理、大前景干扰、夜景、噪声等的干扰情况时,存在特征点提取困难
的问题,因此会造成基于特征点进行图像对齐的效果较差,且当存在大视差的情况时,由于
摄像头的拍摄角度发生较大的变化,因此会使得计算单应性变换矩阵的难度加大,从而会
对图像对齐带来挑战。
摄的图像。该单应性变换矩阵表中的单应性变换矩阵又是基于第一摄像头的摄像参数、第
二摄像头的摄像参数和场景深度获得。克服了因为图像特征点提取困难而造成的单应性变
换矩阵存在误差的问题和因为大视差而造成的单应性变换矩阵计算困难的问题,因此本申
请实施例变换后的第一图像与第二摄像头针对同一拍摄物拍摄的第二图像具有更好的对
齐效果,获得高质量的融合图像外,还能够降低计算复杂度。
像头,IR摄像头1为第二摄像头为例,具体可以包括以下步骤:
像头拍摄的图像和IR摄像头1拍摄的图像。终端使用双目标定工具对获取的5组图像进行标
定,从而得到RGB摄像头的内参数矩阵、畸变系数和IR摄像头1的内参数矩阵、畸变系数,以
及表示RGB摄像头和IR摄像头1相对位置关系的旋转矩阵R和平移向量t。
畸变系数和IR摄像头1的内参数矩阵、畸变系数,以及旋转矩阵R和平移向量t代入场景深度
和单应性变换矩阵的映射关系中,可以计算得到不同场景深度对应的单应性变换矩阵。
图像时,终端利用ToF摄像头对场景1进行测距,得到第一图像中各个场点的场景深度。根据
得到的各个场点的场景深度,终端在建立的单应性变换矩阵表中查找与各个场景深度最接
近的场景深度所对应的单应性变换矩阵,即找到与各个场点对应的单应性变换矩阵,终端
利用找到的各个场点对应的单应性变换矩阵对第一图像中的各个场点进行变换,得到变换
后的第一图像,变换后的第一图像中各个场点的像素坐标将最大程度接近于第二图像中各
个场点的像素坐标,从而使得第一图像对齐第二图像。
的相关操作。请参见图6,该图像处理装置包括但不限于获取单元601、查询单元602、变换单
元603。其中:
对应的单应性变换矩阵是基于第一摄像头的摄像参数和第二摄像头的摄像参数获得的;
头的畸变系数得到的畸变模型。
所述场景深度D对应的单应性变换矩阵,m与l的选取有关;建立单元605,用于建立单应性变
换矩阵表,单应性变换矩阵表包括m个场景深度D对应的单应性变换矩阵。
用于存储计算机程序,所述计算机程序包括程序指令,处理器701用于执行存储器702存储
的程序指令。
电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field‑
Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、
分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器
等。
存储器702可以包括只读存储器和随机存取存储器,并向处理器701提供指令和数据。该存
储器702的一部分还可以包括非易失性随机存取存储器,可以存储第一图像、单应性变换矩
阵表等。
阵是基于第一摄像头的摄像参数和第二摄像头的摄像参数获得的;
头的畸变系数得到的畸变模型。
场景深度D对应的单应性变换矩阵,所述m与所述l的选取有关;处理器701建立所述单应性
变换矩阵表,所述单应性变换矩阵表包括m个所述场景深度D对应的单应性变换矩阵。
的单应性变换矩阵;每个场景深度D对应的单应性变换矩阵是基于第一摄像头的摄像参数
和第二摄像头的摄像参数获得的;基于查询的单应性变换矩阵对第一图像进行变换,获得
变换后的第一图像;第一图像是第一摄像头拍摄拍摄物获得的。
第二摄像头的摄像参数以及相对位置关系,确定单应性变换矩阵与场景深度D之间的映射
关系;利用不同的场景深度D以及映射关系,建立单应性变换矩阵表。
头的畸变系数得到的畸变模型。
变换矩阵,m与l的选取有关;建立单应性变换矩阵表,该单应性变换矩阵表包括m个场景深
度D对应的单应性变换矩阵。
矩阵;每个场景深度D对应的单应性变换矩阵是基于第一摄像头的摄像参数和第二摄像头
的摄像参数获得的;基于查询的单应性变换矩阵对第一图像进行变换,获得变换后的第一
图像;第一图像是第一摄像头拍摄拍摄物获得的。
据第一摄像头的摄像参数、第二摄像头的摄像参数以及相对位置关系,确定单应性变换矩
阵与场景深度D之间的映射关系;利用不同的场景深度D以及映射关系,建立单应性变换矩
阵表。
头的畸变系数得到的畸变模型。
的单应性变换矩阵,m与l的选取有关;建立单应性变换矩阵表,该单应性变换矩阵表包括m
个场景深度D对应的单应性变换矩阵。
或图3所示的图像处理方法,以及相关实施方式所执行的步骤。
设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字
(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还
可以既包括所述终端设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质
用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述计算机可读存储
介质还可以用于暂时地存储已经输出或者将要输出的数据。
中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁
碟、光盘、只读存储记忆体(Read‑Only Memory,ROM)或随机存储记忆体(Random Access
Memory,RAM)等。
利要求所作的等同变化,仍属于申请所涵盖的范围。