一种图像处理方法、装置及设备、存储介质与流程

文档序号:22243677发布日期:2020-09-15 19:59阅读:112来源:国知局
一种图像处理方法、装置及设备、存储介质与流程

本发明涉及图像处理技术领域,尤其涉及的是一种图像处理方法、装置及设备、存储介质。



背景技术:

在道路交通监控中,需要采集车辆图像以对过往车辆进行监控,车牌作为车辆最为重要的标识而受到特别的关注,即车牌区域是从采集的图像中提取场景信息时最为关注的几个区域之一,需要对采集的车辆图像中车牌区域进行单独的提取。图像中车牌区域的图像效果优劣影响到人们对图像整体质量的直观感受,同时也会影响到取证的成功率,因而需要对采集的图像进行处理,以提升图像中车牌区域的图像效果。

相关图像处理方式中,往往是在全局上对图像的进行图像处理比如色相、饱和度、明度等方面的提升,使得图像的整体效果得到优化。通常来说,车牌区域在图像中所占比例较小,车牌区域的图像效果容易受到抓拍场景的时空差异、光影变化的影响,车牌区域还包括底色、字符、边框等对象,不同对象受影响程度也不同。上述图像处理方式中,由于对图像进行整体处理,车牌区域的图像效果难以得到有效提升,同时难以避免地会影响到车牌区域之外的其他区域。



技术实现要素:

有鉴于此,本发明提供一种图像处理方法、装置及设备、存储介质,可对车牌区域进行针对性的颜色转换,提升车牌区域的图像效果,也可避免影响到车牌区域之外的其他区域。

本发明第一方面提供一种图像处理方法,包括:

从已采集的车辆图像中获取车牌所在的第一车牌区域;

将所述第一车牌区域中每一像素点的rgb颜色信息从当前的rgb色彩空间映射至hsl色彩空间得到hsl颜色信息;

依据所述第一车牌区域中各像素点的颜色信息从所述第一车牌区域中选择需要进行颜色转换的目标像素点;

对所述车辆图像的第一车牌区域中目标像素点的颜色进行转换得到第二车牌区域;

将第一车牌区域与第二车牌区域进行融合得到目标图像。

根据本发明的一个实施例,依据所述第一车牌区域中各像素点的颜色信息从所述第一车牌区域中选择需要进行颜色转换的目标像素点,包括:

针对所述第一车牌区域中的每一像素点,将该像素点的rgb颜色信息从当前的rgb色彩空间映射至hsl色彩空间得到hsl颜色信息,所述hsl颜色信息包括色相;检查该像素点的hsl颜色信息中的色相是否处于预设的色相区间内,如果是,确定该像素点为目标像素点。

根据本发明的一个实施例,对所述第一车牌区域中目标像素点的颜色进行转换包括:

针对每一目标像素点,确定所述第一车牌区域中该目标像素点待转换的目标颜色,将该目标像素点的颜色从当前颜色转换为所述目标颜色。

根据本发明的一个实施例,确定所述第一车牌区域中该目标像素点待转换的目标颜色包括:

在hsl色彩空间中确定与目标像素点的hsl颜色信息对应的目标栅格;

将目标栅格的至少一个顶点的颜色值确定为目标栅格颜色值;

根据目标栅格颜色值确定目标像素点待转换的目标颜色。

根据本发明的一个实施例,所述根据目标栅格颜色值确定目标像素点待转换的目标颜色,包括:

在预设的三维查找表3dlut中查找目标栅格颜色值对应的hsl色彩空间的参考颜色值;

对参考颜色值执行插值处理得到目标颜色值;

将目标颜色值从hsl色彩空间映射至rgb色彩空间;

确定rgb色彩空间的所述目标颜色值对应的颜色为所述目标颜色。

根据本发明的一个实施例,将所述车辆图像的第一车牌区域与第二车牌区域进行融合得到目标图像,包括:

计算第一车牌区域中每一像素点与第二车牌区域中相应位置的像素点进行融合后的融合颜色值;

将所述车辆图像的第一车牌区域中每一像素点的颜色值修改为其对应的融合颜色值。

根据本发明的一个实施例,所述计算第一车牌区域中每一像素点与第二车牌区域中相应位置的像素点进行融合后的融合颜色值包括:

遍历第一车牌区域,将遍历到的像素点确定为第一像素点;

确定第一车牌区域中第一像素点与第二车牌区域中相应位置的第二像素点进行融合时的第一融合权重;以及,确定第二车牌区域中第二像素点与第一车牌区域中相应位置的第一像素点进行融合时的第二融合权重;其中,第一像素点的位置越接近第一车牌区域的边界,则第一融合权重越大、第二融合权重越小;

计算第一车牌区域中第一像素点的当前颜色值与第一融合权重的乘积得到p1,计算第二车牌区域中第二像素点的当前颜色值与第二融合权重的乘积得到p2,将p1与p2之和确定为所述融合颜色值。

本发明第二方面提供一种图像处理装置,包括:

车牌区域获取模块,用于从已采集的车辆图像中获取车牌所在的第一车牌区域;

目标像素点确定模块,用于依据所述第一车牌区域中各像素点的颜色信息从所述第一车牌区域中选择需要进行颜色转换的目标像素点;

颜色转换模块,用于对所述第一车牌区域中目标像素点的颜色进行转换得到第二车牌区域;

