图像增强方法、装置、计算机装置及可读存储介质
技术领域
本发明涉及机器视觉技术领域,具体涉及一种基于图像全局的消除光照影响的图像增强方法、装置、计算机装置及计算机可读存储介质。
背景技术
在图像处理领域中,基于视觉的目标检测与跟踪必要且关键的一步是从图像中提取目标的信息,例如目标的轮廓、位置等,但是因为拍摄图像的可见光摄像头成像时会受到光照的影响,光照过强和过弱均会导致目标信息提取缺失或失败。因此,消除光照影响是基于视觉的目标检测和跟踪的非常关键和必要的一个问题。
发明内容
鉴于以上内容,有必要提出一种图像增强方法、装置、计算机装置及计算机可读存储介质,能够消除光照对图像中目标检测和跟踪的影响。
本申请的第一方面提供一种图像增强方法,所述方法包括:
获取原始图像,并将所述原始图像转换到HSV颜色空间;
由转换得到的HSV颜色空间的图像获取V通道图像,对所述V通道图像进行去平均化;
对所述去平均化后的V通道图像进行直方图均衡化;
对所述经过直方图均衡化后的V通道图像进行黑白二值化;
输出所述黑白二值化后的图像以进行图像中的目标检测。
优选地,对所述V通道图像去平均化的方法包括:
计算所述V通道图像中所有像素点的像素平均值;
将每个像素点的像素值与所述像素平均值进行比较,判断每个像素点的像素值是否小于等于所述像素平均值;
若像素点的像素值小于等于所述像素平均值,则将所述像素点的像素值设置为零;以及
若像素点的像素值大于所述像素平均值,则所述像素点的像素值保持不变。
优选地,对所述去平均化后的V通道图像进行直方图均衡化的方法包括:
统计所述去平均化后的V通道图像中每个像素值出现的次数,计算归一化后的概率统计Pi,其中,Pi通过如下公式计算得到:
其中,ni表示像素值i在所述V通道图像中出现的次数,N表示所述V通道图像中所有像素个数的总和;
计算所述去平均化后的V通道图像中像素值的累积分布Sk,其中,所述累积分布Sk通过如下公式计算得到:
其中,k的取值范围为[0,255];
根据所述像素值的累积分布重新设置每个像素点的像素值,其中,调整所述像素值依据如下公式执行:
Vnew=Si×gray_max
其中,gray_max为灰度最大值,i为0到灰度最大值gray_max之间的像素值,Si代表此像素值对应的累积分布,Vnew为经过调整后的新的像素值。
优选地,对所述经过直方图均衡化后的V通道图像进行黑白二值化的方法包括:
判断每个像素点的像素值是否大于一预设阈值;
若像素值大于所述预设阈值,则将所述像素值设置为255;
若像素值小于所述预设值,则将所述像素值设置为0。
优选地,所述预设阈值为去平均化后的像素平均值。
优选地,所述预设阈值为直方图均衡化后的像素平均值。
本申请的第二方面提供一种图像增强装置,所述装置包括:图像转换模块,用于获取原始图像,并将所述原始图像转换到HSV颜色空间;
去平均化模块,用于由转换得到的HSV颜色空间的图像获取V通道图像,对所述V通道图像进行去平均化;
直方图均衡化模块,用于对所述去平均化后的V通道图像进行直方图均衡化;
黑白二值化模块,用于对所述经过直方图均衡化后的V通道图像进行黑白二值化;
图像输出模块,用于输出所述黑白二值化后的图像来进行图像中的目标检测。
本申请的第三方面提供一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述图像增强方法。
本申请的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述图像增强方法。
本发明通过对图像进行转换、去平均化、直方图均衡化等预处理增强图像边缘信息,突出目标主体,消除光照对图像的影响,有助于目标信息的检测和跟踪。
附图说明
图1是本发明一个实施例提供的图像增强方法的流程图。
图2是本发明一个实施例提供的原始图像。
图3是将图2中所示的原始图像转换到HSV颜色空间后的V通道图像。
图4是将图3中的V通道图像进行去平均化后的V通道图像。
图5是将图4中去平均化后的V通道图像进行直方图均衡化后的V通道图像。
图6是将图5中直方图均衡化后的V通道图像进行黑白二值化后的图像。
图7是本发明一个实施例提供的图像增强装置的结构图。
图8是本发明一个实施例提供的计算机装置的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
优选地,本发明的图像增强方法应用在一个或者多个计算机装置中。所述计算机装置是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于处理器、外部存储介质、内存等。
所述计算机装置可以是,但不限于,台式计算机、笔记本电脑、云端服务器、智能手机等设备。所述计算机装置可以与用户通过键盘、鼠标、遥控器、触摸板、手势识别设备、声控设备等方式进行人机交互。
实施例一
图1是本发明实施例一提供的图像增强的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。为了便于说明,仅示出了与本发明实施例相关的部分。
如图1所示,所述图像增强方法具体包括以下步骤:
步骤S1、获取待处理的原始图像,并将原始图像转换到HSV颜色空间。
HSV颜色空间是一种直观的颜色模型,广泛应用在图像编辑中。HSV颜色空间中包括色调(Hue),饱和度(Saturation),亮度(Value)三个分量。其中色调用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°,它们的补色是:黄色为60°,青色为180°,品红为300°。饱和度S表示颜色接近光谱色的程度,饱和度越高,颜色则深而艳。亮度表示颜色明亮的程度。
在本实施方式中,所述原始图像的颜色空间可以是但不限于RGB、YUV等。
在一个实施方式中,当所述原始图像的颜色空间为RGB时,通过如下方法将所述原始图像由RGB颜色空间转换到HSV颜色空间:设RGB颜色空间的原始图像中每个像素点对应的RGB值为(r,g,b),转换到HSV颜色空间后对应的HSV值为(h,s,v),利用如下公式进行RGB颜色空间到HSV颜色空间的转换:
其中,max为r、g、b中的最大值,min为r、g、b中的最小值:
v=max。
在另一实施方式中,当所述原始图像的颜色空间为RGB时,还可以通过多元多重回归方程或神经网络转换模型将所述原始图像由RGB颜色空间转换到HSV颜色空间。通过多元多重回归方程或神经网络转换模型将原始图像由RGB颜色空间转换为HSV颜色空间为现有技术,在此不再赘述。
在其他实施方式中,当所述原始图像的颜色空间为YUV时,先将所述原始图像由YUV颜色空间转换到RGB颜色空间,然后再由RGB颜色空间转换到HSV颜色空间,其中通过如下方法由YUV颜色空间转到RGB颜色空间:
R=Y+1.402*(V-128);
G=Y–0.344*(U-128)–0.714*(V-128);
B=Y+1.772*(U-128);
得到RGB值后,然后再按照如前所述的RGB转HSV的方法将图像由RGB颜色空转换为HSV颜色空间。
举例而言,假如图2所示为待处理的RGB颜色空间的原始图像,所述原始图像是中包括检测目标为黑白棋盘格O。将所述图2中的原始图像由RGB颜色空间转换到HSV颜色空间,图3所示的为经过转换后的V通道图像。
步骤S2、由转换得到的HSV颜色空间的图像获取V通道图像,对所述V通道图像进行去平均化。
具体地,对V通道图像去平均化的方法包括:
1)计算V通道图像中的像素平均值;
计算V通道图像的像素平均值通过如下方法实现:获取V通道图像所有像素点的像素值,再将所有像素值加总后除以像素总数,得到V通道图像中所有像素的平均值image_mean;
2)将每个像素点的像素值v与所述像素平均值image_mean进行比较,判断每个像素点的像素值v是否小于等于所述像素平均值image_mean;
3)若像素点的像素值v小于等于所述像素平均值image_mean,则将所述像素点的像素值v设置为零;以及
4)若像素点的像素值v大于所述像素平均值image_mean,则所述像素点的像素值保持不变;
即,对V通道图像进行去平均化后的得到的V通道图像中像素点的像素值V1可以表示为:
举例而言,继续以如前所述的图像进行说明,本例中原始图像中的检测目标是黑白格的棋盘,由黑白两种极端的颜色组成,在光照较暗的条件下棋盘中白色部分会变成灰色,在光照很亮的情况下棋盘中黑色部分变亮为偏白色,因此需要对图像进行增强,突出目标。通过对图3中V通道图像进行去平均化得到图4中去平均化后V通道图像,将黑色部分在光照亮和暗的情况下均变为纯黑色,可以突出检测目标。
步骤S3、对所述去平均化后的V通道图像进行直方图均衡化。
具体地,对所述去平均化后的V通道图像进行直方图均衡化的方法包括:
1)统计所述去平均化后的V通道图像中每个像素值出现的次数,计算归一化后的概率统计Pi,其中,Pi通过如下公式计算得到:
其中,ni表示像素值i在所述V通道图像中出现的次数,N表示所述V通道图像中所有像素个数的总和;
2)计算所述去平均化后的V通道图像中像素值的累积分布Sk,其中,所述累积分布Sk通过如下公式计算得到:
其中,k的取值范围为[0,255];
3)根据所述像素值的累积分布重新设置每个像素点的像素值,其中,调整所述像素值依据如下公式执行:
Vnew=Si×gray_max
其中,gray_max为灰度最大值,i为0到灰度最大值gray_max之间的像素值,Si代表此像素值对应的累积分布,Vnew为经过调整后的新的像素值。
本实施方式中,所述灰度最大值取值为255。其他实施方式中,所述灰度最大值可根据需要设置为0到255区间内的其他值。
举例而言,继续以如前所述的图像进行举例说明,对V通道图像去平均化后,得到的所述图4中的V通道图像中黑色部分变为纯黑色,白色部分仍然为原始颜色。通过所述直方图均衡化后得到图5所示的直方图均衡化图像,增加了图像的全局对比度,尤其是当图像中有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。
步骤S4、对所述经过直方图均衡化后的V通道图像进行黑白二值化。
具体地,对所述经过直方图均衡化后的V通道图像进行黑白二值化的方法包括:
判断每个像素点的像素值是否大于一预设阈值;
若像素值大于所述预设阈值,则将所述像素值设置为255;
若像素值小于所述预设值,则将所述像素值设置为0。
在本发明一个实施方式中,所述预设阈值为去平均化后的像素平均值。
在本发明另一个实施方式中,所述预设阈值为直方图均衡化后的像素平均值。
在本发明其他实施方式中,所述预设阈值可以根据场景进行人工设置并预先存储在预设存储位置的。
举例而言,继续以如前所述的图像进行说明,对图5所示的直方图均衡化后的V通道图像进行黑白二值化后,得到图6所述的黑白二值化后的图像,所述黑白二值化后的图像中减少了干扰,作为待检测目标的黑白棋盘格更加突出,方便目标检测。
步骤S5、输出所述黑白二值化后的V通道图像,所述输出的黑白二值化后的V通道图像用于目标检测。
本发明提供的图像增强方法,通过转换、去平均化、直方图均衡化等预处理,对图像进行了增强,从而使目标更加突出,消除光照对目标检测的影响。
实施例二
图7为本发明实施例二提供的图像增强装置的结构图,为了方便说明,仅示出了与本发明实施例相关的部分,详述如下。
参考图7,图像增强装置100根据其所执行的功能,可以被划分为多个功能模块,所述各个功能模块用于执行图1对应实施例中的各个步骤,以实现对图像增强的功能。本发明实施例中,图像增强装置100的功能模块可以包括图像转换模块101、去平均化模块102、直方图均衡化模块103、黑白二值化模块104以及图像输出模块105。各个功能模块的功能将在下面的实施例中进行详述。
所述图像转换模块101获取待处理的原始图像,并将原始图像转换到HSV颜色空间。
在本实施方式中,所述原始图像的颜色空间可以是但不限于RGB、YUV等。
在一个实施方式中,当所述原始图像的颜色空间为RGB时,所述图像转换模块101通过如下方法将所述原始图像由RGB颜色空间转换到HSV颜色空间:设RGB颜色空间的原始图像中每个像素点对应的RGB值为(r,g,b),转换到HSV颜色空间后对应的HSV值为(h,s,v),利用如下公式进行RGB颜色空间到HSV颜色空间的转换:
其中,max为r、g、b中的最大值,min为r、g、b中的最小值:
v=max。
在另一实施方式中,当所述原始图像的颜色空间为RGB时,所述图像转换模块101还可以通过多元多重回归方程或神经网络转换模型将所述原始图像由RGB颜色空间转换到HSV颜色空间。通过多元多重回归方程或神经网络转换模型将原始图像由RGB颜色空间转换为HSV颜色空间为现有技术,在此不再赘述。
在其他实施方式中,当所述原始图像的颜色空间为YUV时,所述图像转换模块101先将所述原始图像由YUV颜色空间转换到RGB颜色空间,然后再由RGB颜色空间转换到HSV颜色空间,其中通过如下方法由YUV颜色空间转到RGB颜色空间:
R=Y+1.402*(V-128);
G=Y–0.344*(U-128)–0.714*(V-128);
B=Y+1.772*(U-128);
所述图像转换模块101得到RGB值后,然后再按照如前所述的RGB转HSV的方法将图像由RGB颜色空转换为HSV颜色空间。
所述去平均化模块102用于由转换得到的HSV颜色空间的图像获取V通道图像,对所述V通道图像进行去平均化。
具体地,所述去平均化模块102对V通道图像去平均化的方法包括:
1)计算V通道图像中的像素平均值;
计算V通道图像的像素平均值通过如下方法实现:获取V通道图像所有像素点的像素值,再将所有像素值加总后除以像素总数,得到V通道图像中所有像素的平均值image_mean;
2)将每个像素点的像素值v与所述像素平均值image_mean进行比较,判断每个像素点的像素值v是否小于等于所述像素平均值image_mean;
3)若像素点的像素值v小于等于所述像素平均值image_mean,则将所述像素点的像素值v设置为零;
4)若像素点的像素值v大于所述像素平均值image_mean,则所述像素点的像素值保持不变;
即,对V通道图像进行去平均化后的得到的V通道图像中像素点的像素值V1可以表示为:
所述直方图均衡化模块103用于对所述去平均化后的V通道图像进行直方图均衡化。
具体地,所述直方图均衡化模块103对所述去平均化后的V通道图像进行直方图均衡化的方法包括:
1)统计所述去平均化后的V通道图像中每个像素值出现的次数,计算归一化后的概率统计Pi,其中,Pi通过如下公式计算得到:
其中,ni表示像素值i在所述V通道图像中出现的次数,N表示所述V通道图像中所有像素个数的总和;
2)计算所述去平均化后的V通道图像中像素值的累积分布Sk,其中,所述累积分布Sk通过如下公式计算得到:
其中,k的取值范围为[0,255];
3)根据所述像素值的累积分布重新设置每个像素点的像素值,其中,调整所述像素值依据如下公式执行:
Vnew=Si×gray_max;
其中,gray_max为灰度最大值,i为0到灰度最大值gray_max之间的像素值,Si代表此像素值对应的累积分布,Vnew为经过调整后的新的像素值。
本实施方式中,所述灰度最大值取值为255。其他实施方式中,所述灰度最大值可根据需要设置为0到255区间内的其他值。
所述黑白二值化模块104用于对所述经过直方图均衡化后的V通道图像进行黑白二值化。
具体地,所述黑白二值化模块104对所述经过直方图均衡化后的V通道图像进行黑白二值化的方法包括:
判断每个像素点的像素值是否大于一预设阈值;
若像素值大于所述预设阈值,则将所述像素值设置为255;
若像素值小于所述预设值,则将所述像素值设置为0。
在本发明一个实施方式中,所述预设阈值为去平均化后的像素平均值。
在本发明另一个实施方式中,所述预设阈值为直方图均衡化后的像素平均值。
在本发明其他实施方式中,所述预设阈值可以根据场景进行人工设置并预先存储在预设存储位置的。
所述图像输出模块105用于输出所述黑白二值化后的V通道图像,所述输出黑白二值化后的V通道图像用于目标检测。
实施例三
图8为本发明实施例三提供的计算机装置的示意图。所述计算机装置1包括存储器20、处理器30以及存储在所述存储器20中并可在所述处理器30上运行的计算机程序40,例如图像增强程序。所述处理器30执行所述计算机程序40时实现上述图像增强方法实施例中的步骤,例如图1所示的步骤S1~S5。或者,所述处理器30执行所述计算机程序40时实现上述装置实施例中各模块/单元的功能,例如图7中的模块101~105。
示例性的,所述计算机程序40可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器20中,并由所述处理器30执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序40在所述计算机装置1中的执行过程。例如,所述计算机程序40可以被分割成图7中的图像转换模块101、去平均化模块102、直方图均衡化模块103、黑白二值化模块104以及图像输出模块105,各模块具体功能参见实施例二。
所述计算机装置1可以是台式计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,所述示意图8仅仅是计算机装置1的示例,并不构成对计算机装置1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机装置1还可以包括输入输出设备、网络接入设备、总线等。
所称处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以包括其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器30是所述计算机装置1的控制中心,利用各种接口和线路连接整个计算机装置1的各个部分。
所述存储器20可用于存储所述计算机程序40和/或模块/单元,所述处理器30通过运行或执行存储在所述存储器20内的计算机程序和/或模块/单元,以及调用存储在存储器20内的数据,实现所述计算机装置1的各种功能。所述存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机装置1的使用所创建的数据(比如音频数据、电话本等)等。存储器20可以包括外部存储介质,也可以包括内存。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述计算机装置1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个实施例中,应该理解到,所揭露的计算机装置和方法,可以通过其它的方式实现。例如,以上所描述的计算机装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能单元可以集成在相同处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在相同单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。计算机装置权利要求中陈述的多个单元或计算机装置也可以由同一个单元或计算机装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。