一种图像去雾方法及装置的制造方法

xiaoxiao2020-10-23  22

一种图像去雾方法及装置的制造方法
【技术领域】
[0001] 本申请涉及图像处理技术领域,尤其是一种图像去雾方法及装置。
【背景技术】
[0002] 在户外进行景物拍摄时,往往由于户外环境的干扰,导致拍摄的目标景物出现模 糊不清的情况。其中,出现的干扰因素主要是大气中的浑浊媒介,如雾霭、雾霾等。这些干 扰因素造成图像中的目标景物细节特征不明显,且图像对比度会降低,影响对图像或视频 中的目标景物的后续处理工作。
[0003] 目前,主要使用基于暗原色先验的图像去雾方法对上述图像进行去雾处理。所谓 暗原色先验,是通过分析户外无雾图像得出的一种图像规律。该规律认为,一幅图像中的非 天空场景的区域,至少存在一个亮度非常低的彩色通道,将所述非常低的亮度值称作一个 通道的暗原色。基于上述规律的图像去雾方法,首先计算图像每个像素对应的光强度的最 小值,依据所述最小值应用软抠图算法求解稀疏线性系统获得光线透射率函数,其中,所述 函数中包括有抠图拉普拉斯矩阵,最后,依据所述透射率函数计算去雾后的图像。
[0004] 但是,上述方法涉及极限函数的最小值求解、矩阵求逆等复杂数学运算,计算量较 大,难以满足嵌入式设备对低计算量的要求,应用性较低。

【发明内容】