图像融合模块,用于将所述车辆图像的第一车牌区域与第二车牌区域进行融合得到目标图像。

根据本发明的一个实施例,所述目标像素点确定模块依据所述第一车牌区域中各像素点的颜色信息从所述第一车牌区域中选择需要进行颜色转换的目标像素点时,具体用于:

针对所述第一车牌区域中的每一像素点,将该像素点的rgb颜色信息从当前的rgb色彩空间映射至hsl色彩空间得到hsl颜色信息,所述hsl颜色信息包括色相;检查该像素点的hsl颜色信息中的色相是否处于预设的色相区间内,如果是,确定该像素点为目标像素点。

根据本发明的一个实施例,颜色转换模块对所述第一车牌区域中目标像素点的颜色进行转换时,具体用于:

针对每一目标像素点,确定所述第一车牌区域中该目标像素点待转换的目标颜色,将该目标像素点的颜色从当前颜色转换为所述目标颜色。

根据本发明的一个实施例,所述颜色转换模块包括:

目标栅格确定单元,用于在hsl色彩空间中确定与目标像素点的hsl颜色信息对应的目标栅格;

目标栅格颜色值确定单元,用于将目标栅格的至少一个顶点的颜色值确定为目标栅格颜色值;

目标颜色确定单元,用于根据目标栅格颜色值确定目标像素点待转换的目标颜色。

根据本发明的一个实施例,所述目标颜色确定单元包括:

参考颜色值查找子单元,用于在预设的三维查找表3dlut中查找目标栅格颜色值对应的hsl色彩空间的参考颜色值;

插值处理子单元,用于对参考颜色值执行插值处理得到目标颜色值;

目标颜色值映射单元,用于将目标颜色值从hsl色彩空间映射至rgb色彩空间;

目标颜色确定子单元,用于确定rgb色彩空间的所述目标颜色值对应的颜色为所述目标颜色。

根据本发明的一个实施例,所述图像融合模块包括:

融合颜色值计算单元,用于计算第一车牌区域中每一像素点与第二车牌区域中相应位置的像素点进行融合后的融合颜色值;

颜色值修改单元,用于将所述车辆图像的第一车牌区域中每一像素点的颜色值修改为其对应的融合颜色值。

根据本发明的一个实施例,所述融合颜色值计算单元包括:

遍历子单元,用于遍历第一车牌区域,将遍历到的像素点确定为第一像素点;

融合权重确定子单元,用于确定第一车牌区域中第一像素点与第二车牌区域中相应位置的第二像素点进行融合时的第一融合权重;以及,确定第二车牌区域中第二像素点与第一车牌区域中相应位置的第一像素点进行融合时的第二融合权重;其中,第一像素点的位置越接近第一车牌区域的边界,则第一融合权重越大、第二融合权重越小;

融合颜色值确定子单元,用于计算第一车牌区域中第一像素点的当前颜色值与第一融合权重的乘积得到p1,计算第二车牌区域中第二像素点的当前颜色值与第二融合权重的乘积得到p2,将p1与p2之和确定为所述融合颜色值。

本发明第三方面提供一种电子设备,包括处理器及存储器;所述存储器存储有可被处理器调用的程序;其中,所述处理器执行所述程序时,实现如前述实施例所述的图像处理方法。

本发明第四方面提供一种机器可读存储介质,其上存储有程序,该程序被处理器执行时,实现如前述实施例所述的图像处理方法。

本发明实施例的有益效果:

本发明实施例中,可依据获取第一车牌区域中各像素点的颜色信息来确定需要进行颜色转换的目标像素点,只对目标像素点进行颜色转换,可对第一车牌区域进行针对性的颜色转换,比如可只针对第一车牌区域的车牌背景进行颜色转换,可使得第一车牌区域中车牌背景的色相、饱和度和明度更加符合人眼的视觉效果,对于由于抓拍场景的时空差异、光影变化等导致的车牌区域的图像效果退化有较好的改善,提升车牌区域的图像效果,同时可避免影响到车牌区域之外的其他区域,运行所需消耗的资源也较少。

附图说明

图1为本发明一实施例的图像处理方法的流程示意图;

图2为本发明一实施例的图像处理装置的结构框图;

图3为本发明一实施例中选择目标像素点并进行颜色转换的流程示意图;

图4为本发明一实施例中进行立方体差值处理时的立方体结构示意图;

图5为本发明一实施例的电子设备的结构框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

为了使得本发明的描述更清楚简洁,下面对本发明中的一些技术术语进行解释:

三维查找表:一种用简单的查询操作替代数值计算的查找表结构,需通过三元数组在三维查找表中查找对应的数据。

色彩空间:或者称颜色空间、彩色模型,以一维、二维、三维甚至四维空间坐标来表示颜色值,每个维度代表该颜色值的一个属性,这种坐标系统所能定义的色彩范围即色彩空间。常用的色彩空间有:rgb、hsl(色相hue、饱和度saturation、明度lightness)、cmyk、lab等。

本发明第一方面提供一种图像处理方法。下面对本发明实施例的图像处理方法进行更具体的描述,但不应以此为限。

在一个实施例中,参看图1,一种图像处理方法,包括以下步骤:

s100:从已采集的车辆图像中获取车牌所在的第一车牌区域;

