【技术领域】
本发明涉及物联网技术领域,尤其涉及一种车牌图像提取方法、装置、系统、存储介质和计算机设备。
背景技术:
智能交通系统作为一种先进的自动化道路交通管理系统,主要依托前沿的计算机视频图像技术、模式识别、计算机网络技术、传感器技术和射频技术。基于计算机视频图像技术的车辆识别系统以其低成本、高效率、自动化水平高的特点不仅是当前研究热点,也成为智能交通发展的趋势。
目前,车辆识别系统处理的对象主要为城市交通主干道路口和高速路关键位置监控设备采集的车辆前脸图像。由于监控设备分辨率低和外界因素的影响,使得监控设备采集的车辆前脸图像的质量较差,导致提取的车牌图像的质量也较差。
技术实现要素:
有鉴于此,本发明实施例提供了一种车牌图像提取方法、装置、存储介质和计算机设备,能够解决相关技术中由于监控设备分辨率低和外界因素使得监控设备采集的车辆前脸图像的质量较差,导致提取的车牌图像的质量也较差的问题。
第一方面,本发明实施例提供了一种车牌图像提取方法,所述方法包括:
获取车辆前脸图像,并将所述车辆前脸图像转化为灰度图;
通过canny算法和snake活动轮廓模型对所述灰度图进行计算,得到所述灰度图的边缘轮廓曲线;
根据从所述灰度图提取的车牌区域特征和所述边缘轮廓曲线确定目标区域;
根据所述目标区域和所述车辆前脸图像,通过形态学算法和mask模板算法从所述车辆前脸图像中提取出车牌图像。
可选地,通过canny算法和snake活动轮廓模型得到所述灰度图的边缘轮廓曲线,具体包括:
通过canny算法对所述灰度图进行计算得到所述灰度图的第一边缘轮廓曲线;
通过snake活动轮廓模型对所述第一边缘轮廓曲线进行计算得到所述灰度图的第二边缘轮廓曲线。
可选地,根据从所述灰度图提取的车牌区域特征和所述边缘轮廓确定目标区域,具体包括:
从所述第二边缘轮廓曲线中筛选出所有的闭合区域;
计算每个所述闭合区域的面积,将面积小于预设阈值的所述闭合区域删除得出剩余的所述闭合区域;
根据所述车牌区域特征从剩余的所述闭合区域中确定出目标区域。
可选地,根据所述目标区域和所述车辆前脸图像,通过形态学算法和mask模板算法从所述车辆前脸图像中提取出车牌图像,具体包括:
通过形态学算法对所述目标区域进行计算生成车牌区域;
根据所述车牌区域和所述车辆前脸图像,通过mask模板算法从所述车辆前脸图像中提取出所述车牌图像。
可选地,所述形态学算法包括腐蚀和/或膨胀。
可选地,所述通过canny算法对所述灰度图进行计算得到所述灰度图的第一边缘轮廓曲线,具体包括:
通过高斯平滑滤波器对所述灰度图进行平滑处理;
通过所述灰度图的一阶偏导的有限差分计算所述灰度图的梯度强度和梯度方向以生成所述灰度图的全局梯度图;
对所述全局梯度图中各局部梯度区域进行非极大值抑制,以确定所述灰度图中的边缘点;
通过双阈值法将所述边缘点相连接,以形成所述第一边缘轮廓曲线。
可选地,所述snake活动轮廓模型包括:
另一方面,本发明实施例提供了一种车牌图像提取装置,所述装置包括:
转化模块,用于获取车辆前脸图像,并将所述车辆前脸图像转化为灰度图;
第一计算模块,用于通过canny算法和snake活动轮廓模型对所述灰度图进行计算,得到所述灰度图的边缘轮廓曲线;
确定模块,用于根据从所述灰度图提取的车牌区域特征和所述边缘轮廓曲线确定目标区域;
提取模块,用于根据所述目标区域和所述车辆前脸图像,通过形态学算法和mask模板算法从所述车辆前脸图像中提取出车牌图像。
另一方面,本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述车牌图像提取方法。
另一方面,本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,其特征在于,所述程序指令被处理器加载并执行时实现上述车牌图像提取方法的步骤。
本发明实施例提供的车牌图像提取方法、装置、系统、存储介质和计算机设备的技术方案中,获取车辆前脸图像,并将所述车辆前脸图像转化为灰度图;通过canny算法和snake活动轮廓模型对所述灰度图进行计算,得到所述灰度图的边缘轮廓曲线;根据从所述灰度图提取的车牌区域特征和所述边缘轮廓曲线确定目标区域;根据所述目标区域和所述车辆前脸图像,通过形态学算法和mask模板算法从所述车辆前脸图像中提取出车牌图像,能够提高车牌图像的清晰度,降低监控设备分辨率低和外界因素导致车辆前脸图像的质量较差给车牌图像的提取带来的影响。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明一实施例提供的一种车牌图像提取方法的流程图;
图2为本发明又一实施例提供的一种车牌图像提取方法的流程图;
图3为本发明一实施例提供的一种车牌图像提取装置的结构示意图;
图4为本发明实施例提供的一种计算机设备的示意图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,甲和/或乙,可以表示:单独存在甲,同时存在甲和乙,单独存在乙这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本发明一实施例提供的一种车牌图像提取方法的流程图,如图1所示,该方法包括:
步骤102、获取车辆前脸图像,并将所述车辆前脸图像转化为灰度图。
步骤104、通过canny算法和snake活动轮廓模型对所述灰度图进行计算,得到所述灰度图的边缘轮廓曲线。
步骤106、根据从所述灰度图提取的车牌区域特征和所述边缘轮廓曲线确定目标区域。
步骤108、根据所述目标区域和所述车辆前脸图像,通过形态学算法和mask模板算法从所述车辆前脸图像中提取出车牌图像。
本实施例提供的一种车牌图像提取方法的技术方案中,获取车辆前脸图像,并将所述车辆前脸图像转化为灰度图;通过canny算法和snake活动轮廓模型对所述灰度图进行计算,得到所述灰度图的边缘轮廓曲线;根据从所述灰度图提取的车牌区域特征和所述边缘轮廓曲线确定目标区域;根据所述目标区域和所述车辆前脸图像,通过形态学算法和mask模板算法从所述车辆前脸图像中提取出车牌图像,能够提高车牌图像的清晰度,降低监控设备分辨率低和外界因素使得监控设备采集的车辆前脸图像的质量较差,导致提取的车牌图像的质量也较差。
图2为本发明又一实施例提供的一种车牌图像提取方法的流程图,如图2所示,该方法包括:
步骤202、获取车辆前脸图像,并将所述车辆前脸图像转化为灰度图。
本实施例中,车辆前脸图像主要为城市交通主干道路口和高速路关键位置监控设备从车辆前方朝下拍摄的图像。
步骤204、通过canny算法对所述灰度图进行计算得到所述灰度图的第一边缘轮廓曲线。
目前在相关技术中图像边缘分割采用sobel算法。sobel算法是离散型的差分算子,用来运算图像亮度函数的梯度的近似值。但是sobel算法并没有将图像的主题与背景严格地区分开来,即sobel算法并没有基于图像灰度进行处理。由于sobel算法并没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意,在车辆识别中达不到较好效果。
由于canny算法功能比大多数图像处理算法都要好,本实施例采用canny算法对灰度图进行边缘检测。
本实施例中,步骤204具体包括:
步骤2042、通过高斯平滑滤波器对所述灰度图进行平滑处理。
本实施例中,canny算法是一种具有滤波,增强,检测的多阶段的优化算法,在进行处理前,canny算法先利用高斯平滑滤波器来平滑灰度图以除去噪声。
步骤2044、通过所述灰度图的一阶偏导的有限差分计算所述灰度图的梯度强度和梯度方向以生成所述灰度图的全局梯度图。
步骤2046、对所述全局梯度图中各局部梯度区域进行非极大值抑制,以确定所述灰度图中的边缘点。
具体地,对全局梯度图中各局部梯度区域进行非极大值抑制,通过保留局部梯度中最大点的像素值,同时将非极大值点对应点的灰度值置0,以确定灰度图中的边缘点并以消除边缘检测带来的离散响应。
步骤2048、通过双阈值法将所述边缘点相连接,以形成所述第一边缘轮廓曲线。
具体地,通过双阈值法进一步提取出灰度图中的真实边缘点,对双阈值法处理后的真实边缘点进行连接,以形成第一边缘轮廓曲线。其中,双阈值法是设置两个阈值,分别是高阈值和低阈值,将像素点强度值大于高阈值的边缘点作为真实边缘点,像素点强度值小于低阈值的边缘点作为非真实边缘点;像素点强度值介于两个阈值之间的边缘点,如果其邻接像素点强度值有大于高阈值的,则将该边缘点作为真实边缘点,否则将该边缘点作为非真实边缘点。
步骤206、通过snake活动轮廓模型对所述第一边缘轮廓曲线进行计算得到所述灰度图的第二边缘轮廓曲线。
本实施例中,snake活动轮廓模型包括:
本实施例中,v(s)为第一边缘轮廓曲线。
其中,snake活动轮廓模型中的
具体地,外部能量eext(v(s))包括:
eext(v(s))=eimage(v(s))+econ(v(s))
其中,eimage(v(s))为v(s)与图像特征之间的吻合程度。econ(v(s))为v(s)的控制能量,用户通常根据图像特征确定econ(v(s))的参数值。
本实施例中,通过欧拉公式使etotal最小求解出第二轮廓曲线上点的坐标,根据点作图即可获得第二轮廓曲线。其中,通过欧拉公式使etotal最小必须满足条件:
本实施例中,利用canny算法得到灰度图的第一边缘轮廓曲线,然后将第一边缘轮廓曲线作为snake活动轮廓模型的初始轮廓曲线,最终得到的第二边缘轮廓曲线能够更精确的逼近区域边界。
步骤208、从所述第二边缘轮廓曲线中筛选出所有的闭合区域。
步骤210、计算每个所述闭合区域的面积,将面积小于预设阈值的所述闭合区域删除得出剩余的所述闭合区域。
本实施例中,由于目标区域包括车牌,因此可以根据车牌的面积对预设阈值进行设置。
步骤212、根据从所述灰度图提取的车牌区域特征从剩余的所述闭合区域中确定出目标区域。
本实施例中,车牌区域特征包括车牌区域的颜色特征和几何特征。
例如,采用卷积神经网络算法提取灰度图中车牌区域的几何特征,几何特征包括车牌的长宽比;采用rgb颜色空间提取灰度图中车牌区域的颜色特征。
本发明实施例以基于canny算法的边缘分割技术为基础,借鉴snake活动轮廓模型的思想方法,并结合车牌区域特征,能够从灰度图中快速分割出目标区域轮廓,为后续进一步提取区域内特征标记物及车辆识别打下良好基础。
步骤214、通过形态学算法对所述目标区域进行计算生成车牌区域。
形态学算法是针对二值图像依据数学形态学的集合论方法发展起来的图像处理方法。通常,形态学图像处理表现为一种邻域运算形式,一种特殊定义的领域称之为“结构元素”,在每个像素位置它与二值图像对应的区域进行特定的逻辑运算,逻辑运算的结果为输出图像的响应像素。
本实施例中,形态学算法包括腐蚀和/或膨胀。腐蚀,即模板和输入图像中对应位置的元素相与的结果全不为0时,结果才为0。腐蚀用于删除图像中对象边界的某些像素。膨胀,即模板和输入图像对应位置的元素只要有一个相与的结果不为0,则结果不为0。膨胀用于给图像中对象边界添加元素。
本实施例中,车牌区域中的图像比目标区域中的图像更清晰。
步骤216、根据车牌区域和所述车辆前脸图像,通过mask模板算法从所述车辆前脸图像中提取出所述车牌图像。
本实施例中,将车牌区域对应的图像作为区域图,mask模板算法是将区域图中的像素与车辆前脸图像中对应的像素进行与运算,与运算的结果就是从车辆前脸图像中提取出车牌图像。
本实施例提供的一种车牌图像提取方法的技术方案中,获取车辆前脸图像,并将所述车辆前脸图像转化为灰度图;通过canny算法和snake活动轮廓模型对所述灰度图进行计算,得到所述灰度图的边缘轮廓曲线;根据从所述灰度图提取的车牌区域特征和所述边缘轮廓曲线确定目标区域;根据所述目标区域和所述车辆前脸图像,通过形态学算法和mask模板算法从所述车辆前脸图像中提取出车牌图像,能够提高车牌图像的清晰度,降低监控设备分辨率低和外界因素使得监控设备采集的车辆前脸图像的质量较差,导致提取的车牌图像的质量也较差。
图3为本发明一实施例提供的一种车牌图像提取装置的结构示意图,如图3所示,所述装置包括:。
转化模块31,用于获取车辆前脸图像,并将车辆前脸图像转化为灰度图。
第一计算模块32,用于通过canny算法对灰度图进行计算得到灰度图的第一边缘轮廓曲线。
本实施例中,计算模块32具体包括:滤波子模块321、生成子模块322、确定子模块323和连接子模块324。
滤波子模块321,用于通过高斯平滑滤波器对灰度图进行平滑处理。
生成子模块322,用于通过灰度图的一阶偏导的有限差分计算灰度图的梯度强度和梯度方向以生成灰度图的全局梯度图。
第一确定子模块323,用于对全局梯度图中各局部梯度区域进行非极大值抑制,以确定灰度图中的边缘点。
连接子模块324,用于通过双阈值法将边缘点相连接,以形成第一边缘轮廓曲线。
第二计算模块33,用于通过snake活动轮廓模型对第一边缘轮廓曲线进行计算得到灰度图的第二边缘轮廓曲线。
本实施例中,snake活动轮廓模型包括:
确定模块34,用于根据从灰度图提取的车牌区域特征和边缘轮廓曲线确定目标区域。
本实施例中,确定模块34具体包括:筛选子模块341、删除子模块34和确定子模块343。
筛选子模块341,用于从第二边缘轮廓曲线中筛选出所有的闭合区域。
删除子模块342,用于计算每个闭合区域的面积,将面积小于预设阈值的闭合区域删除得出剩余的闭合区域。
第二确定子模块343,用于根据车牌区域特征从剩余的闭合区域中确定出目标区域。
提取模块35,用于根据目标区域和车辆前脸图像,通过形态学算法和mask模板算法从车辆前脸图像中提取出车牌图像。
本实施例中,提取模块35具体包括:计算子模块36和提取子模块37。
计算子模块36,用于通过形态学算法对目标区域进行计算生成车牌区域。
提取子模块37,用于据车牌区域和车辆前脸图像,通过mask模板算法从车辆前脸图像中提取出车牌图像。
本实施例提供的车牌图像提取装置可用于实现上述图1至图2中的车牌图像提取方法,具体描述可参见上述车牌图像提取方法的实施例,此处不再重复描述。
本发明实施例提供的一种车牌图像提取装置的技术方案中,获取车辆前脸图像,并将所述车辆前脸图像转化为灰度图;通过canny算法和snake活动轮廓模型对所述灰度图进行计算,得到所述灰度图的边缘轮廓曲线;根据从所述灰度图提取的车牌区域特征和所述边缘轮廓曲线确定目标区域;根据所述目标区域和所述车辆前脸图像,通过形态学算法和mask模板算法从所述车辆前脸图像中提取出车牌图像,能够提高车牌图像的清晰度,降低监控设备分辨率低和外界因素使得监控设备采集的车辆前脸图像的质量较差,导致提取的车牌图像的质量也较差。
图4为本发明实施例提供的一种计算机设备的示意图。如图4所示,该实施例的计算机设备20包括:处理器21、存储器22以及存储在存储22中并可在处理器21上运行的计算机程序23,该计算机程序23被处理器21执行时实现实施例中的应用于车牌图像提取方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器21执行时实现实施例中应用于车牌图像提取装置中各模型/单元的功能,为避免重复,此处不一一赘述。
计算机设备20包括,但不仅限于,处理器21、存储器22。本领域技术人员可以理解,图4仅仅是计算机设备20的示例,并不构成对计算机设备20的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器21可以是中央处理单元(centralprocessingunit,简称cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器22可以是计算机设备20的内部存储单元,例如计算机设备20的硬盘或内存。存储器22也可以是计算机设备20的外部存储设备,例如计算机设备20上配备的插接式硬盘,智能存储卡(smartmediacard,简称smc),安全数字(securedigital,简称sd)卡,闪存卡(flashcard)等。进一步地,存储器22还可以既包括计算机设备20的内部存储单元也包括外部存储设备。存储器22用于存储计算机程序以及计算机设备所需的其他程序和数据。存储器22还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。