发明内容
本申请实施例的目的在于提供一种图像处理方法、装置、设备及存储介质,用以提高图像加密的安全性。
第一方面,本申请实施例提供的一种图像处理方法,所述方法包括:确定多帧图像中的每帧图像对应的四元数矩阵,所述多帧图像包括第一帧图像和第二帧图像;对所述第一帧图像对应的所述四元数矩阵进行处理,得到所述第一帧图像的第一幅值和第一相位;对所述第二帧图像对应的所述四元数矩阵进行处理,得到所述第二帧图像对应的第二幅值和第二相位;将所述第一幅值和所述第二幅值作为所述多帧图像的密文,并根据所述第一相位与所述第二相位生成所述多帧图像的密钥。
在上述实现过程中,通过快速确定出第一幅值、第一相位、第二幅值和第二相位,并根据所述第一相位与所述第二相位生成所述多帧图像的密钥,从而使得加密后的图像的安全性更高。
结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,所述对所述第一帧图像对应的所述四元数矩阵进行处理,得到所述第一帧图像的第一幅值和第一相位,包括:确定所述第一帧图像对应的所述四元数矩阵处理后对应的第一实数矩阵;根据所述第一实数矩阵确定所述第一帧图像对应的第一复数矩阵;对所述第一复数矩阵进行分块处理,得到第一新复数矩阵;对所述第一新复数矩阵进行相位截断编码和幅值截断编码,得到所述第一帧图像的第一幅值和第一相位。
在上述实现过程中,通过对复数矩阵进行分块-含参数变换,从而避免了耗时的迭代过程,从而具有更高的效率,能够节约处理时间。
结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第二种可能的实施方式,所述确定所述第一帧图像对应的所述四元数矩阵处理后对应的第一实数矩阵,包括:对所述第一帧图像对应的所述四元数矩阵进行变换域调制,得到变换后的四元数矩阵;提取所述变换后的四元数矩阵的第一分量、第二分量、第三分量和第四分量;根据所述第一分量、第二分量、第三分量和第四分量确定所述第一帧图像对应的第一实数矩阵。
结合第一方面的第二种可能的实施方式,本申请实施例提供了第一方面的第三种可能的实施方式,所述根据所述第一分量、第二分量、第三分量和第四分量确定所述第一帧图像对应的第一实数矩阵,包括:确定所述第一分量与所述第二分量对应的第一差矩阵;确定所述第二分量与所述第三分量对应的和矩阵;确定所述第三分量与所述第四分量对应的第二差矩阵;确定所述第四分量与所述第一分量对应的第三差矩阵;将所述第一差矩阵、所述和矩阵、所述第二差矩阵和所述第三差矩阵进行组合,得到所述第一帧图像对应的第一实数矩阵。
结合第一方面的第三种可能的实施方式,本申请实施例提供了第一方面的第四种可能的实施方式,所述变换后的四元数矩阵,满足:
其中,
表示旋转角度为α的四元数Gyrator变换,P表示随机生成的相位掩模;g
1表示所述第一帧图像对应的所述四元数矩阵。
结合第一方面的第二种可能的实施方式或第三种可能的实施方式,本申请实施例提供了第一方面的第五种可能的实施方式,所述第一帧图像对应的第一实数矩阵,满足:
其中,S(Q
1)表示提取Q
1的所述第一分量;X(Q
1)表示提取Q
1的所述第二分量;Y(Q
1)表示提取Q
1的所述第三分量;Z(Q
1)表示提取Q
1的所述第四分量;Q
1表示所述变换后的四元数矩阵;S(Q
1)-X(Q
1)表示所述第一差矩阵;X(Q
1)+Y(Q
1)表示所述和矩阵;Y(Q
1)-Z(Q
1)表示所述第二差矩阵;Z(Q
1)-S(Q
1)表示所述第三差矩阵。
结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第六种可能的实施方式,所述根据所述第一实数矩阵确定所述第一帧图像对应的第一复数矩阵,包括:获取随机生成的初始实数矩阵;将所述初始实数矩阵作为实部分量、所述第一实数矩阵作为虚部分量组合成所述第一帧图像对应的第一复数矩阵。
结合第一方面的第六种可能的实施方式,本申请实施例提供了第一方面的第七种可能的实施方式,所述第一帧图像对应的第一复数矩阵,满足:G1=R0+jR1;其中,R0表示所述初始实数矩阵;R1表示所述第一实数矩阵;j表示所述四元数矩阵的虚部。
结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第八种可能的实施方式,所述对所述第一复数矩阵进行分块处理,得到第一新复数矩阵,包括:对所述第一复数矩阵进行分块,并对每一分块进行含参变换,得到第一新复数矩阵。
结合第一方面的第八种可能的实施方式,本申请实施例提供了第一方面的第九种可能的实施方式,所述第一新复数矩阵,满足:
其中,T
1表示所述第一新复数矩阵,符号T{·}表示含参数的复数变换;G
1表示所述第一复数矩阵;G
11、G
12、G
21、G
22表示对所述第一复数矩阵进行分块后得到的块。
结合第一方面的第九种可能的实施方式,本申请实施例提供了第一方面的第十种可能的实施方式,所述第一幅值,满足:h2=PT[T1];所述第一相位,满足:p1=AT[T1];其中,符号PT[·]、AT[·]分别表示对T1取幅值和取相位。
结合第一方面,本申请实施例提供了第一方面的第十一种可能的实施方式,所述对所述第二帧图像对应的所述四元数矩阵进行处理,得到所述第二帧图像对应的第二幅值和第二相位,包括:确定所述第二帧图像对应的所述四元数矩阵处理后对应的第二实数矩阵;根据所述第一幅值和所述第二实数矩阵确定所述第二帧图像对应的第二复数矩阵;对所述第二复数矩阵进行相位截断编码与幅值截断编码,得到第二相位和第二幅值。
结合第一方面的第十一种可能的实施方式,本申请实施例提供了第一方面的第十二种可能的实施方式,所述第二帧图像对应的第二复数矩阵,满足:G2=h2+iR2;其中,h2表示所述第一幅值;R2表示所述第二实数矩阵;i表示所述四元数矩阵的虚部。
结合第一方面的第十二种可能的实施方式,本申请实施例提供了第一方面的第十三种可能的实施方式,所述第二相位满足:m1=AT[G2];其中,G2表示所述第二帧图像对应的第二复数矩阵。
结合第一方面,本申请实施例提供了第一方面的第十四种可能的实施方式,所述根据所述第一相位与所述第二相位生成所述多帧图像的密钥,包括:确定所述第一相位与所述第二相位进行共轭运输后的结果;将所述结果作为所述多帧图像的所述密钥。
结合第一方面的第十四种可能的实施方式,本申请实施例提供了第一方面的第十五种可能的实施方式,所述密钥满足:p1,d=m1conj(p1);其中,conj(·)表示对m1与p1进行共轭运算,m1表示所述第二相位;p1表示所述第一相位。
第二方面,本申请实施例提供的一种图像处理装置,包括:第一处理模块,用于确定多帧图像中的每帧图像对应的四元数矩阵,所述多帧图像包括第一帧图像和第二帧图像;第二处理模块,用于对所述第一帧图像对应的所述四元数矩阵进行处理,得到所述第一帧图像的第一幅值和第一相位;第三处理模块,用于对所述第二帧图像对应的所述四元数矩阵进行处理,得到所述第二帧图像对应的第二幅值和第二相位;第四处理模块,用于根据所述第一相位与所述第二相位确定密钥;加密模块,用于将所述第一幅值与所述密钥作为所述多帧图像的密文对所述多帧图像进行加密。
结合第二方面,本申请实施例提供了第二方面的第一种可能的实施方式,第二处理模块,还用于:确定所述第一帧图像对应的所述四元数矩阵处理后对应的第一实数矩阵;根据所述第一实数矩阵确定所述第一帧图像对应的第一复数矩阵;对所述第一复数矩阵进行分块处理,得到第一新复数矩阵;对所述第一新复数矩阵进行相位截断编码和幅值截断编码,得到所述第一帧图像的第一幅值和第一相位。
结合第二方面的第一种可能的实施方式,本申请实施例提供了第二方面的第二种可能的实施方式,所述确定所述第一帧图像对应的所述四元数矩阵处理后对应的第一实数矩阵,包括:对所述第一帧图像对应的所述四元数矩阵进行变换域调制,得到变换后的四元数矩阵;提取所述变换后的四元数矩阵的第一分量、第二分量、第三分量和第四分量;根据所述第一分量、第二分量、第三分量和第四分量确定所述第一帧图像对应的第一实数矩阵。
结合第二方面的第二种可能的实施方式,本申请实施例提供了第二方面的第三种可能的实施方式,所述根据所述第一分量、第二分量、第三分量和第四分量确定所述第一帧图像对应的第一实数矩阵,包括:确定所述第一分量与所述第二分量对应的第一差矩阵;确定所述第二分量与所述第三分量对应的和矩阵;确定所述第三分量与所述第四分量对应的第二差矩阵;确定所述第四分量与所述第一分量对应的第三差矩阵;将所述第一差矩阵、所述和矩阵、所述第二差矩阵和所述第三差矩阵进行组合,得到所述第一帧图像对应的第一实数矩阵。
结合第二方面的第三种可能的实施方式,本申请实施例提供了第二方面的第四种可能的实施方式,所述变换后的四元数矩阵,满足:
其中,
表示旋转角度为α的四元数Gyrator变换,P表示随机生成的相位掩模;g
1表示所述第一帧图像对应的所述四元数矩阵。
结合第二方面的第二种可能的实施方式或第三种可能的实施方式,本申请实施例提供了第二方面的第五种可能的实施方式,所述第一帧图像对应的第一实数矩阵,满足:
其中,S(Q
1)表示提取Q
1的所述第一分量;X(Q
1)表示提取Q
1的所述第二分量;Y(Q
1)表示提取Q
1的所述第三分量;Z(Q
1)表示提取Q
1的所述第四分量;Q
1表示所述变换后的四元数矩阵;S(Q
1)-X(Q
1)表示所述第一差矩阵;X(Q
1)+Y(Q
1)表示所述和矩阵;Y(Q
1)-Z(Q
1)表示所述第二差矩阵;Z(Q
1)-S(Q
1)表示所述第三差矩阵。
结合第二方面的第一种可能的实施方式,本申请实施例提供了第二方面的第六种可能的实施方式,所述根据所述第一实数矩阵确定所述第一帧图像对应的第一复数矩阵,包括:获取随机生成的初始实数矩阵;将所述初始实数矩阵作为实部分量、所述第一实数矩阵作为虚部分量组合成所述第一帧图像对应的第一复数矩阵。
结合第二方面的第六种可能的实施方式,本申请实施例提供了第二方面的第七种可能的实施方式,所述第一帧图像对应的第一复数矩阵,满足:G1=R0+jR1;其中,R0表示所述初始实数矩阵;R1表示所述第一实数矩阵;j表示所述四元数矩阵的虚部。
结合第二方面的第一种可能的实施方式,本申请实施例提供了第二方面的第八种可能的实施方式,所述对所述第一复数矩阵进行分块处理,得到第一新复数矩阵,包括:对所述第一复数矩阵进行分块,并对每一分块进行含参变换,得到第一新复数矩阵。
结合第二方面的第八种可能的实施方式,本申请实施例提供了第二方面的第九种可能的实施方式,所述第一新复数矩阵,满足:
其中,T
1表示所述第一新复数矩阵,符号T{·}表示含参数的复数变换;G
1表示所述第一复数矩阵;G
11、G
12、G
21、G
22表示对所述第一复数矩阵进行分块后得到的块。
结合第二方面的第九种可能的实施方式,本申请实施例提供了第二方面的第十种可能的实施方式,所述第一幅值,满足:h2=PT[T1];所述第一相位,满足:p1=AT[T1];其中,符号PT[·]、AT[·]分别表示对T1取幅值和取相位。
结合第二方面,本申请实施例提供了第二方面的第十一种可能的实施方式,第三处理模块,还用于:确定所述第二帧图像对应的所述四元数矩阵处理后对应的第二实数矩阵;根据所述第一幅值和所述第二实数矩阵确定所述第二帧图像对应的第二复数矩阵;对所述第二复数矩阵进行相位截断编码与幅值截断编码,得到第二相位和第二幅值。
结合第二方面的第十一种可能的实施方式,本申请实施例提供了第二方面的第十二种可能的实施方式,所述第二帧图像对应的第二复数矩阵,满足:G2=h2+iR2;其中,h2表示所述第一幅值;R2表示所述第二实数矩阵;i表示所述四元数矩阵的虚部。
结合第二方面的第十二种可能的实施方式,本申请实施例提供了第二方面的第十三种可能的实施方式,所述第二相位满足:m1=AT[G2];其中,G2表示所述第二帧图像对应的第二复数矩阵。
结合第二方面,本申请实施例提供了第二方面的第十四种可能的实施方式,第四处理模块,还用于,包括:确定所述第一相位与所述第二相位进行共轭运输后的结果;将所述结果作为所述多帧图像的所述密钥。
结合第二方面的第十四种可能的实施方式,本申请实施例提供了第二方面的第十五种可能的实施方式,所述密钥满足:p1,d=m1conj(p1);其中,conj(·)表示对m1与p1进行共轭运算,m1表示所述第二相位;p1表示所述第一相位。
第三方面,本申请实施例提供的一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任意一项所述的方法。
第四方面,本申请实施例提供的一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任意一项所述的方法。
第五方面,本申请实施例提供的一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面任意一项所述的方法
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
请参阅图1,图1为本申请实施例提供的一种图像处理方法的流程图,应理解,该方法可以通过如图3所示的图像处理装置来执行,以实现对彩色图像进行加密,且该装置与图4所示的电子设备对应,该电子设备可以是能够执行该方法的各种设备,例如,计算机或服务器等,本申请实施例并不限于此,具体包括如下步骤:
步骤S101,确定多帧图像中的每帧图像对应的四元数矩阵,所述多帧图像包括第一帧图像和第二帧图像。
可选地,图像包括但不限于彩色图像。
可选地,确定多帧图像中的每帧图像对应的四元数矩阵,包括:将彩色图像的颜色分量作为四元数矩阵的分量组合为四元数矩阵。
可选地,四元数矩阵满足:
其中,
分别表示彩色图像的红(R)、绿(G)、蓝(B)颜色分量,(x,y)表示空间域坐标。t为大于或等于1的整数,其用于表示图像的数量。i,j为四元数矩阵的虚部。
当然,在实际使用中,四元素矩阵还可以表现为其他形式,例如:
其中,k也用于表示四元数矩阵的虚部。
应理解,上述仅为示例,而非限定。
可选地,多帧图像还可以包括第三帧图像、第四帧图像、第n帧图像。n为大于2的整数。
可选地,第一帧图像与第二帧图像在时间轴上为相邻的两帧图像。
当然,在实际使用中,第一帧图像与第二帧图像也可以是用户指定的,其在时间轴上可以没有时间关系。例如,用户将要对多幅彩色图像进行加密时,可以随机从多幅彩色图像中,选出一幅图像作为第一帧图像(或第一幅图像)、然后依次对其他图像进行排序,得到第二幅图像、第三幅图像等。在此,不作具体限定。
可选地,第一帧图像也可以称为第一幅图像。第二帧图像可以称为第二幅图像。应理解,第一帧或第二帧仅仅是用于对两幅不同的图像进行区分。
步骤S102,对所述第一帧图像对应的所述四元数矩阵进行处理,得到所述第一帧图像的第一幅值和第一相位。
作为一种实施方式,步骤S102,包括:确定所述第一帧图像对应的所述四元数矩阵处理后对应的第一实数矩阵;根据所述第一实数矩阵确定所述第一帧图像对应的第一复数矩阵;对所述第一复数矩阵进行分块处理,得到第一新复数矩阵;对所述第一新复数矩阵进行相位截断编码和幅值截断编码,得到所述第一帧图像的第一幅值和第一相位。
在上述实现过程中,通过确定所述第一帧图像对应的所述四元数矩阵处理后对应的第一实数矩阵;根据所述第一实数矩阵确定所述第一帧图像对应的第一复数矩阵;对所述第一复数矩阵进行分块处理,得到第一新复数矩阵;对所述第一新复数矩阵进行相位截断编码和幅值截断编码,得到所述第一帧图像的第一幅值和第一相位,从而无需进行迭代就可以得到一个相位,可以节约处理时间,提高处理效率。
可选地,所述确定所述第一帧图像对应的所述四元数矩阵处理后对应的第一实数矩阵,包括:对所述第一帧图像对应的所述四元数矩阵进行变换域调制,得到变换后的四元数矩阵;提取所述变换后的四元数矩阵的第一分量、第二分量、第三分量和第四分量;根据所述第一分量、第二分量、第三分量和第四分量确定所述第一帧图像对应的第一实数矩阵。
可选地,可以基于Gyrator变换对所述第一帧图像对应的所述四元数矩阵进行变换域调制,以得到变换后的四元数矩阵。
当然,在实际使用中,还可以基于傅里叶变换或菲涅尔变换等方式来对所述第一帧图像对应的所述四元数矩阵进行变换域调制,以得到变换后的四元数矩阵。在此,不作具体限定。
可选地,所述根据所述第一分量、第二分量、第三分量和第四分量确定所述第一帧图像对应的第一实数矩阵,包括:确定所述第一分量与所述第二分量对应的第一差矩阵;确定所述第二分量与所述第三分量对应的和矩阵;确定所述第三分量与所述第四分量对应的第二差矩阵;确定所述第四分量与所述第一分量对应的第三差矩阵;将所述第一差矩阵、所述和矩阵、所述第二差矩阵和所述第三差矩阵进行组合,得到所述第一帧图像对应的第一实数矩阵。
可选地,本申请以Gyrator变换为例,所述变换后的四元数矩阵,满足:
其中,
表示旋转角度为α的四元数Gyrator变换,P表示随机生成的相位掩模;g
1表示所述第一帧图像对应的所述四元数矩阵。
可选地,所述第一帧图像对应的第一实数矩阵,满足:
其中,S(Q1)表示提取Q1的所述第一分量;X(Q1)表示提取Q1的所述第二分量;Y(Q1)表示提取Q1的所述第三分量;Z(Q1)表示提取Q1的所述第四分量;Q1表示所述变换后的四元数矩阵;S(Q1)-X(Q1)表示所述第一差矩阵;X(Q1)+Y(Q1)表示所述和矩阵;Y(Q1)-Z(Q1)表示所述第二差矩阵;Z(Q1)-S(Q1)表示所述第三差矩阵。
应理解,在本申请中,每一分量实际为一矩阵。
可选地,所述根据所述第一实数矩阵确定所述第一帧图像对应的第一复数矩阵,包括:获取随机生成的初始实数矩阵;将所述初始实数矩阵作为实部分量、所述第一实数矩阵作为虚部分量组合成所述第一帧图像对应的第一复数矩阵。
可选地,所述第一帧图像对应的第一复数矩阵,满足:G1=R0+jR1;其中,R0表示所述初始实数矩阵;R1表示所述第一实数矩阵;j表示所述四元数矩阵的虚部。
可选地,所述对所述第一复数矩阵进行分块处理,得到第一新复数矩阵,包括:对所述第一复数矩阵进行分块,并对每一分块进行含参变换,得到第一新复数矩阵。
可选地,对所述第一复数矩阵进行分块,包括:对所述第一复数矩阵进行非重叠分块。例如,将第一帧图像划分成2×2个图像子块:
所述第一新复数矩阵,满足:
其中,T1表示所述第一新复数矩阵,符号T{·}表示含参数的复数变换;G1表示所述第一复数矩阵;G11、G12、G21、G22表示对所述第一复数矩阵进行分块后得到的块。
可选地,含参数的复数变换可以是Gyrator变换。
当然,在实际使用中,也可以是通过菲涅尔变换来对每一分块进行含参变换,以得到第一新复数矩阵。在此,不作具体限定。
可选地,在实际使用中,分块的具体数量一般可以根据图像尺寸大小来决定分块数,在此,不作具体限定。
可选地,所述第一幅值,满足:h2=PT[T1];
所述第一相位,满足:p1=AT[T1];可以理解,p1为G1变换后的相位。
其中,符号PT[·]、AT[·]分别表示对T1取幅值和取相位。
作为另一种实施方式,步骤S102包括:对所述第一帧图像对应的所述四元数矩阵取幅值与相位,得到所述第一帧图像的第一幅值和第一相位。
可选地,即可以直接对四元数矩阵进行取幅值与相位的操作,以得到第一帧图像的第一幅值和第一相位。
步骤S103,对所述第二帧图像对应的所述四元数矩阵进行处理,得到所述第二帧图像对应的第二幅值和第二相位。
作为一种实施方式,步骤S103,包括:确定所述第二帧图像对应的所述四元数矩阵处理后对应的第二实数矩阵;根据所述第一幅值和所述第二实数矩阵确定所述第二帧图像对应的第二复数矩阵;对所述第二复数矩阵进行相位截断编码与幅值截断编码,得到第二相位和第二幅值。
可选地,上述中的“确定所述第二帧图像对应的所述四元数矩阵处理后对应的第二实数矩阵;根据所述第一幅值和所述第二实数矩阵确定所述第二帧图像对应的第二复数矩阵;”这两个步骤的具体实现方式可以参照上文对第一帧图像的描述,在此,不再赘述。
可选地,所述第二帧图像对应的第二复数矩阵,满足:G2=h2+iR2;
其中,h2表示所述第一幅值;R2表示所述第二实数矩阵;i表示所述四元数矩阵的虚部。
所述第二相位满足:m1=AT[G2];其中,G2表示所述第二帧图像对应的第二复数矩阵。可以理解,第二相位即为第二复数矩阵在变换前的相位。
在一可能的实施例中,所述方法还包括:对所述第二复数矩阵进行分块,并对每一分块进行含参变换,得到第二新复数矩阵;对所述第二新复数矩阵进行相位截断编码,得到变换后的相位。
可选地,对所述第二复数矩阵进行分块,包括:对所述第二复数矩阵进行非重叠分块。例如,将第二帧图像划分成2×2个图像子块:
所述第二新复数矩阵,满足:
其中,T2表示所述第二新复数矩阵,符号T{·}表示含参数的复数变换;G2表示所述第二复数矩阵;G2,11、G2,12、G2,21、G2,22表示对所述第二复数矩阵进行分块后得到的块。
可选地,所述第二幅值,满足:h3=PT[T2]。
可选地,其具体实现过程可以参照对第一复数矩阵的处理过程,在此,不再赘述。
应理解,对于第n帧图像来说,其对应的第n复数矩阵满足:G
n=h
n+iR
n,其对应的第n新复数矩阵满足:
第n帧图像的幅值满足:h
n+1=PT[T
n],相位满足:p
n=AT[T
n],n为大于等于2的整数。
应理解,在pn,d中的d并不具有任何值,仅用于区分。
在上述实现过程中,通过级联的分块-含参数变换,从而避免了耗时的迭代过程,从而具有更高的效率,能够节约处理时间。
作为一种实施方式,步骤S103,包括:对所述第二帧图像对应的所述四元数矩阵取幅值与相位,得到所述第二帧图像的第二幅值和第二相位。
可选地,即可以直接对四元数矩阵进行取幅值与相位的操作,以得到第二帧图像的第二幅值和第二相位。
步骤S104,将所述第一幅值和所述第二幅值作为所述多帧图像的密文,并根据所述第一相位与所述第二相位生成所述多帧图像的密钥。
可选地,将所述第一幅值和所述第二幅值作为所述多帧图像的密文,包括:将第一幅值作为第一帧图像的密文,将第二幅值作为第二帧图像的密文。
可选地,密文是指加密后的图像。
可选地,所述根据所述第一相位与所述第二相位生成所述多帧图像的密钥,包括:确定所述第一相位与所述第二相位进行共轭运输后的结果;将所述结果作为所述多帧图像的所述密钥。
可选地,所述密钥满足:p1,d=m1conj(p1);其中,conj(·)表示对m1与p1进行共轭运算,m1表示所述第二相位;p1表示所述第一相位。
应理解,对于相邻两帧图像之间的密钥满足:pn-1,d=mn-1conj(pn-1),n为大于等于2的整数。
在上述实现过程中,通过结合第一帧图像的相位与第二帧图像的相位,可以使得密钥更加复杂,从而使得彩色图像的安全性更高。
举例来说,假设多帧图像包括第一帧图像、第二帧图像和第三帧图像,则对第三帧图像的处理过程为:先按照第二帧图像的处理过程对第三帧图像进行处理,得到第三帧图像对应的第三复数矩阵满足:G
3=h
3+iR
3,其对应的第三新复数矩阵满足:
第三帧图像的幅值满足:h
3+1=PT[T
3],变换前的相位满足:m
2=AT[G
3],变换后的相位满足:p
3=AT[T
3],第二帧图像与第三帧图像之间的密钥为:p
2,d=m
2conj(p
2)。
应理解,第二帧图像及之后所有帧图像的复数矩阵在变换前的相位满足:mn=AT[Gn+1]。
举例来说,上文结合图1描述了本申请中的图像处理方法,下面,作为示例而非限定,结合图2对本申请中的图像处理方法进行详细的描述。令待加密的多帧彩色图像分别为:f1(x,y)、f2(x,y)、...、fn(x,y),其尺寸为N×M,具体过程描述为:
(1)将彩色图像的颜色分量作为四元数矩阵的分量组合为四元数矩阵,具体表示为:
(2)对第一幅彩色图像对应的四元数矩阵g
1(x,y)进行变换域调制。这里以四元数Gyrator变换为示例进行说明,具体表示为:
(3)提取步骤(2)的四元数矩阵四个分量,并组合为实数矩阵。具体表示为:
(4)将随机生成的实数矩阵R0与步骤(3)的实数矩阵分别作为实部分量和虚部分量组合为第一复数矩阵G1,即:G1=R0+jR1;
(5)对第一复数矩阵G
1进行非重叠的分块,对每一块分别进行含参数的变换。比如将其划分成2×2个图像子块,
所述第一新复数矩阵,满足:
(6)对第一新复数矩阵T1进行相位截断编码和幅值截断编码,即:所述第一幅值,满足:h2=PT[T1];所述第一相位,满足:p1=AT[T1];
(7)对第二幅彩色图像执行步骤(1)至步骤(3)得到第二实数矩阵R2,并与步骤(6)得到的幅值截断编码矩阵组合为第二复数矩阵,即:G2=h2+iR2;对第二复数矩阵G2进行相位截断编码得到相位矩阵,即第二相位满足:m1=AT[G2];
(8)将步骤(6)中的第一相位与步骤(7)中的第二相位相乘得到新的相位函数,即密钥满足:p1,d=m1conj(p1);
同时,对步骤(7)中的第二复数矩阵G2执行步骤(5)和步骤(6)。
(9)对第三幅彩色图像执行步骤(7)和步骤(8),直至对最后一幅彩色图像进行处理得到幅值和相位,即:
可选地,hn+1为密文(E)。
可选地,步骤(1)至步骤(9)的具体实现过程可以参照前文的描述,在此,不再赘述。
本申请提供的图像处理方法,通过确定多帧图像中的每帧图像对应的四元数矩阵,所述多帧图像包括第一帧图像和第二帧图像;对所述第一帧图像对应的所述四元数矩阵进行处理,得到所述第一帧图像的第一幅值和第一相位;对所述第二帧图像对应的所述四元数矩阵进行处理,得到所述第二帧图像对应的第二幅值和第二相位;将所述第一幅值和所述第二幅值作为所述多帧图像的密文,并根据所述第一相位与所述第二相位生成所述多帧图像的密钥。通过将图像进行整体编码,同时将编码的结果转换为实数矩阵进行级联的传输,从而具有较高的传输效率,同时,通过级联的分块-含参数变换避免了耗时的迭代过程,从而具有更高的效率,并通过第一相位与所述第二相位确定所述多帧图像的密钥,从而使得图像具有更高的安全性。
基于同一发明构思,本申请实施例中还提供了一种如图3所示的图像处理装置,应理解,该装置300与上述图1方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置300具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。具体地,该装置300包括:
第一处理模块310,用于确定多帧图像中的每帧图像对应的四元数矩阵,所述多帧图像包括第一帧图像和第二帧图像。
第二处理模块320,用于对所述第一帧图像对应的所述四元数矩阵进行处理,得到所述第一帧图像的第一幅值和第一相位。
第三处理模块330,用于对所述第二帧图像对应的所述四元数矩阵进行处理,得到所述第二帧图像对应的第二幅值和第二相位。
加密模块340,用于将所述第一幅值和所述第二幅值作为所述多帧图像的密文,并根据所述第一相位与所述第二相位生成所述多帧图像的密钥。
可选地,第二处理模块320,还用于:确定所述第一帧图像对应的所述四元数矩阵处理后对应的第一实数矩阵;根据所述第一实数矩阵确定所述第一帧图像对应的第一复数矩阵;对所述第一复数矩阵进行分块处理,得到第一新复数矩阵;对所述第一新复数矩阵进行相位截断编码和幅值截断编码,得到所述第一帧图像的第一幅值和第一相位。
可选地,所述确定所述第一帧图像对应的所述四元数矩阵处理后对应的第一实数矩阵,包括:对所述第一帧图像对应的所述四元数矩阵进行变换域调制,得到变换后的四元数矩阵;提取所述变换后的四元数矩阵的第一分量、第二分量、第三分量和第四分量;根据所述第一分量、第二分量、第三分量和第四分量确定所述第一帧图像对应的第一实数矩阵。
可选地,所述根据所述第一分量、第二分量、第三分量和第四分量确定所述第一帧图像对应的第一实数矩阵,包括:确定所述第一分量与所述第二分量对应的第一差矩阵;确定所述第二分量与所述第三分量对应的和矩阵;确定所述第三分量与所述第四分量对应的第二差矩阵;确定所述第四分量与所述第一分量对应的第三差矩阵;将所述第一差矩阵、所述和矩阵、所述第二差矩阵和所述第三差矩阵进行组合,得到所述第一帧图像对应的第一实数矩阵。
可选地,所述变换后的四元数矩阵,满足:
其中,
表示旋转角度为α的四元数Gyrator变换,P表示随机生成的相位掩模;g
1表示所述第一帧图像对应的所述四元数矩阵。
可选地,所述第一帧图像对应的第一实数矩阵,满足:
其中,S(Q
1)表示提取Q
1的所述第一分量;X(Q
1)表示提取Q
1的所述第二分量;Y(Q
1)表示提取Q
1的所述第三分量;Z(Q
1)表示提取Q
1的所述第四分量;Q
1表示所述变换后的四元数矩阵;S(Q
1)-X(Q
1)表示所述第一差矩阵;X(Q
1)+Y(Q
1)表示所述和矩阵;Y(Q
1)-Z(Q
1)表示所述第二差矩阵;Z(Q
1)-S(Q
1)表示所述第三差矩阵。
可选地,所述根据所述第一实数矩阵确定所述第一帧图像对应的第一复数矩阵,包括:获取随机生成的初始实数矩阵;将所述初始实数矩阵作为实部分量、所述第一实数矩阵作为虚部分量组合成所述第一帧图像对应的第一复数矩阵。
可选地,所述第一帧图像对应的第一复数矩阵,满足:G1=R0+jR1;其中,R0表示所述初始实数矩阵;R1表示所述第一实数矩阵;j表示所述四元数矩阵的虚部。
可选地,所述对所述第一复数矩阵进行分块处理,得到第一新复数矩阵,包括:对所述第一复数矩阵进行分块,并对每一分块进行含参变换,得到第一新复数矩阵。
可选地,所述第一新复数矩阵,满足:
其中,T
1表示所述第一新复数矩阵,符号T{·}表示含参数的复数变换;G
1表示所述第一复数矩阵;G
11、G
12、G
21、G
22表示对所述第一复数矩阵进行分块后得到的块。
可选地,所述第一幅值,满足:h2=PT[T1];所述第一相位,满足:p1=AT[T1];其中,符号PT[·]、AT[·]分别表示对T1取幅值和取相位。
可选地,第三处理模块330,还用于:确定所述第二帧图像对应的所述四元数矩阵处理后对应的第二实数矩阵;根据所述第一幅值和所述第二实数矩阵确定所述第二帧图像对应的第二复数矩阵;对所述第二复数矩阵进行相位截断编码与幅值截断编码,得到第二相位和第二幅值。
可选地,所述第二帧图像对应的第二复数矩阵,满足:G2=h2+iR2;其中,h2表示所述第一幅值;R2表示所述第二实数矩阵;i表示所述四元数矩阵的虚部。
可选地,所述第二相位满足:m1=AT[G2];其中,G2表示所述第二帧图像对应的第二复数矩阵。
可选地,加密模块340,还用于,包括:确定所述第一相位与所述第二相位进行共轭运输后的结果;将所述结果作为所述多帧图像的所述密钥。
可选地,所述密钥满足:p1,d=m1conj(p1);其中,conj[·]表示对m1与p1进行共轭运算,m1表示所述第二相位;p1表示所述第一相位。
基于同一发明构思,本申请还提供一种电子设备,图4为本申请实施例中的电子设备400的结构框图。电子设备400可以包括处理器410、通信接口420、存储器430和至少一个通信总线440。其中,通信总线440用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口420用于与其他节点设备进行信令或数据的通信。处理器410可以是一种集成电路芯片,具有信号的处理能力。
上述的处理器410可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器410也可以是任何常规的处理器等。
存储器430可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。存储器430中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器410执行时,电子设备400可以执行上述图1方法实施例涉及的各个步骤。
可选地,电子设备400还可以包括存储控制器和输入输出单元。
所述存储器430、存储控制器、处理器410、输入输出单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线440实现电性连接。所述处理器410用于执行存储器430中存储的可执行模块,例如装置300包括的软件功能模块或计算机程序。并且,装置300用于执行下述方法:确定多帧图像中的每帧图像对应的四元数矩阵,所述多帧图像包括第一帧图像和第二帧图像;对所述第一帧图像对应的所述四元数矩阵进行处理,得到所述第一帧图像的第一幅值和第一相位;对所述第二帧图像对应的所述四元数矩阵进行处理,得到所述第二帧图像对应的第二幅值和第二相位;将所述第一幅值和所述第二幅值作为所述多帧图像的密文,并根据所述第一相位与所述第二相位生成所述多帧图像的密钥。
输入输出单元用于提供给用户输入数据实现用户与所述服务器(或本地终端)的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。
可以理解,图4所示的结构仅为示意,所述电子设备400还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行时实现方法实施例所述的方法,为避免重复,此处不再赘述。
本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。