s200:依据所述第一车牌区域中各像素点的颜色信息从所述第一车牌区域中选择需要进行颜色转换的目标像素点;

s300:对所述第一车牌区域中目标像素点的颜色进行转换得到第二车牌区域;

s400:将所述车辆图像的第一车牌区域与第二车牌区域进行融合得到目标图像。

本发明实施例的图像处理方法的执行主体为电子设备,该电子设备可以是计算机设备、嵌入式设备等。比如,电子设备可以是成像设备,可对采集的图像执行上述步骤s100~s500;或者,也可以是其他电子设备,可从成像设备上获取图像并对图像执行上述步骤s100~s500,具体不限,只要具有图像处理能力即可。

步骤s100中,从已采集的车辆图像中获取车牌所在的第一车牌区域。

该车辆图像可以是成像设备在道路场景中采集的图像,该道路场景中可以有来往的车辆,该车辆图像中可以包含至少一个存在车牌的车牌区域。优选来说,确定出的每个车牌区域中可存在一个车牌,当然也可以包含不止一个车牌。

可通过预设的车牌识别方式识别车辆图像中的车牌,确定出该车牌在车辆图像中的位置信息,依据确定出的位置信息确定车辆图像中的车牌区域,再从已采集的车辆图像中获取车牌所在的第一车牌区域。

由于车牌本身的形态呈矩形,因而车牌在车辆图像中的形态会呈四边形,四边形的具体形状可以通过调整相机的位置和姿态来改变,一般可以使车牌在车辆图像中呈现为平行四边形甚至是矩形,四边形的四个顶点的坐标可作为车牌在车辆图像中的位置信息,有了位置信息即可定位车辆图像中的车牌区域。

车牌识别方式比如包括:对车辆图像进行边缘检测以检测出边缘;边缘检测完成后,对车辆图像进行形态学处理比如膨胀腐蚀等,以去除检测出的边缘中的空洞;形态学处理完成后,搜索车辆图像中长宽比满足预设条件的四边形,将搜索到的四边形确定为车牌。长宽比满足预设条件的四边形比如是长宽比处于预设的长宽比取值区间内的四边形,该预设的长宽比取值区间可以根据真实车牌的长宽比来确定。当然还可以是其他车牌识别方式,具体不限。

可在车辆图像进行yuv域的全局处理之前,将第一车牌区域从车辆图像中获取出来。获取的方式比如可以先复制一份车辆图像,从复制所得的车辆图像中截取出该第一车牌区域,由于还需要进行后续的处理,因而应当保留原始的车辆图像。

步骤s200中,依据所述第一车牌区域中各像素点的颜色信息从所述第一车牌区域中选择需要进行颜色转换的目标像素点。

车牌背景的颜色(车牌底色)和车牌字符的颜色是不一样的,当然还有车牌边框、连接件等颜色也不同,可以根据颜色信息来区分第一车牌区域中的像素点的颜色是车牌背景的颜色还是车牌字符的颜色,由此选择需要进行颜色转换的目标像素点。

比如,目标像素点的颜色为车牌背景的颜色。由于抓拍场景的时空差异、光影变化的影响,第一车牌区域中呈现的车牌背景颜色会跟车牌的真实底色有一定的差距。而车牌背景是车牌中面积最大的,对第一车牌区域中背景进行相应处理,可使得第一车牌区域中的底色区域得到图像效果改善,提升可提升第一车牌区域的图像效果。

常见的车牌底色有蓝色、绿色、黄色以及白色等。如果需要对第一车牌区域中的底色区域进行图像效果改善,在获取到第一车牌区域后,可通过车牌底色识别方式识别第一车牌区域中车牌底色,再根据像素点的颜色信息来确定该像素点的颜色是否与车牌底色接近或相同。

车牌底色识别方式可以包括:将第一车牌区域输入到已训练的机器模型中,以利用机器模型提取第一车牌区域中的颜色信息比如色相,对色相进行全局统计,并根据统计结果确定车牌底色。比如统计结果为指示蓝色的色相,则确定车牌底色为蓝色。该机器模型可以是神经网络,可以是预先训练好的,训练方式不限。当然还可以是其他车牌底色识别方式,具体不限。

s300中,对所述第一车牌区域中目标像素点的颜色进行转换得到第二车牌区域。

可以依据目标像素点的颜色信息对目标像素点进行颜色转换,所需转换的颜色可预先采集好,具体的转换方式不限。

以需要对第一车牌区域中的底色区域进行图像效果改善为例,所需转换的颜色可以依据在预设环境下采集的车牌底色来设置。预设环境可以是明度较大的无色光照环境。车牌的真实底色是基本稳定的,不太容易变化,可以采用分光测色仪对多个车牌底色样本进行测量和统计,得到所需转换的颜色。如此,颜色转换后的第二车牌区域中,车牌底色可更逼近真实。

通过对目标像素点的颜色进行转换后,所得第二车牌区域的对比度和色彩浓度等方面可得到增强,使得车牌区域更加符合视觉效果。

步骤s400中,将所述车辆图像的第一车牌区域与第二车牌区域进行融合得到目标图像。

对车辆图像的第一车牌区域与第二车牌区域的融合方式可以是逐像素地进行颜色融合,具体融合方式不限,当然也可以是其他融合方式。

