本发明涉及图像处理领域,尤其涉及一种基于svm的对联智能分拣方法及存储介质。
背景技术:
随着我国经济不断发展和新型零售方式的兴起,人民对物质的需求越来越大,传统的工业生产流水线已经不能满足生产力的需求。在“工业4.0”快速发展的大背景之下,国内许多工厂都投入了自动化流水线,无人车间等,但是这些先进的自动分拣装备都大多针对于物流快递行业,在其他领域上依旧采用传统的人力分拣方式。总而言之,国内的分拣模型控制系统,现阶段相对较少,技术发展空间大,技术应用有待扩宽。
在我国,工业领域上的分拣目前采用智能分拣为主,人力为辅的方式,以减低成本,提高精确度。但对联市场依旧采用传统的对联分拣方式,完全基于人力,完成对联搜素、比对、搬运等任务,造成了生产力水平较低,尤其在春节对联市场供不应求。
当今的对联市场需要一种能够针对对联进行智能分拣的方法,以配合相应的嵌入式控制系统来对对联进行智能分拣,能够降低成本并提高分拣精确度。
技术实现要素:
本发明的目的是解决现有技术的不足,提供一种基于svm的对联智能分拣方法及存储介质。
为了实现上述目的,本发明采用以下的技术方案:
提出一种基于svm的对联智能分拣方法,包括以下:
步骤101、获取对联的图像信息作为第一图像;
步骤102、对所述第一图像进行预处理得到第二图像;
步骤103、提取所述第二图像的感兴趣区域图像得到第三图像;
步骤104、对所述第三图像进行图像分割得到其中的文字图像,并对所述文字图像进行归一化处理作为测试集;
步骤105、通过svm分类器算法对所述测试集进行识别,若识别成功则对该对联进行相应的分拣,若识别失败则不对该对联进行操作。
进一步,上述步骤102中的预处理操作具体包括以下:
步骤201、将第一图像由rgb颜色空间转换为hsv颜色空间的图像,其中取37<h<75,s>38,v>89,并获取所述hsv颜色空间的图像的掩膜图像;
步骤202、对掩膜图像进行按位与操作得到第四图像;
步骤203、对第四图像的掩膜图像进行图像的闭操作后再进行图像的开操作得到第五图像;
步骤204、对第五图像进行倾斜矫正处理得到第二图像。
进一步,上述步骤204的倾斜矫正操作具体包括如下:
步骤301、通过canny算子对第五图像进行边缘检测得到第五图像的轮廓图像;
步骤302、将一副空白图像作为背景,通过霍夫变换找到构成第五图像的轮廓图像的4条直线;
步骤303、通过寻找角点操作找到构成第五图像的轮廓图像的四个角点,将其设为x[[x0,y0],[x1,y1],[x2,y2],[x3,y3]];
步骤304、对四个角点进行重新构建得到新的四个角点y[[x0,y1],[x3,y1],[x0,y2],[x3,y2]],并根据新的四个角点得到倾斜矫正后的轮廓图像,进而得到第五图像的矫正图像。
进一步,上述步骤103中的提取感兴趣区域图像的具体操作包括以下:
对第二图像依次进行掩膜操作、二值化处理以及边缘检测操作后得到第六图像,之后截取第六图像得到第六图像的感兴趣区域图像即第三图像。
进一步,上述步骤104中的图像分割操作具体包括以下:
步骤501、统计第三图像中水平方向各行的黑色像素点的个数,并按照黑色像素点的个数绘制出相对应的第一投影分布图,所述第一投影分布图中的线条长度与黑色像素点的个数成正比;
步骤502、结合第一投影分布图中的谷值位置对第三图像进行图像水平切割得到多个第一切割图像;
步骤503、统计多个第一切割图像中竖直方向各行的黑色像素点的个数,并按照黑色像素点的个数绘制出相对应的第二投影分布图,所述第二投影分布图中的线条长度与黑色像素点的个数成正比;
步骤504、结合第二投影分布图中的谷值位置对第一切割图像进行图像竖直切割得到多个第二切割图像,所述第二切割图像即为对应的文字图像。
进一步,上述步骤105中的svm分类器算法具体包括以下:
步骤601、采集对联所包含的字符的图像制作训练集,每一个字符的多个图像组成一个训练集;
步骤602、对每一个训练集中的图像进行训练,并将训练后的模型自动生成训练模型.xml文件;
步骤603、读取训练模型.xml文件,并对测试集按照训练好的模型进行识别,得到响应的识别结果。
进一步,上述步骤601中的每一个训练集的字符的图像至少为55个。
本发明还提出一种计算机可读存储的介质,所述计算机可读存储的介质存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于svm的对联智能分拣方法的步骤。
本发明的有益效果为:
本发明通过提出一种基于svm的对联智能分拣方法,首先将对联图像进行预处理得到去噪、倾斜矫正后的对联图像,接着提取对联图像的感兴趣区域即相应的内容区域,将感兴趣区域进行文字提取后通过svm算法进行识别得到对联的识别结果,根据相应的识别结果配合嵌入式控制系统来对对联进行智能分拣,能够降低对联分拣的成本并提高对联分拣的精确度。
附图说明
图1所示为一种基于svm的对联智能分拣方法流程图;
图2所示为本方法中一个实施方式的第一图像转化为hsv颜色空间的图像的掩膜图像;
图3所示为本方法中一个实施方式的闭操作后的图像;
图4所示为本方法中一个实施方式的开操作后的图像;
图5所示为本方法中一个实施方式的边缘提取后的图像;
图6所示为本方法中一个实施方式的霍夫变换所找出的4条直线的图像;
图7所示为本方法中一个实施方式的感兴趣区域图像;
图8所示为本方法中一个实施方式的第一投影分布图;
图9所示为本方法中一个实施方式的第一切割图像的示意图;
图10所示为本方法中一个实施方式的第二切割图像的示意图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。附图中各处使用的相同的附图标记指示相同或相似的部分。
结合图1,本发明提出提出一种基于svm的对联智能分拣方法,包括以下:
步骤101、获取对联的图像信息作为第一图像;
步骤102、对所述第一图像进行预处理得到第二图像;
步骤103、提取所述第二图像的感兴趣区域图像得到第三图像;
步骤104、对所述第三图像进行图像分割得到其中的文字图像,并对所述文字图像进行归一化处理作为测试集;
步骤105、通过svm分类器算法对所述测试集进行识别,若识别成功则对该对联进行相应的分拣,若识别失败则不对该对联进行操作。
结合图2、图3以及图4,作为本方案的优选实施方式,上述步骤102中的预处理操作具体包括以下:
步骤201、将第一图像由rgb颜色空间转换为hsv颜色空间的图像,其中取37<h<75,s>38,v>89,并获取所述hsv颜色空间的图像的掩膜图像;
步骤202、对掩膜图像进行按位与操作得到第四图像;
步骤203、对第四图像的掩膜图像进行图像的闭操作后再进行图像的开操作得到第五图像;
步骤204、对第五图像进行倾斜矫正处理得到第二图像。
结合图5、图6以及图7,作为本方案的优选实施方式,上述步骤204的倾斜矫正操作具体包括如下:
步骤301、通过canny算子对第五图像进行边缘检测得到第五图像的轮廓图像;
步骤302、将一副空白图像作为背景,通过霍夫变换找到构成第五图像的轮廓图像的4条直线;
步骤303、通过寻找角点操作找到构成第五图像的轮廓图像的四个角点,将其设为x[[x0,y0],[x1,y1],[x2,y2],[x3,y3]];
步骤304、对四个角点进行重新构建得到新的四个角点y[[x0,y1],[x3,y1],[x0,y2],[x3,y2]],并根据新的四个角点得到倾斜矫正后的轮廓图像,进而得到第五图像的矫正图像。
作为本方案的优选实施方式,上述步骤103中的提取感兴趣区域图像的具体操作包括以下:
对第二图像依次进行掩膜操作、二值化处理以及边缘检测操作后得到第六图像,之后截取第六图像得到第六图像的感兴趣区域图像即第三图像。
结合图8、图9以及图10,作为本方案的优选实施方式,上述步骤104中的图像分割操作具体包括以下:
步骤501、统计第三图像中水平方向各行的黑色像素点的个数,并按照黑色像素点的个数绘制出相对应的第一投影分布图,所述第一投影分布图中的线条长度与黑色像素点的个数成正比;
步骤502、结合第一投影分布图中的谷值位置对第三图像进行图像水平切割得到多个第一切割图像;
步骤503、统计多个第一切割图像中竖直方向各行的黑色像素点的个数,并按照黑色像素点的个数绘制出相对应的第二投影分布图,所述第二投影分布图中的线条长度与黑色像素点的个数成正比;
步骤504、结合第二投影分布图中的谷值位置对第一切割图像进行图像竖直切割得到多个第二切割图像,所述第二切割图像即为对应的文字图像。
作为本方案的优选实施方式,上述步骤105中的svm分类器算法具体包括以下:
步骤601、采集对联所包含的字符的图像制作训练集,每一个字符的多个图像组成一个训练集;
步骤602、对每一个训练集中的图像进行训练,并将训练后的模型自动生成训练模型.xml文件;
步骤603、读取训练模型.xml文件,并对测试集按照训练好的模型进行识别,得到响应的识别结果。
作为本方案的优选实施方式,上述步骤601中的每一个训练集的字符的图像至少为55个。
具体的,进行了识别测试,后发现,在训练集的数目为27个时,识别率为78.57%,在训练集的数目为40个时,识别率为92.85%,在训练集的数目为57个时,识别率为100%。所述本实施方式设定一个训练集的字符的图像至少要55个,确保识别的准确性。
具体的,本方案按照如下步骤进行实施,
1.用摄像头来拍摄对联的原图;
2.对原图进行图像分割处理,将图像从rgb转换为hsv空间,根据经验值绿色的h(色调)取大于37小于75,s(饱和度)大于38,v(明度)大于89,得到一副掩膜,对掩膜进行图片做按位与操作;
3.对2处理后的图像进行消除噪声操作,因为按位与操作得到的图片存在着很明显的亮斑,称为噪声,倘若不讲噪声噪声或者减弱,将对后面的文字分割和识别造成很大的影响,为了消除噪声,进行图像的闭操作,但是得到的图像仍存在噪声,故再对图像进行开操作;
4.对没有噪声的图片进行倾斜矫正,使用canny算子进行图像边缘检测,因为没有噪声的图片的边框与其他常见的形状的边框有所不同,它是圆角的矩形边框,故而不能直接通过相关函数的api接口,并且采用常规的先通过霍夫变换,找到一条线,然后直接对这条线所返回的角度值,用于倾斜矫正中用作仿射变换的角度值,实现倾斜矫正。但实际上,在本设计这样是行不通的,因为一条线只包含两个点,所以返回的角度也只是对两个点所在的直线进行矫正;而本作品对于倾斜矫正的精度要求很高,所以不能采用这种错误的方法;本方案采用的思路是:既然没有直角边框,那就把圆角变成直角边框,
首先本方案通过一副空白图片作为背景,对边缘检测到的边框做霍夫变换找到了边框的4条直线,通过寻找角点,找到图像的四个角点,取其坐标点,将其原本坐标x[[x0,y0],[x1,y1],[x2,y2],[x3,y3]]重新构建,取而代之y[[x0,y1],[x3,y1],[x0,y2],[x3,y2]],变换后的点两两垂直,由这些点就构成了一个矫正后的边框,
5.通过倾斜矫正,可以得到一个比较直的边框,此时通过对该图像再进行一次掩膜操作、二值化处理、寻找边框操作,截取图像得到感兴趣区域图像;
6.对图像先进行水平分割,后进行竖直分割将图像分割成多个字符,具体可以根据第一投影分布图以及第二投影分布图根据这些峰值谷值,设置阈值,将图片进行水平切割;
7.通过svm分类器算法对所述测试集进行识别,若识别成功则对该对联进行相应的分拣,若识别失败则不对该对联进行操作。
本发明还提出一种计算机可读存储的介质,所述计算机可读存储的介质存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于svm的对联智能分拣方法的步骤。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储的介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
尽管本发明的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本发明的预定范围。此外,上文以发明人可预见的实施例对本发明进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本发明的非实质性改动仍可代表本发明的等效改动。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
1.一种基于svm的对联智能分拣方法,其特征在于,包括以下:
步骤101、获取对联的图像信息作为第一图像;
步骤102、对所述第一图像进行预处理得到第二图像;
步骤103、提取所述第二图像的感兴趣区域图像得到第三图像;
步骤104、对所述第三图像进行图像分割得到其中的文字图像,并对所述文字图像进行归一化处理作为测试集;
步骤105、通过svm分类器算法对所述测试集进行识别,若识别成功则对该对联进行相应的分拣,若识别失败则不对该对联进行操作。
2.根据权利要求1所述的一种基于svm的对联智能分拣方法,其特征在于,上述步骤102中的预处理操作具体包括以下:
步骤201、将第一图像由rgb颜色空间转换为hsv颜色空间的图像,其中取37<h<75,s>38,v>89,并获取所述hsv颜色空间的图像的掩膜图像;
步骤202、对掩膜图像进行按位与操作得到第四图像;
步骤203、对第四图像的掩膜图像进行图像的闭操作后再进行图像的开操作得到第五图像;
步骤204、对第五图像进行倾斜矫正处理得到第二图像。
3.根据权利要求2所述的一种基于svm的对联智能分拣方法,其特征在于,上述步骤204的倾斜矫正操作具体包括如下:
步骤301、通过canny算子对第五图像进行边缘检测得到第五图像的轮廓图像;
步骤302、将一副空白图像作为背景,通过霍夫变换找到构成第五图像的轮廓图像的4条直线;
步骤303、通过寻找角点操作找到构成第五图像的轮廓图像的四个角点,将其设为x[[x0,y0],[x1,y1],[x2,y2],[x3,y3]];
步骤304、对四个角点进行重新构建得到新的四个角点y[[x0,y1],[x3,y1],[x0,y2],[x3,y2]],并根据新的四个角点得到倾斜矫正后的轮廓图像,进而得到第五图像的矫正图像。
4.根据权利要求1所述的一种基于svm的对联智能分拣方法,其特征在于,上述步骤103中的提取感兴趣区域图像的具体操作包括以下:
对第二图像依次进行掩膜操作、二值化处理以及边缘检测操作后得到第六图像,之后截取第六图像得到第六图像的感兴趣区域图像即第三图像。
5.根据权利要求1所述的一种基于svm的对联智能分拣方法,其特征在于,上述步骤104中的图像分割操作具体包括以下:
步骤501、统计第三图像中水平方向各行的黑色像素点的个数,并按照黑色像素点的个数绘制出相对应的第一投影分布图,所述第一投影分布图中的线条长度与黑色像素点的个数成正比;
步骤502、结合第一投影分布图中的谷值位置对第三图像进行图像水平切割得到多个第一切割图像;
步骤503、统计多个第一切割图像中竖直方向各行的黑色像素点的个数,并按照黑色像素点的个数绘制出相对应的第二投影分布图,所述第二投影分布图中的线条长度与黑色像素点的个数成正比;
步骤504、结合第二投影分布图中的谷值位置对第一切割图像进行图像竖直切割得到多个第二切割图像,所述第二切割图像即为对应的文字图像。
6.根据权利要求1所述的一种基于svm的对联智能分拣方法,其特征在于,上述步骤105中的svm分类器算法具体包括以下:
步骤601、采集对联所包含的字符的图像制作训练集,每一个字符的多个图像组成一个训练集;
步骤602、对每一个训练集中的图像进行训练,并将训练后的模型自动生成训练模型.xml文件;
步骤603、读取训练模型.xml文件,并对测试集按照训练好的模型进行识别,得到响应的识别结果。
7.根据权利要求6所述的一种基于svm的对联智能分拣方法,其特征在于,上述步骤601中的每一个训练集的字符的图像至少为55个。
8.一种计算机可读存储的介质,所述计算机可读存储的介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。
技术总结