本申请涉及电子设备领域,具体涉及一种图片处理方法、装置及电子设备。
背景技术:
在现有技术中,通常采用多曝光融合算法,构建一个合适的曝光函数来生成多张曝光图片,对每张图片的权重计算以求取所述图片的亮度均值作为中心值,导致图片对比度低,颜色发灰。
技术实现要素:
本申请实施例提供一种图片处理方法、装置及电子设备,以使得图片的对比度高和色彩艳丽。
本申请实施例提供一种图片处理方法,应用于电子设备,所述图片处理方法包括:
获取一输入图片,得到输入数据信息;
根据所述输入数据信息,生成所述输入图片对应的n个不同曝光度的曝光图片的第一数据信息;
根据所述n个第一数据信息,对所述n个曝光图片进行滤波处理生成关于n个基础层图片的第二数据信息;
对所述n个基础层图片进行区块划分,形成n个k×k的子图片矩阵,所述n个k×k的子图片矩阵包括k×k个子图片组,在每个子图片组中,所述子图片的行数相同、列数相同;
根据所述第二数据信息,获取每一子图片的对比度c、饱和度s和均值亮度l;
在每个子图片组中,生成所述n个子图片对比度的最大值c,生成所述n个子图片的饱和度的加权和s,生成所述n个子图片的均值亮度加权和l;
根据所述第一数据信息和所述第二数据信息,用n个曝光图片的第一数据信息中的亮度减去n个基础层图片的第二数据信息中的亮度得到关于n个细节层图片的第三数据信息;
根据所述第三数据信息,得到所述n个细节层图片的平均亮度d;
根据所述n个子图片的对比度的最大值c、所述n个子图片的饱和度的加权和s、所述n个子图片的均值亮度加权和l和所述n个细节层图片的平均亮度d,对k×k个子图片进行计算,得到k×k个融合值q;以及
设置滑动步长n,根据所述融合值q,生成输出图片。
在本申请实施例所提供的图片处理方法中,在根据所述输入数据信息,生成所述输入图片对应的n个不同曝光度的曝光图片的第一数据信息的步骤中,包括:
提取所述输入图片的亮度;以及
根据所述输入图片的亮度,生成所述输入图片对应的n个不同曝光度的曝光图片的第一数据信息。
在本申请实施例所提供的图片处理方法中,在所述提取所述输入图片的亮度中,根据公式ld(i,j)=e×r(i,j)+f×g(i,j)+g×b(i,j),获得所述输入图片的亮度ld,其中,e、f、g为系数,e+f+g=1,ld(i,j)为第i行、第j列的像素单元的亮度,r(i,j)为第i行、第j列的像素单元的红色子像素的亮度,g(i,j)为第i行、第j列的像素单元的绿色子像素的亮度,b(i,j)为第i行、第j列的像素单元的蓝色子像素的亮度。
在本申请实施例所提供的图片处理方法中,在根据所述输入图片的亮度,生成所述输入图片对应的n个不同曝光度的曝光图片的第一数据信息中,根据公式lad,k=1+exp(μevk),获得所述n个曝光图片的平均亮度信息lad,其中,lad,k为第k张曝光图片的平均亮度,evk为曝光度,μ为系数,根据公式
在本申请实施例所提供的图片处理方法中,在所述n个子图片矩阵的行数相同和列数相同的n个子图片中,生成所述n个子图片的对比度的最大值c,生成所述n个子图片的饱和度的加权和s,生成所述n个子图片的均值亮度加权和l中,包括:
根据每一子图片的对比度c、饱和度s、均值亮度l和公式
根据数值
根据数值
根据数值
在本申请实施例所提供的图片处理方法中,在根据所述n个子图片的对比度的最大值c、所述n个子图片的饱和度的加权和s、所述n个子图片的均值亮度加权和l和所述n个细节层图片的平均亮度d,对k×k个子图片进行计算,得到k×k个融合值q中,根据公式q=c×s+l+a×d,对k×k个子图片进行计算,得到k×k个融合值q,其中,a为细节放大系数。
本申请实施例提供一种图片处理装置,包括:
获取模块,用于获取一输入图片,得到输入数据信息;
曝光处理模块,用于根据所述输入数据信息,生成所述输入图片对应的n个不同曝光度的曝光图片的第一数据信息;
第一运算模块,用于根据所述n个第一数据信息,对所述n个曝光图片进行滤波处理生成关于n个基础层图片的第二数据信息;
分区模块,用于对所述n个基础层图片进行区块划分,形成n个k×k的子图片矩阵,所述n个k×k的子图片矩阵包括k×k个子图片组,在每个子图片组中,所述子图片的行数相同、列数相同;
第二运算模块,用于根据所述第二数据信息,获取每一子图片的对比度c、饱和度s和均值亮度l;
第三运算模块,用于在每个子图片组中,生成所述n个子图片对比度的最大值c,生成所述n个子图片的饱和度的加权和s,生成所述n个子图片的均值亮度加权和l;
第四运算模块,用于根据所述第一数据信息和所述第二数据信息,用n个曝光图片的第一数据信息中的亮度减去n个基础层图片的第二数据信息中的亮度得到关于n个细节层图片的第三数据信息;
第五运算模块,用于根据所述第三数据信息,得到所述n个细节层图片的平均亮度d;
融合模块,用于根据所述n个子图片的对比度的最大值c、所述n个子图片的饱和度的加权和s、所述n个子图片的均值亮度加权和l和所述n个细节层图片的平均亮度d,对k×k个子图片进行计算,得到k×k个融合值q;以及
输出模块,用于设置滑动步长n,根据所述融合值q,生成输出图片。
本申请实施例提供一种电子设备,包括:
壳体;
摄像头,所述摄像头固定于所述壳体,所述摄像头用于拍摄输入图片;
显示屏,所述显示屏固定于所述壳体,所述显示屏用于显示输出图片;
处理器,所述处理器连接于所述摄像头和显示屏之间,所述处理器用于执行如前所述的图片处理方法。
本申请所提供的图片处理方法、装置及电子设备,通过获取一输入图片,生成所述输入图片对应的n个不同曝光度的曝光图片的第一数据信息;根据所述n个第一数据信息,对所述n个曝光图片进行滤波处理生成关于n个基础层图片的第二数据信息;对所述n个基础层图片进行区块划分,形成包括k×k个子图片组的子图片矩阵;根据所述第二数据信息,获取每一子图片的对比度c、饱和度s和均值亮度l;在每个子图片组中,生成所述n个子图片对比度的最大值c,生成所述n个子图片的饱和度的加权和s,生成所述n个子图片的均值亮度加权和l;根据所述第一数据信息和所述第二数据信息,用n个曝光图片的第一数据信息中的亮度减去n个基础层图片的第二数据信息中的亮度得到关于n个细节层图片的第三数据信息;根据所述第三数据信息,得到所述n个细节层图片的平均亮度d;根据所述n个子图片的对比度的最大值c、所述n个子图片的饱和度的加权和s、所述n个子图片的均值亮度加权和l和所述n个细节层图片的平均亮度d,对k×k个子图片进行计算,得到k×k个融合值q;以及设置滑动步长n,根据所述融合值q,生成输出图片,从而使得在通过图片进行多曝光度处理以及图片分区的方法,对每一子图片分别进行运算和融合,从而使得经过本申请所提供的图片处理方法、装置及电子设备处理的图片,对比度高,色彩艳丽。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的图片处理方法的流程示意图。
图2为本申请实施例提供的图片处理方法的原理示意图。
图3为图1所述的图片处理方法的步骤“根据所述输入数据信息,生成所述输入图片对应的n个不同曝光度的曝光图片的第一数据信息”的流程示意图。
图4为本申请实施例提供的图片处理装置的第一种结构示意图。
图5为图4的图片处理装置的曝光处理模块的结构示意图。
图6为本申请实施例提供的图片处理装置的第二种结构示意图。
图7为本申请实施例提供的图片处理装置的第三种结构示意图。
图8为本申请实施例提供的电子设备的结构示意图。
具体实施例
请参阅图1-3,本申请实施例提供一种图片处理方法。所述图片处理方法应用于电子设备。所述图片处理方法包括:
101:获取一输入图片200,得到输入数据信息。
其中,可以通过电子设备的摄像头拍摄图片,所述通过电子设备的摄像头拍摄的图片即为所述输入图片200,采用处理器获取所述输入图片200的输入数据信息。所述输入数据信息包括所述输入图片200的亮度。
102:根据所述输入数据信息,生成所述输入图片200对应的n个不同曝光度的曝光图片201的第一数据信息,如图2所示。
其中,所述处理器根据所述输入数据信息对所述输入图片200进行处理,从而生成所述输入图片200对应的n个不同曝光度的曝光图片202的第一数据信息。
请参阅图3,所述步骤102可以包括:
1021:提取所述输入图片200的亮度。
其中,可以从所述输入数据信息中提取所述输入图片200的亮度。
在一种实施例中,根据公式ld(i,j)=e×r(i,j)+f×g(i,j)+g×b(i,j),获得所述输入图片200的亮度ld,其中,e、f、g为系数,e+f+g=1,ld(i,j)为第i行、第j列的像素单元的亮度,r(i,j)为第i行、第j列的像素单元的红色子像素的亮度,g(i,j)为第i行、第j列的像素单元的绿色子像素的亮度,b(i,j)为第i行、第j列的像素单元的蓝色子像素的亮度。在一种实施例中,所述系数e的范围为0.1-0.5,所述系数f的范围为0.4-0.8,所述系数g的范围为0.01-0.3。
1022:根据所述输入图片200的亮度,生成所述输入图片200对应的n个不同曝光度的曝光图片201的第一数据信息。
在一种实施例中,根据公式lad,k=1+exp(μevk),获得所述n个曝光图片201的平均亮度信息lad,其中,lad,k为第k张曝光图片201的平均亮度,evk为曝光度,μ为系数,根据公式
在一种实施例中,所述处理器根据所述输入数据信息对所述输入图片200进行处理,从而生成所述输入图片200对应的5个不同曝光度的曝光图片201的第一数据信息。所述曝光度evk可以为-1,-0.5,0,0.5和1。
103:根据所述n个第一数据信息,对所述n个曝光图片201进行滤波处理生成关于n个基础层图片202的第二数据信息。
其中,所述第二数据信息为根据所述n个第一数据信息,对所述n个曝光图片201进行滤波处理生成关于n个基础层图片202的数据信息。可以采用引导、双边、线性滤波的方法对所述n个曝光图片201进行滤波处理。在一种实施例中,可以采用s型线性滤波的方法对所述n个曝光图片201进行滤波处理。
104:对所述n个基础层图片202进行区块划分,形成n个k×k的子图片矩阵,所述n个k×k的子图片矩阵包括k×k个子图片组2031,在每个子图片组2031中,所述子图片203的行数相同、列数相同,请参阅图2。
在一种实施例中,可以对所述5个基础层图片202进行区块划分,形成5个5×5的子图片矩阵,所述5个5×5的子图片矩阵包括5×5个子图片组2031。
105:根据所述第二数据信息,获取每一子图片203的对比度c、饱和度s和均值亮度l。
其中,通过对每一个子图片203进行分析,根据所述第二数据信息,获取每一子图片203的对比度c、饱和度s和均值亮度l。
106:在每个子图片组2031中,生成所述n个子图片203对比度的最大值c,生成所述n个子图片203的饱和度的加权和s,生成所述n个子图片203的均值亮度加权和l。
其中,所述步骤106可以包括:
根据每一子图片203的对比度c、饱和度s、均值亮度l和公式
根据数值
根据数值
根据数值
107:根据所述第一数据信息和所述第二数据信息,用n个曝光图片201的第一数据信息中的亮度减去n个基础层图片203的第二数据信息中的亮度得到关于n个细节层图片的第三数据信息。
其中,所述细节层图片为在所述曝光图片202中减去所述基础层图片203的亮度所生成的图片。
108:根据所述第三数据信息,得到所述n个细节层图片的平均亮度d。
109:根据所述n个子图片203的对比度的最大值c、所述n个子图片203的饱和度的加权和s、所述n个子图片203的均值亮度加权和l和所述n个细节层图片的平均亮度d,对k×k个子图片203进行计算,得到k×k个融合值q。
其中,根据公式q=c×s+l+a×d,对k×k个子图片203进行计算,得到k×k个融合值q,其中,a为细节放大系数。在一种实施例中,所述细节放大系数a的范围为1.0-1.8。
110:设置滑动步长n,根据所述融合值q,生成输出图片。
其中,所述滑动步长n为自然数。
在一种实施方式中,所述步骤101、102、103、104、105、106、107、108、109和110可以按照步骤101、102、103、104、105、106、107、108、109和110的顺序执行。在其他实施例中,所述步骤101、102、103、104、105、106、107、108、109和110也可以按照101、102、103、107、108、104、105、106、109和110的顺序执行。在其他实施例中,所述步骤101、102、103、104、105、106、107、108、109和110还可以先执行步骤101、102、103,然后,从步骤104、105到106的过程和从步骤107到108的过程同时执行,最后,执行步骤109和110。
请参阅图4,本申请实施例还提供一种图片处理装置300。所述图片处理装置300包括获取模块301、曝光处理模块302、第一运算模块303、分区模块304、第二运算模块305、第三运算模块306、第四运算模块307、第五运算模块308、融合模块309和输出模块310。
所述获取模块301用于获取一输入图片,得到输入数据信息。
其中,可以通过电子设备的摄像头拍摄图片,所述通过电子设备的摄像头拍摄的图片即为所述输入图片,采用处理器获取所述输入图片的输入数据信息。所述输入数据信息包括所述输入图片的亮度。
所述曝光处理模块302用于根据所述输入数据信息,生成所述输入图片对应的n个不同曝光度的曝光图片的第一数据信息。
其中,所述处理器根据所述输入数据信息对所述输入图片进行处理,从而生成所述输入图片对应的n个不同曝光度的曝光图片的第一数据信息。
请参阅图5,所述曝光处理模块302包括亮度提取模块3021和生成模块3022。
所述亮度提取模块3021用于提取所述输入图片的亮度。
其中,可以从所述输入数据信息中提取所述输入图片的亮度。
在一种实施例中,根据公式ld(i,j)=e×r(i,j)+f×g(i,j)+g×b(i,j),获得所述输入图片的亮度ld,其中,e、f、g为系数,e+f+g=1,ld(i,j)为第i行、第j列的像素单元的亮度,r(i,j)为第i行、第j列的像素单元的红色子像素的亮度,g(i,j)为第i行、第j列的像素单元的绿色子像素的亮度,b(i,j)为第i行、第j列的像素单元的蓝色子像素的亮度。在一种实施例中,所述系数e的范围为0.1-0.5,所述系数f的范围为0.4-0.8,所述系数g的范围为0.01-0.3。
所述生成模块3022,根据所述输入图片的亮度,生成所述输入图片对应的n个不同曝光度的曝光图片的第一数据信息。
在一种实施例中,根据公式lad,k=1+exp(μevk),获得所述n个曝光图片的平均亮度信息lad,其中,lad,k为第k张曝光图片的平均亮度,evk为曝光度,μ为系数,根据公式
在一种实施例中,所述处理器根据所述输入数据信息对所述输入图片进行处理,从而生成所述输入图片对应的5个不同曝光度的曝光图片的第一数据信息。所述曝光度evk可以为-1,-0.5,0,0.5和1。
所述第一运算模块303用于根据所述n个第一数据信息,对所述n个曝光图片进行滤波处理生成关于n个基础层图片的第二数据信息。
其中,所述第二数据信息为根据所述n个第一数据信息,对所述n个曝光图片进行滤波处理生成关于n个基础层图片的数据信息。可以采用引导、双边、线性滤波的方法对所述n个曝光图片进行滤波处理。在一种实施例中,可以采用s型线性滤波的方法对所述n个曝光图片进行滤波处理。
所述分区模块304用于对所述n个基础层图片进行区块划分,形成n个k×k的子图片矩阵,所述n个k×k的子图片矩阵包括k×k个子图片组,在每个子图片组中,所述子图片的行数相同、列数相同。
在一种实施例中,可以对所述5个基础层图片进行区块划分,形成5个5×5的子图片矩阵,所述5个5×5的子图片矩阵包括5×5个子图片组。
所述第二运算模块305用于根据所述第二数据信息,获取每一子图片的对比度c、饱和度s和均值亮度l。
其中,通过对每一个子图片进行分析,根据所述第二数据信息,获取每一子图片的对比度c、饱和度s和均值亮度l。
所述第三运算模块306用于在每个子图片组中,生成所述n个子图片对比度的最大值c,生成所述n个子图片的饱和度的加权和s,生成所述n个子图片的均值亮度加权和l。
其中,所述第三运算模块306根据每一子图片的对比度c、饱和度s、均值亮度l和公式
所述第四运算模块307用于根据所述第一数据信息和所述第二数据信息,用n个曝光图片的第一数据信息中的亮度减去n个基础层图片的第二数据信息中的亮度得到关于n个细节层图片的第三数据信息。
其中,所述细节层图片为在所述曝光图片中减去所述基础层图片的亮度所生成的图片。
所述第五运算模块308用于根据所述第三数据信息,得到所述n个细节层图片的平均亮度d。
所述融合模块309用于根据所述n个子图片的对比度的最大值c、所述n个子图片的饱和度的加权和s、所述n个子图片的均值亮度加权和l和所述n个细节层图片的平均亮度d,对k×k个子图片进行计算,得到k×k个融合值q。
其中,根据公式q=c×s+l+a×d,对k×k个子图片进行计算,得到k×k个融合值q,其中,a为细节放大系数。在一种实施例中,所述细节放大系数a的范围为1.0-1.8。
所述输出模块310用于设置滑动步长n,根据所述融合值q,生成输出图片。
其中,所述滑动步长n为自然数。
在一种实施例中,如图4所示,所述图片处理装置300的获取模块301、曝光处理模块302、第一运算模块303、分区模块304、第二运算模块305、第三运算模块306、第四运算模块307、第五运算模块308、融合模块309和输出模块310可以按照获取模块301、曝光处理模块302、第一运算模块303、分区模块304、第二运算模块305、第三运算模块306、第四运算模块307、第五运算模块308、融合模块309和输出模块310的顺序依次运行。
在其他实施例中,如图6所示,所述图片处理装置300的获取模块301、曝光处理模块302、第一运算模块303、分区模块304、第二运算模块305、第三运算模块306、第四运算模块307、第五运算模块308、融合模块309和输出模块310也可以按照获取模块301、曝光处理模块302、第一运算模块303、第四运算模块307、第五运算模块308、分区模块304、第二运算模块305、第三运算模块306、融合模块309和输出模块310的顺序依次运行。
在其他实施例中,如图7所示,所述图片处理装置300的获取模块301、曝光处理模块302、第一运算模块303、分区模块304、第二运算模块305、第三运算模块306、第四运算模块307、第五运算模块308、融合模块309和输出模块310还可以先运行获取模块301、曝光处理模块302和第一运算模块303,然后,在依次所述分区模块304、第二运算模块305和第三运算模块306的同时,依次运行所述第四运算模块307和第五运算模块308,最后依次运行所述融合模块309和输出模块310。
请参阅图8,本申请实施例提供一种电子设备400。所述电子设备400包括壳体401、摄像头402、显示屏403和处理器404。所述摄像头402固定于所述壳体401,所述摄像头402用于拍摄输入图片。所述显示屏403固定于所述壳体401,所述显示屏403用于显示输出图片。所述处理器404连接于所述摄像头402和显示屏403之间。所述处理器404用于执行如前所述的图片处理方法。
本申请所提供的图片处理方法、装置及电子设备,通过获取一输入图片,生成所述输入图片对应的n个不同曝光度的曝光图片的第一数据信息;根据所述n个第一数据信息,对所述n个曝光图片进行滤波处理生成关于n个基础层图片的第二数据信息;对所述n个基础层图片进行区块划分,形成包括k×k个子图片组的子图片矩阵;根据所述第二数据信息,获取每一子图片的对比度c、饱和度s和均值亮度l;在每个子图片组中,生成所述n个子图片对比度的最大值c,生成所述n个子图片的饱和度的加权和s,生成所述n个子图片的均值亮度加权和l;根据所述第一数据信息和所述第二数据信息,用n个曝光图片的第一数据信息中的亮度减去n个基础层图片的第二数据信息中的亮度得到关于n个细节层图片的第三数据信息;根据所述第三数据信息,得到所述n个细节层图片的平均亮度d;根据所述n个子图片的对比度的最大值c、所述n个子图片的饱和度的加权和s、所述n个子图片的均值亮度加权和l和所述n个细节层图片的平均亮度d,对k×k个子图片进行计算,得到k×k个融合值q;以及设置滑动步长n,根据所述融合值q,生成输出图片,从而使得在通过图片进行多曝光度处理以及图片分区的方法,对每一子图片分别进行运算和融合,从而使得经过本申请所提供的图片处理方法、装置及电子设备处理的图片,对比度高,色彩艳丽。
本申请实施例还提供一种存储介质,该存储介质中存储有多条指令,该指令适于由处理器加载以执行上述任一实施例所述的图片处理方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rok,readonlykekory)、随机存取记忆体(rak,randokaccesskekory)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施例进行了阐述,以上实施例的说明只是用于帮助理解本申请。同时,对于本领域的技术人员,依据本申请的思想,在具体实施例及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。