融合后,目标图像中可呈现第一车牌区域和第二车牌区域融合后的车牌区域及车辆图像中的第一车牌区域之外的区域,换言之,对车辆图像的第一车牌区域进行处理的同时,可避免影响到车牌区域之外的其他区域。

本发明实施例中,可依据获取第一车牌区域中各像素点的颜色信息来确定需要进行颜色转换的目标像素点,只对目标像素点进行颜色转换,可对第一车牌区域进行针对性的颜色转换,比如可只针对第一车牌区域的车牌背景进行颜色转换,可使得第一车牌区域中车牌背景的色相、饱和度和明度更加符合人眼的视觉效果,对于由于抓拍场景的时空差异、光影变化等导致的车牌区域的图像效果退化有较好的改善,提升车牌区域的图像效果,同时可避免影响到车牌区域之外的其他区域,运行所需消耗的资源也较少。

在一个实施例中,上述图像处理方法流程可由图像处理装置执行,如图2所示,图像处理装置10主要包含4个模块:车牌区域获取模块100、目标像素点确定模块200、颜色转换模块300和图像融合模块400。车牌区域获取模块100用于执行上述步骤s100,目标像素点确定模块200用于执行上述步骤s200,颜色转换模块300用于执行上述步骤s300,图像融合模块400用于执行上述步骤s400。

在一个实施例中,步骤s200中,依据所述第一车牌区域中各像素点的颜色信息从所述第一车牌区域中选择需要进行颜色转换的目标像素点,包括:

针对所述第一车牌区域中的每一像素点,将该像素点的rgb颜色信息从当前的rgb色彩空间映射至hsl色彩空间得到hsl颜色信息,所述hsl颜色信息包括色相;检查该像素点的hsl颜色信息中的色相是否处于预设的色相区间内,如果是,确定该像素点为目标像素点。

色相是颜色的首要特征,是区别各种不同颜色的最准确的标准。色相即色调,与光波的波长有直接关系,色相的不同是由光的波长的长短差别所决定的。波长最长的是红色,最短的是紫色。hsl颜色信息包括色相、饱和度、明度。

每个车牌中,车牌背景与车牌字符等的颜色都是不同的,可以根据色相来区分是车牌背景的颜色还是车牌字符的颜色等。

如果车辆图像是rgb图像,那么,第一车牌区域中的每一像素点的当前颜色是用rgb颜色信息表示的,换成hsl颜色信息即可得到色相。可以根据从rgb色彩空间映射至hsl色彩空间的映射关系来实现颜色信息的映射,具体可参看相关的色彩空间映射技术,在此不再赘述。当然,如果车辆图像已经是hsl图像了,那么可以无需进行上述映射的步骤。

色相区间可以根据车牌底色设置。如此,像素点的hsl颜色信息中的色相处于预设的色相区间内,说明该像素点位于第一车牌区域中的车牌背景区域,确定该像素点为目标像素点。即,本实施例中,将车牌背景区域的颜色进行转换可实现底色转换,使得图像中呈现底色更符合视觉效果,更接近真实场景中的车牌底色。当然,色相区间也可以根据车牌字符设置,如此可实现第一车牌区域中车牌字符区域的颜色转换。

图像中hsl颜色信息中的色相会因环境因素影响而有一定的浮动,比如蓝色车牌在图像中可能偏紫等,但是基本都是在车牌的真实底色附近浮动,因而可以根据车牌底色设置色相区间。车牌底色包括蓝色、白色、黄色等多种颜色,每种底色的色相都不同,可为每种底色设置对应的色相区间,比如色相区间的上限为底色的色相与第一指定色相之和,色相区间的下限为底色的色相与第二指定色相之差。当然,不同底色对应的色相区间可以存在交集。

各底色对应的色相区间可以预设在电子设备中,在识别出获取到的第一车牌区域中车牌底色后,可确定该车牌底色对应的色相区间。

结合图3,对步骤s200与s300的流程进行更具体的描述,选择目标像素点并进行颜色转换的具体流程可包括以下步骤1):

1)遍历到第一车牌区域中第1个像素点,接着执行步骤2);

2)将遍历到的像素点的rgb颜色信息从当前的rgb色彩空间映射至hsl色彩空间得到hsl颜色信息;hsl颜色信息包括色相,接着执行步骤3);

3)检查该像素点hsl颜色信息中的色相是否处于预设的色相区间内,如果否,则针对该像素点不进行颜色转换,执行步骤4),如果是,则执行步骤5);

4)遍历第一车牌区域的下一个像素点,返回步骤2);

5)确定该像素点为需要进行颜色转换的目标像素点,接着执行步骤6);

6)将该目标像素点的颜色进行转换,接着执行步骤7);

7)判断是否遍历完第一车牌区域的所有像素点,如果是,则得到转换后的第二车牌区域,完成目标像素点的颜色转换的第一车牌区域确定为第二车牌区域,如果否,则返回步骤4)。

在一个实施例中,步骤s300中,对所述第一车牌区域中目标像素点的颜色进行转换包括:

针对每一目标像素点,确定所述第一车牌区域中该目标像素点待转换的目标颜色,将该目标像素点的颜色从当前颜色转换为所述目标颜色。