[0005] 有鉴于此,本申请提供了一种图像去雾方法及装置,用以解决现有技术中基于暗 原色先验的图像去雾方法计算量较大,难以满足嵌入式设备对低计算量的要求,应用性较 低的问题。本申请提供的技术方案如下:
[0006] 一种图像去雾方法,包括:
[0007] 获取包含有多个像素点的图像;其中,所述图像具有多个灰度指数,所述灰度指数 为依次增大的自然数;
[0008] 获取所述每个灰度指数各自对应的像素点的数量值;
[0009] 从最小的灰度指数开始,依次获得各个灰度指数对应的像素点累积数,直至灰度 指数对应的像素点累积数大于或等于预设像素点数量阈值,将所述灰度指数确定为目标灰 度指数;其中,灰度指数对应的像素点累积数为所述灰度指数及其之前所有的灰度指数对 应的像素点数量值的和值;
[0010] 依据所述预设灰度指数变换算法及所述目标灰度指数,对所述图像中的各个像素 点的灰度指数进行变换,以生成去雾后的目标图像。
[0011] 上述方法,优选的,所述依据所述预设灰度指数变换算法及所述目标灰度指数,对 所述图像中的各个像素点的灰度指数进行变换,以生成去雾后的目标图像,包括:
[0012] 依据所述预设灰度指数变换算法及所述目标灰度指数,生成灰度指数变换表;其 中,所述灰度指数变换表中包含有所述图像的各个灰度指数对应的变换灰度指数;
[0013] 依据所述灰度指数变换表,将所述图像中的各个像素点对应的灰度指数变换为与 其对应的变换灰度指数,以生成去雾后的目标图像。
[0014] 上述方法,优选的,所述预设灰度指数变换算法包括第一预设变换算法及第二预 设变换算法;其中,所述第一变换算法与所述图像中的第一灰度指数对应,所述第二变换算 法与所述图像中的第二灰度指数对应;
[0015] 其中,所述依据预设灰度指数变换算法及所述目标灰度指数,生成灰度指数变换 表,包括:
[0016] 将所述图像的各个灰度指数中小于所述目标灰度指数的灰度指数确定为第一灰 度指数,并将大于等于所述目标灰度指数的灰度指数确定为第二灰度指数;
[0017] 依据所述第一预设变换算法,生成所述每个第一灰度指数各自对应的第一变换灰 度指数;其中,所述第一变换灰度指数为〇 ;
[0018] 依据所述第二预设变换算法,生成所述每个第二灰度指数各自对应的第二变换灰 度指数;
[0019] 依据所述第一变换灰度指数及所述第二变换灰度指数,生成灰度指数变换表。
[0020] 上述方法,优选的,所述预设第二预设变换算法中包括所述目标灰度指数;
[0021] 其中,所述依据所述第二预设变换算法,生成所述每个第二灰度指数各自对应的 第二变换灰度指数,包括:
[0022] 获取所述目标灰度指数;
[0023] 依次生成所述各个第二灰度指数与所述目标灰度指数的差值;
[0024] 将所述各个差值或所述各个差值与预设数值的乘积分别确定为所述每个第二灰 度指数各自对应的第二变换灰度指数。
[0025] 上述方法,优选的,在依据所述预设灰度指数变换算法及所述目标灰度指数,对所 述图像中的各个像素点的灰度指数进行变换,以生成去雾后的目标图像之后,还包括:
[0026] 对所述去雾后的目标图像进行保存。
[0027] 本申请还提供了一种图像去雾装置,包括:
[0028]图像获取模块,用于获取包含有多个像素点的图像;其中,所述图像具有多个灰度 指数,所述灰度指数为依次增大的自然数;
[0029] 像素点获取模块,用于获取所述每个灰度指数各自对应的像素点的数量值;
[0030] 目标灰度指数确定模块,用于从最小的灰度指数开始,依次获得各个灰度指数对 应的像素点累积数,直至灰度指数对应的像素点累积数大于或等于预设像素点数量阈值, 将所述灰度指数确定为目标灰度指数;其中,灰度指数对应的像素点累积数为所述灰度指 数及其之前所有的灰度指数对应的像素点数量值的和值;
[0031] 目标图像生成模块,用于依据所述预设灰度指数变换算法及所述目标灰度指数, 对所述图像中的各个像素点的灰度指数进行变换,以生成去雾后的目标图像。
[0032] 上述装置,优选的,所述目标图像生成模块,包括:
[0033] 变换表生成子模块,用于依据所述预设灰度指数变换算法及所述目标灰度指数, 生成灰度指数变换表;其中,所述灰度指数变换表中包含有所述图像的各个灰度指数对应 的变换灰度指数;
[0034]目标图像生成子模块,用于依据所述灰度指数变换表,将所述图像中的各个像素 点对应的灰度指数变换为与其对应的变换灰度指数,以生成去雾后的目标图像。
[0035] 上述方法,优选的,所述变换表生成子模块依据的所述预设灰度指数变换算法包 括第一预设变换算法及第二预设变换算法;其中,所述第一变换算法与所述图像中的第一 灰度指数对应,所述第二变换算法与所述图像中的第二灰度指数对应;
[0036] 其中,所述变换表生成子模块,包括:
[0037] 灰度指数区分单元,用于将所述图像的各个灰度指数中小于所述目标灰度指数的 灰度指数确定为第一灰度指数,并将大于等于所述目标灰度指数的灰度指数确定为第二灰 度指数;
[0038] 第一变换灰度指数生成单元,用于依据所述第一预设变换算法,生成所述每个第 一灰度指数各自对应的第一变换灰度指数;其中,所述第一变换灰度指数为〇 ;
[0039] 第二变换灰度指数生成单元,用于依据所述第二预设变换算法,生成所述每个第 二灰度指数各自对应的第二变换灰度指数;
[0040] 灰度指数变换表生成单元,用于依据所述第一变换灰度指数及所述第二变换灰度 指数,生成灰度指数变换表。
[0041] 上述装置,优选的,所述变换表生成子模块依据的所述第二预设变换算法中包括 所述目标灰度指数;
[0042] 其中,所述第二变换灰度指数生成单元包括:
[0043]目标灰度指数获取子单元,用于获取所述目标灰度指数;
[0044] 差值生成子单元,用于依次生成所述各个第二灰度指数与所述目标灰度指数的差 值;
[0045] 第二变换灰度指数确定子单元,用于将所述各个差值或所述各个差值与目标系数 的乘积分别确定为所述每个第二灰度指数各自对应的第二变换灰度指数。
[0046] 上述装置,优选的,还包括:
[0047] 保存模块,用于在生成去雾后的目标图像之后,对所述去雾后的目标图像进行保 存。
[0048] 由以上的技术方案可知,本申请提供了一种图像去雾方法及装置,该方法利用求 和运算确定目标灰度值,依据该目标灰度值对所述图像中的各个像素点的灰度指数进行相 应变换,从而生成去雾后的目标图像。与现有技术中利用极限函数的最小值求解、矩阵求逆 等复杂数学运算生成去雾函数,依据该去雾函数对图像像素点进行处理相比,本申请提供 的方案有效地降低了运算量,可应用于各种嵌入式设备,具有较高的应用性。
【附图说明】
[0049] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其 他的附图。
[0050] 图1为本申请提供的一种图像去雾方法一个实施例的流程图;
[0051] 图2为本申请提供的一种图像去雾方法另一实施例的部分流程图;
[0052] 图 3为本申请提供的一种图像去雾方法又一实施例的部分流程图;
[0053] 图4为本申请提供的一种图像去雾装置一个实施例的结构示意图;
[0054] 图5为本申请提供的一种图像去雾装置另一实施例的部分结构示意图;
[0055] 图6为本申请提供的一种图像去雾装置又一实施例的部分结构示意图。
【具体实施方式】
[0056] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于 本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本申请保护的范围。
[0057] 请参阅图1,其示出了一种图像去雾方法一个实施例的流程图,本实施例可以包 括:
[0058] 步骤101 :获取包含有多个像素点的图像;其中,所述图像具有多个灰度指数,所 述灰度指数为依次增大的自然数。
[0059] 获取的所述图像可以是由摄像头或者其他图像获取设备输入的图像,且所述图像 可以是视频流中的一帧图像,或独立的一幅图像。其中,所述图像包含有多个像素点,像素 点的亮暗程度用灰度指数进行表示。
[0060] 所述灰度指数与所述图像中像素点的数据表示格式有关,即若所述图像中像素点 用8位数据进行表示,则所述图像的灰度指数的个数为2的8次方,即灰度指数为从0至255 的自然数;若所述图像中的像素点用10位数据进行标识,则所述图像的灰度指数的个数为 2的10次方,即灰度指数为0至1023的自然数。当然,所述图像中像素点的数据表示格式 及灰度指数包括但不限定于上述两种。
[0061] 步骤102 :获取所述每个灰度指数各自对应的像素点的数量值。
[0062] 其中,步骤101获取的所述图像包含有多个像素点,每个像素点具有对应的灰度 指数,不同的像素点可以对应相同或不同的灰度指数,则所述图像的每个灰度指数分别对 应相同或不同数量的像素点。例如,灰度指数2对应的像素点个数为100,灰度指数3对应 的像素点个数为300,灰度指数4对应的像素点个数为300。
[0063] 所述获取的方式可以是,遍历所述图像中所有像素点的灰度指数,统计具有相同 灰度指数的像素点的个数。
[0064]步骤103 :从最小的灰度指数开始,依次获得各个灰度指数对应的像素点累积数, 直至灰度指数对应的像素点累积数大于或等于预设像素点数量阈值,将所述灰度指数确定 为目标灰度指数;其中,灰度指数对应的像素点累积数为所述灰度指数及其之前所有的灰 度指数对应的像素点数量值的和值。
[0065] 其中,所述像素点数量阈值为预先设置的数值,该数值为大于0小于像素点总个 数的某个数值,可选的,所述数量阈值可用去雾系数K乘以图像的像素点总个数,即K*M*N, 其中,所述去雾系数K为大于0小于1的数值,代表去雾强度,具体的,K的值越大,图像去 掉的像素越多,去雾效果越好,但另一方面,K值越大,会使越多像素点的灰度指数变为0, 进而使去雾后的图像损失越多的细节信息。因此,经过发明人的实验研究,优选的,K的取 值范围为大于0小于0. 3的数值;M为所述图像中每行中像素点的个数;N为所述图像的行 数。例如,所述图像I(640*480)的像素总个数为307200,去雾系数为0. 08,则所述预设像 素点数量阈值为307200*0. 08,即24576。
[0066] 其中,所述确定目标灰度指数的过程可参见如下示例。例如,所述图像的像素点总 个数为307200,预设像素点数量阈值为24576,所述图像具有的灰度指数为0至254,其中, 〇对应的像素点数量值为500,1对应的像素点的数量值为800, 2对应的像素点的数量值为 1000, 3对应的像素点的数量值为1500,则0对应的像素点累积数为500,1对应的像素点的 累积数为1300 (500+800),2对应的像素点的累积数为2300 (500+800+1000),3对应的像 素点的累积数为3800(500+800+1000+1500),以此类推,依次计算各个灰度指数对应的像素 点累积数,直至某一灰度指数对应的像素点累积数大于或等于24576,将该某一灰度指数确 定为目标灰度指数,例如所述目标灰度指数为77。
[0067] 需要说明的是,在获得各个灰度指数对应的像素点累积数的过程中,可以直接将 前一灰度指数的像素点累积数加上本灰度指数对应的像素点数量值,以进一步减少计算 量。例如,在获得3对应的像素点累积数时,可将2对应的像素点累积数2300加上3对应 的像素点数量值1500。
[0068] 步骤104 :依据所述预设灰度指数变换算法及所述目标灰度指数,对所述图像中 的各个像素点的灰度指数进行变换,以生成去雾后的目标图像。
[0069] 其中,所述灰度指数变换算法可以是灰度指数变换函数,所述灰度指数变换算法 预先设置。具体的,所述变换过程可以为,依次获取所述图像中各个像素点,进而获取所述 各个像素点的灰度指数,依据所述各个灰度指数与目标灰度指数之间的大小关系,分别将 所述各个灰度指数作为所述灰度指数变换函数的自变量,依据所述灰度指数变换函数生成 与所述每个灰度指数各自对应的变换灰度指数,并将步骤101获取的所述图像的各个像素 点的灰度指数对应变换为其对应的变换灰度指数,从而达到去雾效果。当然,所述变换过程 包括但不限定于上述过程。
[0070] 例如,步骤101获取的所述图像为I,其包含的像素个数为640*480,目标灰度指 数为77,依据所述灰度指数变换算法进行灰度指数的变换,如像素点的灰度指数若小于目 标灰度指数77,如50,则将该像素点的灰度指数变换为0 ;若大于或等于所述目标灰度指数 77,如80,则将该像素点的灰度指数减去77获取差值,将所述差值作为该像素点变换后的 变换灰度指数,如80减去77为3,将该像素点的灰度指数由80变换为3。
[0071] 由上述技术方案可知,本实施例提供了一种图像去雾方法,该方法利用求和运算 确定目标灰度值,依据该目标灰度值对所述图像中的各个像素点的灰度指数进行相应变 换,从而生成去雾后的目标图像。与现有技术中利用极限函数的最小值求解、矩阵求逆等复 杂数学运算生成去雾函数,依据该去雾函数对图像像素点进行处理相比,本实施例提供的 方案有效地降低了运算量,满足各种嵌入式设备如相机、PAD、移动终端等对低运算量的要 求,可应用于所述嵌入式设备中,提高了本实施例的应用性。
[0072] 需要说明的是,步骤102中灰度指数对应的像素点的数量值可以用该灰度指数像 素点出现的概率替换,所述该灰度指数像素点出现的概率即该灰度指数对应的像素点的数 量值与该图像中所有像素点的总数量值的比值。例如,图像I(640*480)的像素点总个 数为307200,灰度指数2对应的像素点个数为1000,则灰度指数2像素点出现的概率为 1000/307200。
[0073] 同时相应的,步骤103中的预设像素点数量阈值替换为预设像素点比值阈值,所 述比值阈值可为去雾系数K,例如0. 08。具体的,确定所述目标灰度指数的过程为,依据所 述灰度指数的大小关系,从最小的灰度指数开始,将所述各个灰度指数像素点出现的概率 进行求和,并将所述和值与所述预设像素点比值阈值进行比较,将第一个大于或等于所述 预设像素点比值阈值的灰度指数确定为目标灰度指数。
[0074] 需要说明的是,上述各个灰度指数对应的像素点数量值或该灰度指数像素点出现 的概率可用该图像的图像直方图表示。图像直方图的横坐标表述该图像的各个灰度指数, 纵坐标表示各个灰度指数对应的像素点个数或各个灰度指数出现的概率。
[0075] 需要说明的是,步骤101获取的所述图像的颜色空间不做限定,即可以是RGB颜色 空间、YUV颜色空间、LAB颜色空间或其他颜色空间中的任意一种。
[0076] 当是RGB颜色空间时,所述图像具有R、G、B三个色彩通道,则步骤102中需分别 计算R通道中每个灰度指数各自对应的像素点的数量值、G通道中每个灰度指数各自对应 的像素点的数量值及B通道中每个灰度指数各自对应的像素点的数量。同时相应的,步骤 103中设置的预设像素点数量阈值可以为三个不同的数值,分别与所述R、G、B三个通道对 应;也可以设置同一个数值,所述同一个数值均与所述R、G、B三个通道对应。
[0077]当是YUV颜色空间时,计算信号Y的每个灰度指数各自对应的像素点的数量值。
[0078]当是LAB颜色空间时,计算信号L的每个灰度指数各自对应的像素点的数量值。
[0079] 请参阅图2,其示出了本申请提供的一种图像去雾方法另一实施例的部分流程图, 优选的,上述实施例的步骤104可以通过以下方式实现:
[0080] 步骤201 :依据所述预设灰度指数变换算法及所述目标灰度指数,生成灰度指数 变换表;其中,所述灰度指数变换表中包含有所述图像的各个灰度指数对 应的变换灰度指 数。
[0081] 其中,所述灰度指数变换表的大小与所述图像的灰度指数个数有关。具体的,所述 灰度指数变换表的行数为一行,列数为所述图像的灰度指数总个数,列标识分别与各个灰 度指数相对应。例如,灰度指数变换表有256列,分别对应从0开始至255的各个灰度指数。 [0082] 所述灰度指数变换表中包含的是所述图像的各个灰度指数对应的变换灰度指数。 其中,所述变换灰度指数是利用所述预设灰度指数变换算法生成的,即将所述各个灰度指 数作为所述灰度指数变换算法中的自变量,生成所述灰度指数对应的变换灰度指数。具体 的,获取所述图像的各个灰度指数,并依次生成对应的变换灰度指数,从而建立所述灰度指 数变换表。例如,灰度指数30对应的变换灰度指数为0,80对应的变换灰度指数为3。
[0083] 步骤202 :依据所述灰度指数变换表,将所述图像中的各个像素点对应的灰度指 数变换为与其对应的变换灰度指数,以生成去雾后的目标图像。
[0084] 所述变换过程可以为,遍历所述图像的各个像素点,进而获得所述各个像素点对 应的灰度指数,在所述灰度指数变换表中查找该灰度指数对应变换灰度指数,并将该像素 点的灰度指数变换为其对应的所述变换灰度指数,从而生成去雾后的目标图像,达到去雾 效果。例如,将30变换为0,将80变换为30。
[0085] 由以上的技术方案可知,本实施例提供的一种图像去雾方法中,首先将所述各个 灰度指数利用预设灰度指数变换算法,生成对应的变换灰度指数,从而生成灰度指数变换 表。在对所述图像进行去雾处理时,在所述灰度指数变换表进行查找,获得所述图像的各 个像素点的灰度指数对应的变换灰度指数。由于所述图像中多个像素点可对应同一灰度指 数,若进行去雾处理时,直接利用去雾算法生成所述各个像素点对应的变换灰度指数,计算 量为像素点的总个数,而本实施例中的计算量为灰度指数的个数,由此可见,本实施例的方 法可有效地降低计算量。
[0086] 请参阅图3,其提供了一种图像去雾方法又一实施例的部分流程图,所述预设灰度 指数变换算法包括第一预设变换算法及第二预设变换算法;其中,所述第一变换算法与所 述图像中的第一灰度指数对应,所述第二变换算法与所述图像中的第二灰度指数对应;则 上述实施例中步骤201可以通过以下方式实现:
[0087] 步骤301:将所述图像的各个灰度指数中小于所述目标灰度指数的灰度指数确定 为第一灰度指数,并将大于等于所述目标灰度指数的灰度指数确定为第二灰度指数。
[0088] 例如,所述目标灰度指数为77,所述图像的各个灰度指数为从0至255,则将0至 76的灰度指数确定为第一灰度指数,将77至255的灰度指数确定为第二灰度指数。
[0089] 步骤302 :依据所述第一预设变换算法,生成所述每个第一灰度指数各自对应的 第一变换灰度指数;其中,所述第一变换灰度指数为〇。
[0090] 其中,所述第一预设变换算法为将所述第一灰度指数变换为0,所述0为所述第一 变换灰度指数。
[0091] 步骤303 :依据所述第二预设变换算法,生成所述每个第二灰度指数各自对应的 第二变换灰度指数。
[0092] 可选的,所述第二预设变换算法可以为所述各个第二灰度指数与所述目标灰度指 数的差值,即i_T;也可以为所述差值与预设数值的乘积,S卩
,其中,i为各个 第二灰度指数,T为目标灰度指数,所述预设数值_
与所述图像的灰度指数相关,即N为 所述图像的灰度指数的总个数,如255。具体的,所述生成过程可以为:
[0093] 获取所述目标灰度指数;
[0094] 依次生成所述各个第二灰度指数与所述目标灰度指数的差值;
[0095] 将所述各个差值或所述各个差值与预设数值的乘积分别确定为所述每个第二灰 度指数各自对应的第二变换灰度指数。
[0096] 当然,所述第二预设变换算法包括但不限定于上述算法。
[0097]步骤304 :依据所述第一变换灰度指数及所述第二变换灰度指数,生成灰度指数 变换表。
[0098] 具体的,所述生成所述灰度指数变换表的过程为,建立所述各个第一灰度指数与 其对应的第一变换灰度指数之间的对应关系,并建立所述各个第二灰度指数与其对应的第 二变换灰度指数之间的对应关系。例如,所述灰度指数变换表部分对应关系请参见表1 :
[0100] 表 1
[0101] 其中,所述表1中的各个灰度指数可以为所述表1的列标识,即通过所述列的列标 识表示各个灰度指数,从而减少表格的存储容量,减少存储空间。
[0102] 从上述本实施例的方案可知,本实施例中的灰度指数变换算法使用乘除减等简单 的数学运算方法,相比于现有技术中使用极限求解最小值及矩阵求逆等算法,有效地减小 了运算量。
[0103] 在上述各个实施例生成去雾后的目标图像之后,还可以包括:
[0104] 对所述去雾后的目标图像进行保存。
[0105] 其中,保存的装置可以是硬盘、光盘、移动存储装置等。
[0106] 请参见图4,其示出了本申请提供的一种图像去雾装置一个实施例的结构示意图, 本实施可以包括:图像获取模块401、像素点获取模块402、目标灰度指数确定模块403及目 标图像生成模块404。其中:
[0107] 所述图像获取模块401,用于获取包含有多个像素点的图像;其中,所述图像具有 多个灰度指数,所述灰度指数为依次增大的自然数。
[0108] 所述图像获取模块401获取的所述图像可以是由摄像头或者其他图像获取设备 输入的图像,且所述图像可以是视频流中的一帧图像,或独立的一幅图像。其中,所述图像 包含有多个像素点,像素点的亮暗程度用灰度指数进行表示。
[0109] 所述灰度指数与所述图像中像素点的数据表示格式有关,即若所述图像中像素点 用8位数据进行表示,则所述图像的灰度指数的个数为2的8次方,即灰度指数为从0至255 的自然数;若所述图像中的像素点用10位数据进行标识,则所述图像的灰度指数的个数为 2的10次方,即灰度指数为0至1023的自然数。当然,所述图像中像素点的数据表示格式 及灰度指数包括但不限定于上述两种。
[0110] 所述像素点获取模块402,用于获取所述每个灰度指数各自对应的像素点的数量 值。
[0111] 其中,所述图像获取模块401获取的所述图像包含有多个像素点,每个像素点具 有对应的灰度指数,不同的像素点可以对应相同或不同的灰度指数,则所述图像的每个灰 度指数分别对应相同或不同数量的像素点。例如,灰度指数2对应的像素点个数为100,灰 度指数3对应的像素点个数为300,灰度指数4对应的像素点个数为300。
[0112] 所述像素点获取模块402获取的方式可以是,遍历所述图像中所有像素点的灰度 指数,统计具有相同灰度指数的像素点的个数。
[0113] 所述目标灰度指数确定模块403,用于从最小的灰度指数开始,依次获得各个灰度 指数对应的像素点累积数,直至灰度指数对应的像素点累积数大于或等于预设像素点数量 阈值,将所述灰度指数确定为目标灰度指数;其中,灰度指数对应的像素点累积数为所述灰 度指数及其之前所有的灰度指数对应的像素点数量值的和值。
[0114] 其中,所述像素点数量阈值为预先设置的数值,该数值为大于0小于像素点总个 数的某个数值,可选的,所述数量阈值可用去雾系数K乘以图像的像素点总个数,即K*M*N, 其中,所述去雾系数K为大于0小于1的数值,代表去雾强度,具体的,K的值越大,图像去 掉的像素越多,去雾效果越好,但另一方面,K值越大,会使越多像素点的灰度指数变为0, 进而使去雾后的图像损失越多的细节信息。因此,经过发明人的实验研究,优选的,K的取 值范围为大于0小于0. 3的数值;M为所述图像中每行中像素点的个数;N为所述图像的行 数。例如,所述图像I(640*480)的像素总个数为307200,去雾系数为0. 08,则所述预设像 素点数量阈值为307200*0. 08,即24576。
[0115] 其中,所述目标灰度指数确定模块403确定目标灰度指数的过程可参见如下示 例。例如,所述图像的像素点总个数为307200,预设像素点数量阈值为24576,所述图像具 有的灰度指数为〇至254,其中,0对应的像素点数量值为500,1对应的像素点的数量值为 800, 2对应的像素点的数量值为1000, 3对应的像素点的数量值为1500,则0对应的像素 点累积数为500,1对应的像素点的累积数为1300 (500+800),2对应的像素点的累积数为 2300 (500+800+1000),3对应的像素点的累积数为3800 (500+800+1000+1500),以此类推, 依次计算各个灰度指数对应的像素点累积数,直至某一灰度指数对应的像素点累积数大于 或等于24576,将该某一灰度指数确定为目标灰度指数,例如所述目标灰度指数为77。
[0 116] 需要说明的是,所述目标灰度指数确定模块403在获得各个灰度指数对应的像素 点累积数的过程中,可以直接将前一灰度指数的像素点累积数加上本灰度指数对应的像素 点数量值,以进一步减少计算量。例如,在获得3对应的像素点累积数时,可将2对应的像 素点累积数2300加上3对应的像素点数量值1500。
[0117] 所述目标图像生成模块404,用于依据所述预设灰度指数变换算法及所述目标灰 度指数,对所述图像中的各个像素点的灰度指数进行变换,以生成去雾后的目标图像。
[0118] 其中,所述灰度指数变换算法可以是灰度指数变换函数,所述灰度指数变换算法 预先设置。具体的,所述目标图像生成模块404的变换过程可以为,依次获取所述图像中各 个像素点,进而获取所述各个像素点的灰度指数,依据所述各个灰度指数与目标灰度指数 之间的大小关系,分别将所述各个灰度指数作为所述灰度指数变换函数的自变量,依据所 述灰度指数变换函数生成与所述每个灰度指数各自对应的变换灰度指数,并将所述图像获 取模块401获取的所述图像的各个像素点的灰度指数对应变换为其对应的变换灰度指数, 从而达到去雾效果。当然,所述变换过程包括但不限定于上述过程。
[0119] 例如,所述图像获取模块401获取的所述图像为I,其包含的像素个数为640*480, 目标灰度指数为77,所述目标图像生成模块404依据所述灰度指数变换算法进行灰度指数 变换,如像素点的灰度指数若小于目标灰度指数77,如50,则将该像素点的灰度指数变换 为〇 ;若大于或等于所述目标灰度指数77,如80,则将该像素点的灰度指数减去77获取差 值,将所述差值作为该像素点变换后的变换灰度指数,如80减去77为3,将该像素点的灰度 指数由80变换为3。
[0120] 由上述技术方案可知,本实施例提供了一种图像去雾装置,通过利用求和运算确 定目标灰度值,依据该目标灰度值对所述图像中的各个像素点的灰度指数进行相应变换, 从而生成去雾后的目标图像。与现有技术中利用极限函数的最小值求解、矩阵求逆等复杂 数学运算生成去雾函数,依据该去雾函数对图像像素点进行处理相比,本实施例提供的方 案有效地降低了运算量,满足各种嵌入式设备如相机、PAD、移动终端等对低运算量的要求, 可应用于所述嵌入式设备中,提高了本实施例的应用性。
[0121] 需要说明的是,所述像素点获取模块402获取的灰度指数对应的像素点的数量 值可以用该灰度指数像素点出现的概率替换,所述该灰度指数像素点出现的概率即该灰 度指数对应的像素点的数量值与该图像中所有像素点的总数量值的比值。例如,图像I (640*480)的像素点总个数为307200,灰度指数2对应的像素点个数为1000,则灰度指数2 像素点出现的概率为1000/307200。
[0122] 同时相应的,所述目标灰度指数确定模块403用来确定目标灰度指数的预设像素 点数量阈值替换为预设像素点比值阈值,所述比值阈值可为去雾系数K,例如0.08。具体 的,所述目标灰度指数确定模块403确定所述目标灰度指数的过程为,依据所述灰度指数 的大小关系,从最小的灰度指数开始,将所述各个灰度指数像素点出现的概率进行求和,并 将所述和值与所述预设像素点比值阈值进行比较,将第一个大于或等于所述预设像素点比 值阈值的灰度指数确定为目标灰度指数。
[0123] 需要说明的是,上述各个灰度指数对应的像素点数量值或该灰度指数像素点出现 的概率可用该图像的图像直方图表示。图像直方图的横坐标表述该图像的各个灰度指数, 纵坐标表示各个灰度指数对应的像素点个数或各个灰度指数出现的概率。
[0124] 需要说明的是,所述图像获取模块401获取的所述图像的颜色空间不做限定,即 可以是RGB颜色空间、YUV颜色空间、LAB颜色空间或其他颜色空间中的任意一种。
[0125] 当是RGB颜色空间时,所述图像具有R、G、B三个色彩通道,则所述像素点获取模 块402需分别计算R通道中每个灰度指数各自对应的像素点的数量值、G通道中每个灰度 指数各自对应的像素点的数量值及B通道中每个灰度指数各自对应的像素点的数量。同时 相应的,所述目标灰度指数确定模块403中利用的预设像素点数量阈值可以为三个不同的 数值,分别与所述R、G、B三个通道对应;也可以设置同一个数值,所述同一个数值均与所述 R、G、B三个通道对应。
[0126]当是YUV颜色空间时,所述像素点获取模块402计算信号Y的每个灰度指数各自 对应的像素点的数量值。
[0127]当是LAB颜色空间时,所述像素点获取模块402计算信号L的每个灰度指数各自 对应的像素点的数量值。
[0128]请参阅图5,其示出了本申请提供的一种图像去雾装置另一实施例的部分结构示 意图,优选的,上述实施例的所述目标图像生成模块404可以通过以下方式实现:变换表生 成子模块501及目标图像生成子模块502。其中:
[0129]所述变换表生成子模块501,用于依据所述预设灰度指数变换算法及所述目标灰 度指数,生成灰度指数变换表;其中,所述灰度指数变换表中包含有所述图像的各个灰度指 数对应的变换灰度指数。
[0130]其中,所述变换表生成子模块501生成的所述灰度指数变换表的大小与所述图像 的灰度指数个数有关。具体的,所述灰度指数变换表的行数为一行,列数为所述图像的灰度 指数总个数,列标识分别与各个灰度指数相对应。例如,灰度指数变换表有256列,列标识 分别对应从〇开始至255的各个灰度指数。
[0131]所述变换表生成子模块501生成的所述灰度指数变换表中包含的是所述图像的 各个灰度指数对应的变换灰度指数。其中,所述变换灰度指数是利用所述预设灰度指数变 换算法生成的,即将所述各个灰度指数作为所述灰度指数变换算法中的自变量,生成所述 灰度指数对应的变换灰度指数。具体的,所述变换表生成子模块501获取所述图像的各个 灰度指数,并依次生成对应的变换灰度指数,从而建立所述灰度指数变换表。例如,灰度指 数30对应的变换灰度指数为0,80对应的变换灰度指数为3。
[0132]所述目标图像生成子模块502,用于依据所述灰度指数变换表,将所述图像中的各 个像素点对应的灰度指数变换为与其对应的变换灰度指数,以生成去雾后的目标图像。
[0133]所述目标图像生成子模块502的变换过程可以为,遍历所述图像的各个像素点, 进而获得所述各个像素点对应的灰度指数,在所述灰度指数变换表中查找该灰度指数对应 变换灰度指数,并将该像素点的灰度指数变换为其对应的所述变换灰度指数,从而生成去 雾后的目标图像,达到去雾效果。例如,将30变换为0,将80变换为30。
[0134] 由以上的技术方案可知,本实施例提供的一种图像去雾装置,将所述各个灰度指 数利用预设灰度指数变换算法,生成对应的变换灰度指数,从而生成灰度指数变换表。在对 所述图像进行去雾处理时,在所述灰度指数变换表进行查找,获得所述图像的各个像素点 的灰度指数对应的变换灰度指数。由于所述图像中多个像素点可对应同一灰度指数,若进 行去雾处理时,直接利用去雾算法生成所述各个像素点对应的变换灰度指数,计算量为像 素点的总个数,而本实施例中的计算量为灰度指数的个数,由此可见,本实施例的装置可有 效地降低计算量。
[0135] 请参阅图6,其提供了一种图像去雾装置又一实施例的部分结构示意图,所述变换 表生成子模块依据的所述预设灰度指数变换算法包括第一预设变换算法及第二预设变换 算法;其中,所述第一变换算法与所述图像中的第一灰度指数对应,所述第二变换算法与所 述图像中的第二灰度指数对应;则上述实施例变换表生成子模块501可以通过以下方式实 现:灰度指数区分单元601、第一变换灰度指数生成单元602、第二变换灰度指数生成单元 603及灰度指数变换表生成单元604。其中:
[0136] 所述灰度指数区分单元601,用于将所述图像的各个灰度指数中小于所述目标灰 度指数的灰度指数确定为第一灰度指数,并将大于等于所述目标灰度指数的灰度指数确定 为第二灰度指数。
[0137] 例如,所述目标灰度指数为77,所述图像的各个灰度指数为从0至255,则将0至 76的灰度指数确定为第一灰度指数,将77至255的灰度指数确定为第二灰度指数。
[0138] 所述第一变换灰度指数生成单元602,用于依据所述第一预设变换算法,生成所述 每个第一灰度指数各自对应的第一变换灰度指数;其中,所述第一变换灰度指数为0。
[0139] 其中,所述第一预设变换算法为将所述第一灰度指数变换为0,所述0为所述第一 变换灰度指数。
[0140] 所述第二变换灰度指数生成单元603,用于依据所述第二预设变换算法,生成所述 每个第二灰度指数各自对应的第二变换灰度指数。
[0141] 可选的,所述第二预设变换算法可以为所述各个第二灰度指数与所述目标灰度指 数的差值,即i_T;也可以为所述差值与预设数值的乘积,S卩
。其中,i为各个 第二灰度指数,T为目标灰度 指数,所述预设数值^
「与所述图像的灰度指数相关,即N为 所述图像的灰度指数的总个数,如255。具体的,所述第二变换灰度指数生成单元603可以 包括:
[0142]目标灰度指数获取子单元,用于获取所述目标灰度指数;
[0143] 差值生成子单元,用于依次生成所述各个第二灰度指数与所述目标灰度指数的差 值;
[0144] 第二变换灰度指数确定子单元,用于将所述各个差值或所述各个差值与目标系数 的乘积分别确定为所述每个第二灰度指数各自对应的第二变换灰度指数。
[0145] 当然,所述第二预设变换算法包括但不限定于上述算法。
[0146] 所述灰度指数变换表生成单元604,用于依据所述第一变换灰度指数及所述第二 变换灰度指数,生成灰度指数变换表。
[0147] 具体的,所述灰度指数变换表生成单元604生成所述灰度指数变换表的过程为, 建立所述各个第一灰度指数与其对应的第一变换灰度指数之间的对应关系,并建立所述各 个第二灰度指数与其对应的第二变换灰度指数之间的对应关系。例如,所述灰度指数变换 表部分对应关系请参见表1。
[0148] 其中,所述表1中的各个灰度指数可以为所述表1的列标识,即通过所述列的列标 识表示各个灰度指数,从而减少表格的存储容量,减少存储空间。
[0149] 从上述本实施例的方案可知,本实施例中的灰度指数变换算法使用乘除减等简单 的数学运算方法,相比于现有技术中使用极限求解最小值及矩阵求逆等算法,有效地减小 了运算量。
[0150] 上述各个实施例还可以包括:保存模块。
[0151] 所述保存模块,与所述目标图像生成模块相连接,用于在生成去雾后的目标图像 之后,对所述去雾后的目标图像进行保存。
[0152] 其中,保存的装置可以是硬盘、光盘、移动存储装置等。
[0153] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重 点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0154] 以上对本发明所提供的一种图像去雾方法及装置进行了详细介绍,对所公开的实 施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修 改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离 本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所 示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【主权项】
1. 一种图像去雾方法,其特征在于,包括: 获取包含有多个像素点的图像;其中,所述图像具有多个灰度指数,所述灰度指数为依 次增大的自然数; 获取所述每个灰度指数各自对应的像素点的数量值; 从最小的灰度指数开始,依次获得各个灰度指数对应的像素点累积数,直至灰度指数 对应的像素点累积数大于或等于预设像素点数量阈值,将所述灰度指数确定为目标灰度指 数;其中,灰度指数对应的像素点累积数为所述灰度指数及其之前所有的灰度指数对应的 像素点数量值的和值; 依据所述预设灰度指数变换算法及所述目标灰度指数,对所述图像中的各个像素点的 灰度指数进行变换,以生成去雾后的目标图像。2. 根据权利要求1所述的方法,其特征在于,所述依据所述预设灰度指数变换算法及 所述目标灰度指数,对所述图像中的各个像素点的灰度指数进行变换,以生成去雾后的目 标图像,包括: 依据所述预设灰度指数变换算法及所述目标灰度指数,生成灰度指数变换表;其中,所 述灰度指数变换表中包含有所述图像的各个灰度指数对应的变换灰度指数; 依据所述灰度指数变换表,将所述图像中的各个像素点对应的灰度指数变换为与其对 应的变换灰度指数,以生成去雾后的目标图像。3. 根据权利要求2所述的方法,其特征在于,所述预设灰度指数变换算法包括第一预 设变换算法及第二预设变换算法;其中,所述第一变换算法与所述图像中的第一灰度指数 对应,所述第二变换算法与所述图像中的第二灰度指数对应; 其中,所述依据预设灰度指数变换算法及所述目标灰度指数,生成灰度指数变换表,包 括: 将所述图像的各个灰度指数中小于所述目标灰度指数的灰度指数确定为第一灰度指 数,并将大于等于所述目标灰度指数的灰度指数确定为第二灰度指数; 依据所述第一预设变换算法,生成所述每个第一灰度指数各自对应的第一变换灰度指 数;其中,所述第一变换灰度指数为〇 ; 依据所述第二预设变换算法,生成所述每个第二灰度指数各自对应的第二变换灰度指 数; 依据所述第一变换灰度指数及所述第二变换灰度指数,生成灰度指数变换表。4. 根据权利要求3所述的方法,其特征在于,所述预设第二预设变换算法中包括所述 目标灰度指数; 其中,所述依据所述第二预设变换算法,生成所述每个第二灰度指数各自对应的第二 变换灰度指数,包括: 获取所述目标灰度指数; 依次生成所述各个第二灰度指数与所述目标灰度指数的差值; 将所述各个差值或所述各个差值与预设数值的乘积分别确定为所述每个第二灰度指 数各自对应的第二变换灰度指数。5. 根据权利要求1至4任意一项所述的方法,其特征在于,在依据所述预设灰度指数变 换算法及所述目标灰度指数,对所述图像中的各个像素点的灰度指数进行变换,以生成去 雾后的目标图像之后,还包括: 对所述去雾后的目标图像进行保存。6. -种图像去雾装置,其特征在于,包括: 图像获取模块,用于获取包含有多个像素点的图像;其中,所述图像具有多个灰度指 数,所述灰度指数为依次增大的自然数; 像素点获取模块,用于获取所述每个灰度指数各自对应的像素点的数量值; 目标灰度指数确定模块,用于从最小的灰度指数开始,依次获得各个灰度指数对应的 像素点累积数,直至灰度指数对应的像素点累积数大于或等于预设像素点数量阈值,将所 述灰度指数确定为目标灰度指数;其中,灰度指数对应的像素点累积数为所述灰度指数及 其之前所有的灰度指数对应的像素点数量值的和值; 目标图像生成模块,用于依据所述预设灰度指数变换算法及所述目标灰度指数,对所 述图像中的各个像素点的灰度指数进行变换,以生成去雾后的目标图像。7. 根据权利要求6所述的装置,其特征在于,所述目标图像生成模块,包括: 变换表生成子模块,用于依据所述预设灰度指数变换算法及所述目标灰度指数,生成 灰度指数变换表;其中,所述灰度指数变换表中包含有所述图像的各个灰度指数对应的变 换灰度指数; 目标图像生成子模块,用于依据所述灰度指数变换表,将所述图像中的各个像素点对 应的灰度指数变换为与其对应的变换灰度指数,以生成去雾后的目标图像。8. 根据权利要求7所述的装置,其特征在于,所述变换表生成子模块依据的所述预设 灰度指数变换算法包括第一预设变换算法及第二预设变换算法;其中,所述第一变换算法 与所述图像中的第一灰度指数对应,所述第二变换算法与所述图像中的第二灰度指数对 应; 其中,所述变换表生成子模块,包括: 灰度指数区分单元,用于将所述图像的各个灰度指数中小于所述目标灰度指数的灰度 指数确定为第一灰度指数,并将大于等于所述目标灰度指数的灰度指数确定为第二灰度指 数; 第一变换灰度指数生成单元,用于依据所述第一预设变换算法,生成所述每个第一灰 度指数各自对应的第一变换灰度指数;其中,所述第一变换灰度指数为〇 ; 第二变换灰度指数生成单元,用于依据所述第二预设变换算法,生成所述每个第二灰 度指数各自对应的第二变换灰度指数; 灰度指数变换表生成单元,用于依据所述第一变换灰度指数及所述第二变换灰度指 数,生成灰度指数变换表。9. 根据权利要求8所述的装置,其特征在于,所述变换表生成子模块依据的所述第二 预设变换算法中包括所述目标灰度指数; 其中,所述第二变换灰度指数生成单元包括: 目标灰度指数获取子单元,用于获取所述目标灰度指数; 差值生成子单元,用于依次生成所述各个第二灰度指数与所述目标灰度指数的差值; 第二变换灰度指数确定子单元,用于将所述各个差值或所述各个差值与目标系数的乘 积分别确定为所述每个第二灰度指数各自对应的第二变换灰度指数。10.根据权利要求6至9任意一项所述的装置,其特征在于,还包括: 保存模块,用于在生成去雾后的目标图像之后,对所述去雾后的目标图像进行保存。
【专利摘要】本申请公开了一种图像去雾方法及装置,该方法利用求和运算确定目标灰度值,依据该目标灰度值对所述图像中的各个像素点的灰度指数进行相应变换,从而生成去雾后的目标图像。与现有技术中利用极限函数的最小值求解、矩阵求逆等复杂数学运算生成去雾函数,依据该去雾函数对图像像素点进行处理相比,本申请提供的方案有效地降低了运算量,可应用于各种嵌入式设备,具有较高的应用性。
【IPC分类】G06T5/00
【公开号】CN104899833
【申请号】CN201410083832
【发明人】谢鹏鹤, 王彦飞, 胡胜发
【申请人】安凯(广州)微电子技术有限公司
【公开日】2015年9月9日
【申请日】2014年3月7日

最新回复(0)