一种基于直方图均衡化的图像数据去雾方法

文档序号:9376814阅读:1621来源:国知局
一种基于直方图均衡化的图像数据去雾方法
【技术领域】
[0001]本发明涉及一种对图像去雾技术,更具体地说,涉及一种基于直方图均衡化的图像数据去雾方法。
【背景技术】
[0002]现有技术的图像去雾的处理方法是基于暗原色先验的图像去雾技术,但该方法步骤复杂,效率较低,不利于在智能移动终端设备、低端配置的设备上应用。

【发明内容】

[0003]本发明的目的在于克服现有技术的不足,提供一种方法简单效果显著的基于直方图均衡化的图像数据去雾方法。
[0004]本发明的技术方案如下:
[0005]一种基于直方图均衡化的图像数据去雾方法,步骤如下:
[0006]I)获取待处理图像的RGB数据,并分离R、G、B三个通道;
[0007]2)统计R、G、B三个通道的直方图信息;
[0008]3)分别对R、G、B三个通道进行直方图均衡化;
[0009]4)将均衡化的R、G、B三个通道的直方图信息加载到RGB图像数据中,将RGB图像数据转换为原始格式图像数据,输出去雾图像。
[0010]作为优选,如果待处理图像为非RGB图像,则在步骤I)中,则先将待处理图像转成RGB图像,再进行获取待处理图像的RGB数据,并分离R、G、B三个通道。
[0011]作为优选,步骤2)具体为:
[0012]2.1)分别预设R、G、B三个通道中最暗部分将被变平化的数量minFlatten,以及最亮部分将被变平化的数量maxFlatten ;
[0013]2.2)统计各自通道的直方图信息,建立直方图统计表。
[0014]2.3)分别根据R、G、B三个通道的minFlatten和maxFlatten以及直方图统计表,计算得出相应通道将被均衡化的最小像素值minPixels,以及最大像素值maxPixels。
[0015]作为优选,步骤2.1)具体为:
[0016]2.1.1)分别判断R、G、B三个通道中的值是否小于对应minPixels的像素,如果存在,则将该值赋值为对应minPixels的像素;
[0017]2.1.2)分别判断R、G、B三个通道中的值是否大于对应maxPixels的像素,如果存在,则将该值赋值为对应的maxPixels。
[0018]作为优选,步骤2.2)中,直方图统计表为内存中的一个具有256个长度的整形数组。
[0019]作为优选,步骤2.3)计算R、G、B三个通道将被均衡化的最小像素值minPixels,以及最大像素值maxPixels具体为:
[0020]2.3.1)将直方图统计表,转换为累计直方图表;
[0021]2.3.2)从直方图数组下标为O的位置开始向前遍历累计直方图表,搜索第一个大于minFlatten的索引值作为minPixles值;
[0022]2.3.3)从直方图数组下标为255的位置开始向后遍历累计直方图表,搜索第一个小于(size - maxFlatten)的索引值作为maxPixels值,其中size为通道大小。
[0023]作为优选,步骤1.3.1)具体为:
[0024]2.3.1.1)从直方图整形数组中下标为O的位置开始将该位置的值加到下标为I的位置;
[0025]2.3.1.2)将下标为I的位置的值加到下标为2的位置;
[0026]2.3.1.3)循环步骤2.3.1.1)、步骤2.3.1.2),直到下标值为255,完成直方图统计表转换为累计直方图表。
[0027]作为优选,步骤3)具体为:
[0028]3.1)预设各自通道均衡化的最小目标值minTarget和最大目标值maxTarget ;
[0029]3.2)分别将R、G、B三个通道中,介于minPixels和maxPixels的像素的值均勻映身寸为 minTarget 和 maxTarget。
[0030]作为优选,步骤3.2)具体为:
[0031]3.2.1)遍历 minPixels 和 maxPixels 范围内的值;
[0032]3.2.2)在 minPixels 和 maxPixels 范围内,逐个映射。
[0033]作为优选,步骤3.2.1)的实现具体如下:
[0034]Float scale = (float) (maxTarget-minTarget)/ (float)(maxPixels-minPixels);
[0035]步骤3.2.2)的实现具体如下:
[0036]for (i = minPixels ;i〈maxPixels ;i++)
[0037]Int targetl = (unsigned char)((1-minPixels)氺scale+minTarget);
[0038]其中,targetl即是位于minPixels和maxPixels范围内的任意值i的映射结果。
[0039]本发明的有益效果如下:
[0040]本发明所述的图像数据去雾方法,基于直方图均衡化,所述的方法整体步骤简单,并且容易实现。所述的方法对应的程序量少,执行效率高,即使在运算速率较低的智能移动终端设备、低端配置的设备上,也可以很顺畅地进行使用。
【附图说明】
[0041]图1是待处理图像;
[0042]图2是经本发明所述的方法处理后的去雾图像的效果图像。
【具体实施方式】
[0043]以下结合附图及实施例对本发明进行进一步的详细说明。
[0044]—种基于直方图均衡化的图像数据去雾方法,用于如图1所示的存在雾化的待处理图像(宽度为704,高度为528)的去雾处理,步骤如下:
[0045]I)获取待处理图像的RGB数据,并分离R、G、B三个通道;
[0046]2)统计R、G、B三个通道的直方图信息;
[0047]3)分别对R、G、B三个通道进行直方图均衡化;
[0048]4)将均衡化的R、G、B三个通道的直方图信息加载到RGB图像数据中,将RGB图像数据转换为原始格式图像数据,输出去雾图像,去雾效果如图2所示。
[0049]为了提高图像的适用范围,本发明在进行去雾处理前,先检索待处理图像是否为RGB图像,如果待处理图像为非RGB图像,则在步骤I)中,则先将待处理图像转成RGB图像,再进行获取待处理图像的RGB数据,并分离R、G、B三个通道。本实施例中导入的图像为RGB数据,则无需转换。
[0050]本实施例中,步骤2)具体为:
[0051]2.1)分别预设R、G、B三个通道中最暗部分将被变平化的数量minFlatten为1858,以及最亮部分将被变平化的数量maxFlatten为1858。本实施例中,R、G、B三个通道的minFlatten加maxFlatten的总和不能大于各自通道的大小,否则视为无效值。
[0052]步骤2.1)具体为:
[0053]2.1.1)分别判断R、G、B三个通道中的值是否小于对应minPixels的像素,如果存在,则将该值赋值为对应minPixels的像素;
[0054]2.1.2)分别判断R、G、B三个通道中的值是否大于对应maxPixels的像素,如果存在,则将该值赋值为对应的maxPixels。
[0055]2.2)统计各自通道的直方图信息,建立直方图统计表。
[0056]步骤2.2)中,直方图统计表为内存中的一个具有256个长度的整形数组。本实施例中,用一个256大小的整形数组来保存直方图信息。
[0057]2.3)分别根据R、G、B三个通道的minFlatten和maxFlatten以及直方图统计表,计算得出相应通道将被均衡化的最小像素值minPixels,以及最大像素值maxPixels。
[0058]本实施例中,红色通道的minPixels为94, maxPixels为244 ;绿色通道的minPixels 为 93, maxPixels 为 240 ;蓝色通道的 minPixels 为 82, maxPixels 为 236。
[0059]步骤2.3)计
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1