目标颜色可以是预设的诸多候选颜色中与当前颜色对应的目标颜色。可以依据对相同底色的车牌进行采集得到颜色信息来设置候选颜色,比如采用分光测色仪对多个相同底色的车牌样本进行底色的测量和统计,得到各候选颜色。

不同目标像素点待转换的目标颜色可相同,也可不同。优选来说,目标颜色可以根据目标像素点的当前颜色来定,比如,可以在第一车牌区域的部分存在阴影时,阴影部分的颜色就会比较暗,那么为了使得转换后整体更真实,相对没有阴影的部分而言,阴影部分中的目标像素点的目标颜色也可以相对更暗一些。

确定目标颜色后,将第一车牌区域中该目标像素点的颜色从当前颜色转换为目标颜色,具体可以体现为将目标像素点的当前颜色值替换为目标颜色对应的颜色值,具体不限。

在一个实施例中,确定所述第一车牌区域中该目标像素点待转换的目标颜色,包括以下步骤:

s301:在hsl色彩空间中确定与目标像素点的hsl颜色信息对应的目标栅格;

s302:将目标栅格的至少一个顶点的颜色值确定为目标栅格颜色值;

s303:根据目标栅格颜色值确定目标像素点待转换的目标颜色。

在步骤s301中,在hsl色彩空间中确定与目标像素点的hsl颜色信息对应的目标栅格。

本实施例中,预先将hsl色彩空间进行了栅格划分,栅格划分时,可沿hsl色彩空间的色相h维度进行等间距划分,沿hsl色彩空间饱和度s维度进行等间距划分,沿hsl色彩空间的明度l维度进行等间距划分,得到划分栅格后的hsl色彩空间。不同维度上的划分间距可不同。hsl色彩空间中被划分出的栅格总数目取决于需要的精度,当然也取决于分配给程序的内存空间大小的限制。

由于是色彩空间,因而色彩空间中的坐标都是用hsl颜色信息表示的颜色值,因而,可以在hsl色彩空间中找到hsl颜色信息对应的颜色值,hsl色彩空间中该颜色值会处于一个栅格中,该栅格即为目标栅格。

在hsl色彩空间进行了等间距划分栅格的情况下,为了确定目标栅格,可将3dlut记录的各栅格指定顶点的颜色值进行简化处理。比如,各栅格指定顶点的颜色值为(h1,s1,l1),在3dlut中可以记录为(h1与k之比,s1与m之比,l1与n之比),k,m,n为hsl色彩空间对应维度上的划分间距。相应的,一种快捷的确定目标栅格的方式,可以包括以下步骤:

对于目标像素点的hsl颜色信息表示的颜色值x(h,s,l),分别将h,s,l这三个分量除以k,m,n,并向下取整得一个三元数组;

该三元数组表示的颜色值所处的栅格即为目标栅格。

比如,三元数组为(h0与k之比,s0与m之比,l0与n之比),相应的,(h0,s0,l0)为三元数组表示的颜色值。

步骤s302中,将目标栅格的至少一个顶点的颜色值确定为目标栅格颜色值。

如果目标栅格为长方体或立方体,那么目标栅格上会有八个顶点,由于目标栅格是hsl色彩空间中的栅格,所以各顶点的颜色值均为用hsl颜色信息表示的颜色值。可以将一个顶点的颜色值作为目标栅格颜色值,或者两个以上的顶点的颜色值为目标栅格颜色值,具体不限,为了使得图像效果更好及通用性更强,将目标栅格的八个顶点的颜色值均确定为目标栅格颜色值。

比如,上述三元数组表示的颜色值是目标栅格的指定顶点的颜色值,作为一个目标栅格颜色值。在确定出目标栅格的指定顶点的颜色值之后,由于指定顶点是目标栅格的一个距离hsl色彩空间的原点最近的顶点,通过该指定顶点可以推出目标栅格的其他七个顶点的坐标,即可得到剩余七个目标栅格颜色值,共八个目标栅格颜色值。可以理解,目标栅格颜色值数量当然也可以少于八个,当然,八个目标栅格颜色值情况下转换的目标颜色是更为精确的。

步骤s303中,根据目标栅格颜色值确定目标像素点待转换的目标颜色。

比如可以通过映射函数的方式、或者通过查表的方式来根据目标栅格颜色值确定目标颜色所需的颜色值,再根据目标颜色所需的颜色值来进行颜色转换。

以查表的方式为例,比如预先将各栅格的顶点的颜色值(当然同一顶点仅记录一条)与对应的转换颜色值记录在三维查找表3dlut中。3dlut所需的容量可以为划分所得的栅格总数,控制划分出的栅格数量,可避免3dlut所需的容量过大、占用内存空间且影响查找速度等问题。

各栅格颜色值在hsl色彩空间中的分布比所有转换颜色值在hsl色彩空间中的分布更密,意味着3dlut中会出现多个顶点的颜色值对应于同一个转换颜色值的情况,当然也会有一个顶点的颜色值对应于一个转换颜色值的情况。

3dlut中记录的顶点的颜色值是各个栅格上指定顶点的颜色值,该指定顶点比如为栅格的八个顶点中距离hsl色彩空间的原点最近的一个顶点,依据该指定顶点的颜色值及各个维度的划分间距,可以推出栅格的其他七个顶点的颜色值。

本实施例中,将hsl色彩空间进行栅格划分,可避免3dlut所需的存储空间过大,同时,通过查表方式查找颜色值,相对于每次进行映射函数的计算而言,可减少运行所需的损耗。

