一种对邮件广告图片的识别方法
【技术领域】
[0001]本发明涉及垃圾邮件处理技术与网络安全技术领域,尤其涉及一种对邮件广告图片的识别方法。
【背景技术】
[0002]每年全球的垃圾邮件中,图片类垃圾邮件数量占据了垃圾邮件总量的50%以上。所以,针对图片垃圾邮件识别的技术亟需升级和更新,以便更有效的对图片类垃圾邮件进tx识别,提尚垃圾邮件识别率。
[0003]在现有技术中,通常使用光学字符识别(OCR)以实现对包含广告图片的文本内容进行提取,通过内容判断是否广告内容,从而实现垃圾邮件的识别。所谓光学字符识别通常使用一般将被称作OCR引擎的计算机软件来对原本在纸张、缩影胶片或其它介质上印刷的、打字的、手写的或其它书写文本的数字图像进行处理,并且从所述图像产生机器可识别和可编辑的文本。通过OCR引擎处理的文档的数字图像可包括多页书写材料的图像。要由OCR引擎进行处理的文本的图像可通过各种成像方法来获取,包括使用图像扫描仪来捕捉文本的数字图像。然而这种技术方案存在计算量大、广告图片中的文字提取效果不理想,误判率较高,以及对加入干扰字符或者竖排显示内容等经过垃圾邮件投放者处理后的垃圾邮件的识别效果不佳等技术缺陷。
[0004]有鉴于此,有必要对现有技术中的对邮件广告图片的识别方法予以改进,以解决上述技术瑕疵。
【发明内容】
[0005]本发明的目的在于公开一种对邮件广告图片的识别方法,提高对包含文字的图片进行文字提取的效果,从而实现对包含广告图片的垃圾邮件进行有效的识别,同时降低服务器的负载,同时提高服务器在过滤垃圾邮件时的抗干扰能力。
[0006]为实现上述发明目的,本发明提供了一种对邮件广告图片的识别方法,包括以下步骤:
[0007]S1、提取邮件中的图片后进行预处理后确定文本块排列方向;
[0008]S2、根据文本块排列方向建立虚拟坐标系;
[0009]S3、分别计算图片中各文本块在虚拟坐标系中的二值化数据;
[0010]S4、统计图片中的文本块的大小及数量;
[0011]S5、根据设定阈值判断图片是否为广告图片。
[0012]作为本发明的进一步改进,步骤SI中的预处理包括边框处理、反色处理、去除背景处理、二值化处理、降噪处理。
[0013]作为本发明的进一步改进,步骤S2具体为:根据图片内容在虚拟坐标系上的投影结果的连续性,为图片建立匹配的虚拟坐标系。
[0014]作为本发明的进一步改进,步骤S3具体为:将图片中各文本块相对于虚拟坐标轴的极轴做投影,若坐标点有前景色像素点则标记为黑色,否则标记为白色。
[0015]作为本发明的进一步改进,步骤S4具体为:对图片中的二值化数据相对于虚拟坐标系的极轴进行单独投影处理,记录文字文本块与非文字文本块的沿虚拟坐标系上的宽高值,并统计相应数量后保存至服务器数据库。
[0016]作为本发明的进一步改进,服务器数据库包括MySQL数据库、Oracle数据库。
[0017]作为本发明的进一步改进,虚拟坐标系包括一轴虚拟坐标系、二轴虚拟坐标系。
[0018]作为本发明的进一步改进,二轴虚拟坐标系包括二轴正交虚拟坐标系、二轴非正交虚拟坐标系。
[0019]作为本发明的进一步改进,步骤S5中的设定阈值具体为:文字文本块数量T的范围为50至300,文字文本块面积总和占图片面积百分比范围为50至100,非文字文本块数量范围为O至2T。
[0020]与现有技术相比,本发明的有益效果是:通过获取图片中文本块在虚拟坐标系中的投影并计算二值化数据,可以有效地通过统计图片中的文本块的大小及数量并根据设定阈值判断图片是否为广告图片,显著地提高了对垃圾邮件中的广告图片中的文字的提取效果,抗干扰能力强,并降低了服务器的负载。
【附图说明】
[0021]图1为本发明一种对邮件广告图片的识别方法的示意图;
[0022]图2为从邮件中提取到的一种类型图片;
[0023]图3为将图2进行步骤S2的预处理后所生成的图片;
[0024]图4为从邮件中提取到的另一种类型图片;
[0025]图5为将图4进行步骤S2的预处理后所生成的图片;
[0026]图6为图3通过对前景色像素点标记为黑色的投影结果进行连续性分析从而确定行列方向的示意图;
[0027]图7为图5通过对前景色像素点标记为黑色的投影结果进行连续性分析从而确定行列方向的示意图;
[0028]图8为对图7所示的图片中的第一行文本块进行单独投影处理的示意图;
[0029]图9为根据图8中所示的投影结果示意图记录文本块宽高值与文本块数量的示意图。
【具体实施方式】
[0030]下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
[0031]在本实施方式中,一种对邮件广告图片的识别方法,所述识别方法包括以下步骤:
[0032]步骤S1、提取邮件中的图片后进行预处理后确定文本块排列方向。该预处理包括边框处理、反色处理、去除背景处理、二值化处理、降噪处理。
[0033]边框处理是为了判断图片是否有边框,如果有边框则通过裁剪去掉图片外部和/或内部的边框。反色处理是为了计算图片中的前景色和/或背景色。去除背景处理是通过计算获取图片的背景色,并将其去除;同时对反色处理的图片进行前景色与背景色的对调。如果图片中包含风景或者人物等背景干扰因素,则根据步骤I中从邮件中所提取的图片的整体风格或像素色值分布情况,去除人物背景或者风景背景等干扰因素。二值化处理是根据计算机的配置操作,采用误差补偿算法,对根据步骤I中从邮件中所提取的图片进行整体二值化处理。经过二值化处理的图片的文件非常小,便于计算机后期对其是否为广告图片进行判断。降噪处理具体为通过双背景滤波法对计算机提取到的图片进行降噪处理,从而降低图片中的噪点对后期广告图片的识别计算所造成的不良影响。
[0034]参图2与图3、图4与图5所示,图2为经过反色处理的预处理后生成如图3所示的预处理结果。图4为经过边框处理的预处理后生成如图5所示的预处理结果。
[0035]步骤S2、根据文本块排列方向建立虚拟坐标系。
[0036]为了确定图片中文本块的大小与数量,需要首先确定图片内容中所包含的文本块的排列方向。例如图2与图4中的文本块分别是水平横向排列与垂直纵向排列。
[0037]参图6所示,步骤S2具体为:根据图片内容在虚拟坐标系上的投影结果的连续性,为图片建立匹配的虚拟坐标系。该虚拟坐标系包括一轴虚拟坐标系、二轴虚拟坐标系,二轴虚拟坐标系包括二轴正交虚拟坐标系、二轴非正交虚拟坐标系。
[0038]具体而言,如果广告图片中的文字呈现为一条横向排布或者纵向排布时,则仅仅根据图片中的文本块排列方向建立一轴虚拟坐标系(横向)或者一轴虚拟坐标系(竖向)。
[0039]如果广告图片中的文字呈现为多条横向排布或者多条竖向排布时,则建立二轴正交虚拟坐标系,并将水平方向的极轴定义为X轴,将垂直方向的极轴定义为Y轴。
[0040]如果图片中的文字成像斜向排布时,则需要通过带文本图片的旋转处理来建立虚拟坐标系。具体通过以下技术方案来实现。
[0041]步骤Sll:将图片按照图片宽高的自然方向建立坐标轴,标记垂直方向为X轴,水平方向为Y轴。计算图片在X轴上的极高点、极低点,在Y轴上的极远点、极近点;其中,
[0042]极高点为X轴方向上数值最大的点;
[0043]极低点为X轴方向上数值最小的点;
[0044]极远点为Y轴方向上数值最大的点;
[0045]极近点为Y轴方向上数值最小的点。
[0046]步骤12:设定极值偏差值tdev = 20px,计算高点集合、低点集合、远点集合、近点集合。计算方式如下:
[0047]图片中X轴方向距离极高点小于等于tdev的点,记录为高点集合h ;
[0