在一个实施例中,步骤s303中,所述根据目标栅格颜色值确定目标像素点待转换的目标颜色,包括以下步骤:

s3031:在预设的三维查找表3dlut中查找目标栅格颜色值对应的hsl色彩空间的参考颜色值;

s3032:对参考颜色值执行插值处理得到目标颜色值;

s3033:将目标颜色值从hsl色彩空间映射至rgb色彩空间;

s3034:确定rgb色彩空间的所述目标颜色值对应的颜色为所述目标颜色。

步骤s3031中,在预设的三维查找表3dlut中查找目标栅格颜色值对应的hsl色彩空间的参考颜色值。

如果3dlut中的颜色值都是rgb色彩空间中的颜色值(简称rgb颜色值),那么需要预先构建基于rgb色彩空间的颜色值对应关系。如果选择通过映射函数来构建颜色值对应关系,有以下难度:其一,这种方式类似于做源rgb颜色值到目标rgb颜色值的线性映射,由于rgb三个维度是相互耦合的,改变输入的一个维度,会导致其他维度的输出发生改变;其二,理论上必须以获取车牌区域环境光的色温为前提条件才能准确校正颜色值;其三,在不同环境下,车牌区域的曝光程度不同,目标rgb颜色值也存在不确定性,因而实际难以操作。如果采用构建直接查找表的方式,需要知道各种底色车牌在所有可能环境下转换前后的rgb颜色值,而这个实际操作较难。综上,基于rgb色彩空间构建颜色值对应关系是不直观的且难以操作的。

基于上述情况,申请人思考能不能在一种直观表达人眼感受的色彩空间上进行颜色转换。经过调研了解到,车牌区域图像效果的不理想一般表现在:“这个车牌的蓝色偏紫严重”、“这个车牌的蓝色太浅了”、“那个车牌曝光不足”,诸如此类状况。

而hsl色彩空间可以以更易于理解的描述表达人眼对于颜色值的感知。hsl色彩空间将颜色值属性分为了色相、饱和度和明度三个维度,这三个维度相对独立,相互影响较小,可以满足单独改变车牌底色的一个颜色值维度而不影响其他维度的需求。例如:蓝色偏紫严重则需要且只要改变色相,蓝色太浅则需要且只要提高饱和度,曝光不足则需要且只要提高明度。

基于上述发现,申请人利用了hsl色彩空间三个维度的互不相关性,以一种更简单的去耦合的方式构建基于hsl色彩空间的颜色值对应关系。换言之,本实施例中,3dlut中的颜色值都是hsl色彩空间中的颜色值,预先构建好基于rgb色彩空间的颜色值对应关系即可。

步骤s3031中,在预设的三维查找表3dlut中查找目标栅格颜色值对应的hsl色彩空间的参考颜色值。

目标栅格颜色值和参考颜色值是3dlut中记录的对应的颜色值,也都是hsl色彩空间的颜色值,每个目标栅格颜色值对应于一个参考颜色值。

步骤s3032中,对参考颜色值执行插值处理得到目标颜色值。

利用预设的插值算法对所有参考颜色值执行插值处理得到所述目标颜色值。插值算法有很多种,由于参考颜色值包括hsl三个维度上的信息,因而可采用三维差值算法,包括三次线性插值、立方体插值、三棱柱插值和四面体插值等。上述三维差值算法是根据切割立方体的不同方式来划分的,分别利用了立方体的8个、6个和4个顶点来插值,当然,三维插值最少要用到4个顶点,少于4个就不能构成一个三维立体,就不能实现三维插值。

在hsl色彩空间进行了等间距划分栅格的基础上,可采用立方体体积插值算法对所有参考颜色值执行插值处理:

参看图4,记pi(i=0,1,…,7)为目标像素点的hsl颜色信息表示的颜色值x(h,s,l)所在栅格(即目标栅格)的8个顶点,其中p0为该栅格的指定顶点,hsl色彩空间中这8个顶点的颜色值为h′i,s′i,l′i(i=0,1,…,7),x到p0的连线在hsl色彩空间的各维度方向上的投影长度记为(h0,s0,l0),依据(h0,s0,l0)将栅格分为8个小立方体,各个顶点所在的立方体体积分别为:

将目标栅格的各顶点对应的权值分别确定为:其中,为立方体的总体积,最后得到目标颜色值为:

步骤s3033中,将目标颜色值从hsl色彩空间映射至rgb色彩空间。

本实施例适用于车辆图像为rgb图像的情况,由于后续还需进行图像的融合,因而将目标颜色值进行空间映射,保证转换所得的第二车牌区域也是rgb格式的。

可以根据从hsl色彩空间映射至rgb色彩空间的映射关系来实现目标颜色值的映射,具体可参看相关的色彩空间映射技术,在此不再赘述。

步骤s3034中,确定rgb色彩空间的所述目标颜色值对应的颜色为所述目标颜色。

下面提供两种构建3dlut的方式:

第一种是直接构建3dlut。如果需要构建100个栅格,则需要确定这100栅格的指定顶点的颜色值与对应的转换所需颜色值,通过这种方法构建3dlut的优点是通用较强;缺点是数据来源过大,要想达到较高的精度,需要大量的样本色块,当输入输出变化时,表的维护成本较高。

第二种是通过映射函数来构建3dlut。如果需要构建100个栅格,可仅确定第10、20、30、40、50、60、70、80、90、100个栅格的指定顶点的颜色值与对应的转换所需颜色值(简称颜色值对),只需确定这10个颜色值对的训练样本,可通过基于这些训练样本构建映射函数,可采用该映射函数重构100个栅格中其余栅格的指定顶点的颜色值对应的转换所需颜色值。其优点是在样本比较少的情况下,构建精度较高的查找表,并且易于维护。

对于这第二种方法来说,映射函数的选择至关重要。构建查找表所选择的映射函数可能带来很大范围的颜色数据偏差,因此,要构建一个高精度的查找表。可根据hsl色彩空间三个维度的不相关性,构造相应的映射函数。

下面具体来说上述第二种构建3dlut的方式,分为以下三步:

第一步,分割。在hsl色彩空间的每个维度进行等间距划分得到若干栅格。具体地说,分割是把颜色空间按照一定间距划分成栅格,h、s、l三个维度均采用等间距的方式进行划分。

第二步,重构。对hsl色彩空间中的任意一个栅格,都可以通过颜色对训练样本来确定映射关系,基于映射关系及插值等方法栅格指定顶点的颜色值对应的转换所需颜色值。这里采用的映射、插值等方会影响到重构的质量,而重构的质量将影响到颜色3-dlut的精度。

第三步,建表。对于hsl色彩空间的每一个栅格,根据栅格在hsl色彩空间中的位置确定栅格的指定顶点的颜色值,在第二步确定的映射关系中找到对应的转换所需颜色值。由于已知每一个栅格指定顶点的颜色值,可以将转换所需颜色值相比于栅格指定顶点的颜色值的差量记录在3dlut中,查找时,将差量与栅格指定顶点的颜色值求和即可。

下面对上述第二步的重构过程进行更具体描述。

采用插值方法进行重构比较依赖于标记好的栅格指定顶点的颜色值与对应转换所需颜色值的颜色对训练样本。颜色对训练样本用于构建的映射函数,颜色对训练样本可以是24色色卡的采样值,也可以根据实际需要选择。

以映射某种底色车牌为例,将构建映射函数的过程进行展开说明。

在构建之前,需要确定该映射函数适用的栅格指定顶点的颜色值的取值范围,即确定哪些栅格对应的颜色值可以带入该映射函数。记,栅格指定顶点的颜色值x1为(h,s,l),对应转换所需颜色值x2为(h′,s′,l′),(h′,s′,l′)相比于(h,s,l)的差量记为(δh,δs,δl)。

第一步,引入色相这一维度。根据颜色对训练样本,拟合x1的色相h以及x2的色相h′的映射关系,得到以下公式:

h′=h+δh=h+f1(h)

此时,无论x1的饱和度s和明度l取值为多少,x1的色相h都将作为自变量被带入函数f1中,影响差量δh的取值,再映射到x2的色相h′上,仍需要进行以下步骤。

第二步,再引入饱和度这一维度。根据颜色对训练样本,并结合上一步计算得到的色相h′,拟合x1的饱和度s以及x2的色相h′的映射关系,在函数f1的基础上更新h′的计算公式,得到以下公式:

h′=h+δh=h+f2(s,f1(h))

此时,无论x1的明度l取值为多少,x1的色相h和饱和度s都将作为自变量被带入函数f1、f2中,影响差量δh的取值,再映射到x2的色相h′上,仍需要进行以下步骤。

第三步,再引入明度这一维度。根据颜色对训练样本,并结合上一步计算得到的色相h′,拟合x1的明度l以及x2的色相h′的映射关系,在函数f2的基础上更新h′的计算公式,得到以下公式:

h′=h+δh=h+f3(l,f2(s,f1(h)))(1)

由此,可以获得一个包含色相、饱和度和明度的三元数组x1到x2的色相h这个单独变量的映射范围和映射关系。

采用类似的方式,可以获得一个包含色相、饱和度和明度的三元数组x1到x2的饱和度s′这个单独变量的映射范围和映射关系:

s′=s+δs=s+g3(l,g2(s,g1(h)))(2)

以及一个包含色相、饱和度和明度的三元数组x1到x2的明度l′这个单独变量的映射范围和映射关系:

l′=l+δl=l+h3(l,h2(s,h1(h)))(3)

最终,结合上述公式(1)-(3),可以得到x1(h,s,l)到x2(h′,s′,l′)的映射关系。可调试上述出现的9个函数((f1,f2,f3),(g1,g2,g3),(h1,h2,h3)),以满足图像效果调试人员对于最终效果的调试需求。

在一个实施例中,步骤s400中,将所述车辆图像的第一车牌区域与第二车牌区域进行融合得到目标图像包括以下步骤:

s401:计算第一车牌区域中每一像素点与第二车牌区域中相应位置的像素点进行融合后的融合颜色值;

s402:将所述车辆图像的第一车牌区域中每一像素点的颜色值修改为其对应的融合颜色值。

修改后的车辆图像即为目标图像,可仅针对车辆区域中的第一车牌区域进行图像处理,避免影响其他区域。

进一步的,步骤s401中,所述计算第一车牌区域中每一像素点与第二车牌区域中相应位置的像素点进行融合后的融合颜色值包括以下步骤:

s4011:遍历第一车牌区域,将遍历到的像素点确定为第一像素点;

s4012:确定第一车牌区域中第一像素点与第二车牌区域中相应位置的第二像素点进行融合时的第一融合权重;以及,确定第二车牌区域中第二像素点与第一车牌区域中相应位置的第一像素点进行融合时的第二融合权重;其中,第一像素点的位置越接近第一车牌区域的边界,则第一融合权重越大、第二融合权重越小;

s4013:计算第一车牌区域中第一像素点的当前颜色值与第一融合权重的乘积得到p1,计算第二车牌区域中第二像素点的当前颜色值与第二融合权重的乘积得到p2,将p1与p2之和确定为所述融合颜色值。

本实施例中,在第一车牌区域与第二车牌区域融合过程中,第一像素点的位置越接近第一车牌区域的边界,则第一融合权重越大、第二融合权重越小,即第二车牌区域和第一车牌区域的融合权重的比值由内而外的逐渐减小,可保证车辆图像在第一车牌区域的边界处的自然过渡,避免边界凸显。

本发明第二方面提供一种图像处理装置,参看图2,该图像处理装置10包括:

车牌区域获取模块100,用于从已采集的车辆图像中获取车牌所在的第一车牌区域;

目标像素点确定模块200,用于依据所述第一车牌区域中各像素点的颜色信息从所述第一车牌区域中选择需要进行颜色转换的目标像素点;

颜色转换模块300,用于对所述第一车牌区域中目标像素点的颜色进行转换得到第二车牌区域;

图像融合模块400,用于将所述车辆图像的第一车牌区域与第二车牌区域进行融合得到目标图像。

在一个实施例中,所述目标像素点确定模块依据所述第一车牌区域中各像素点的颜色信息从所述第一车牌区域中选择需要进行颜色转换的目标像素点时,具体用于:

针对所述第一车牌区域中的每一像素点,将该像素点的rgb颜色信息从当前的rgb色彩空间映射至hsl色彩空间得到hsl颜色信息,所述hsl颜色信息包括色相;检查该像素点的hsl颜色信息中的色相是否处于预设的色相区间内,如果是,确定该像素点为目标像素点。

在一个实施例中,颜色转换模块对所述第一车牌区域中目标像素点的颜色进行转换时,具体用于:

针对每一目标像素点,确定所述第一车牌区域中该目标像素点待转换的目标颜色,将该目标像素点的颜色从当前颜色转换为所述目标颜色。

在一个实施例中,所述颜色转换模块包括:

目标栅格确定单元,用于在hsl色彩空间中确定与目标像素点的hsl颜色信息对应的目标栅格;

目标栅格颜色值确定单元,用于将目标栅格的至少一个顶点的颜色值确定为目标栅格颜色值;

目标颜色确定单元,用于根据目标栅格颜色值确定目标像素点待转换的目标颜色。

在一个实施例中,所述目标颜色确定单元包括:

参考颜色值查找子单元,用于在预设的三维查找表3dlut中查找目标栅格颜色值对应的hsl色彩空间的参考颜色值;

插值处理子单元,用于对参考颜色值执行插值处理得到目标颜色值;

目标颜色值映射单元,用于将目标颜色值从hsl色彩空间映射至rgb色彩空间;

目标颜色确定子单元,用于确定rgb色彩空间的所述目标颜色值对应的颜色为所述目标颜色。

在一个实施例中,所述图像融合模块包括:

融合颜色值计算单元,用于计算第一车牌区域中每一像素点与第二车牌区域中相应位置的像素点进行融合后的融合颜色值;

颜色值修改单元,用于将所述车辆图像的第一车牌区域中每一像素点的颜色值修改为其对应的融合颜色值。

在一个实施例中,所述融合颜色值计算单元包括:

遍历子单元,用于遍历第一车牌区域,将遍历到的像素点确定为第一像素点;

融合权重确定子单元,用于确定第一车牌区域中第一像素点与第二车牌区域中相应位置的第二像素点进行融合时的第一融合权重;以及,确定第二车牌区域中第二像素点与第一车牌区域中相应位置的第一像素点进行融合时的第二融合权重;其中,第一像素点的位置越接近第一车牌区域的边界,则第一融合权重越大、第二融合权重越小;

融合颜色值确定子单元,用于计算第一车牌区域中第一像素点的当前颜色值与第一融合权重的乘积得到p1,计算第二车牌区域中第二像素点的当前颜色值与第二融合权重的乘积得到p2,将p1与p2之和确定为所述融合颜色值。

上述图像处理装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。

本发明还提供一种电子设备,包括处理器及存储器;所述存储器存储有可被处理器调用的程序;其中,所述处理器执行所述程序时,实现如前述实施例中所述的图像处理方法。

本发明图像处理装置的实施例可以应用在电子设备上。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,图5是本发明根据一示例性实施例示出的图像处理装置10所在电子设备的一种硬件结构图,除了图5所示的处理器510、内存530、接口520、以及非易失性存储器540之外,实施例中装置10所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。

本发明还提供一种机器可读存储介质,其上存储有程序,该程序被处理器执行时,实现如前述实施例中所述的图像处理方法。

本发明可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。机器可读存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。机器可读存储介质的例子包括但不限于:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1