一种基于字符识别的图像处理方法及装置与流程

文档序号:16432238发布日期:2018-12-28 20:13阅读:226来源:国知局
一种基于字符识别的图像处理方法及装置与流程

本发明涉及图像处理技术领域,尤其涉及一种基于字符识别的图像处理方法及装置。

背景技术

随着机器人技术的不断发展,具有各种功能的机器人如雨后春笋般相继诞生,其中,有一种自然拼读儿童教育的小型机器人,该机器人需要实时识别立体式的字母,以此推动一些字母相关游戏的进行,培养儿童学习英语的兴趣。目前字符识别领域主要分为两大类,第一类方法为传统的模板匹配方法,该方法需要的运行资源较少,但是对于噪声较为敏感,识别率偏低;第二类方法为基于神经网络的方法,其中,以lenet-5作为其中的代表(由yannlecun1994年提出),该方法抗噪能力和识别率都比较理想,但是对于计算能力要求较高,对于小型机器人来说并不能达到实时的要求。除此之外,小型机器人受硬件限制,摄像头采集到的图像视角倾斜严重,并且质量较差,这又会给识别带来更大的挑战。



技术实现要素:

本发明的主要目的在于提出一种基于字符识别的图像处理方法及装置,通过灰度化、透视变换、滤波二值化等操作,将输入图像中的待识别字母信息提取出来,提高了算法的抗噪能力和识别率。

为实现上述目的,本发明提供的一种基于字符识别的图像处理方法,包括:

通过摄像头获取待识别字符的三通道图像;

将所述三通道图像通过灰度算法公式转化为灰度图像;

对所述灰度图像进行透视变换和滤波,得到滤波图像;

对所述滤波图像进行二值化,得到二值图像;

通过八临域算法对所述二值图像进行连通域检测,获得有效图像。

可选地,所述灰度算法公式为:

y(x,y)=r(x,y)*0.299+g(x,y))*0.587+b(x,y)*0.114

其中,y(x,y)表示(x,y)坐标处的灰度值;r(x,y)、g(x,y)、b(x,y)分别表示(x,y)坐标处的红、绿、蓝三通道的分量。

可选地,所述对所述灰度图像进行透视变换和滤波,得到滤波图像包括:

通过透视变换公式对所述灰度图像进行图像视角的变换,将图像视角由倾斜视角转为垂直视角;

采用同态滤波算法对垂直视角的灰度图像进行滤波,得到滤波图像。

可选地,所述对所述滤波图像进行二值化,得到二值图像之后还包括:

对所述二值图像进行闭操作,去除图像中的裂缝噪声。

可选地,所述通过八临域算法对所述二值图像进行连通域检测,获得有效图像包括:

从所述二值图像中获取一个未被标记的黑色像素点,标记为n;

对所述黑色像素点进行八临域算法:检测所述黑色像素点临近的八个像素点中未被标记的黑色像素点,将所述未被标记的黑色像素点存入队列d1中;

从所述队列中选取出一个像素点,标记为n,对所述像素点进行八临域算法;

当所述队列d1为空时,所述二值图像中的所以标记为n的黑色像素点组成一个连通域图像;

对n执行+1操作,重复上述步骤,得到标记为n+1的连通域图像;

对所有连通域图像的中心有效区域进行归一化,得到预设像素值的有效图像。

作为本发明的另一方面,提供的一种基于字符识别的图像处理装置,包括:

获取模块,用于通过摄像头获取待识别字符的三通道图像;

灰度模块,用于将所述三通道图像通过灰度算法公式转化为灰度图像;

透视滤波模块,用于对所述灰度图像进行透视变换和滤波,得到滤波图像;

二值化模块,用于对所述滤波图像进行二值化,得到二值图像;

连通域模块,用于通过八临域算法对所述二值图像进行连通域检测,获得有效图像。

可选地,所述灰度算法公式为:

y(x,y)=r(x,y)*0.299+g(x,y))*0.587+b(x,y)*0.114

其中,y(x,y)表示(x,y)坐标处的灰度值;r(x,y)、g(x,y)、b(x,y)分别表示(x,y)坐标处的红、绿、蓝三通道的分量。

可选地,所述透视滤波模块包括:

透视转换单元,用于通过透视变换公式对所述灰度图像进行图像视角的变换,将图像视角由倾斜视角转为垂直视角;

滤波单元,用于采用同态滤波算法对垂直视角的灰度图像进行滤波,得到滤波图像。

可选地,还包括:

闭操作模块,用于对所述二值图像进行闭操作,去除图像中的裂缝噪声。

可选地,所述连通域模块包括:

标记单元,用于从所述二值图像中获取一个未被标记的黑色像素点,标记为n;

八临域单元,用于对所述黑色像素点进行八临域算法:检测所述黑色像素点临近的八个像素点中未被标记的黑色像素点,将所述未被标记的黑色像素点存入队列d1中;

选取单元,用于从所述队列中选取出一个像素点,标记为n,对所述像素点进行八临域算法;

连通单元,用于当所述队列d1为空时,所述二值图像中的所以标记为n的黑色像素点组成一个连通域图像;

重复单元,用于对n执行+1操作,重复上述步骤,得到标记为n+1的连通域图像;

归一化单元,用于对所有连通域图像的中心有效区域进行归一化,得到预设像素值的有效图像。

本发明提出的一种基于字符识别的图像处理方法及装置,该方法包括:通过摄像头获取待识别字符的三通道图像;将所述三通道图像通过灰度算法公式转化为灰度图像;对所述灰度图像进行透视变换和滤波,得到滤波图像;对所述滤波图像进行二值化,得到二值图像;通过八临域算法对所述二值图像进行连通域检测,获得有效图像;通过灰度化、透视变换、滤波二值化等操作,将输入图像中的待识别字母信息提取出来,提高了算法的抗噪能力和识别率。

附图说明

图1为本发明实施例一提供的一种基于字符识别的图像处理方法的流程图;

图2为本发明实施例一提供的摄像头的安装位置示意图;

图3为图1中步骤s30的方法流程图;

图4为本发明实施例一提供的透视变换示意图;

图5为本发明实施例一提供的另一种基于字符识别的图像处理方法的流程图;

图6为图1中步骤s50的方法流程图;

图7为本发明实施例二提供的一种基于字符识别的图像处理装置的示范性结构框图;

图8为图7中透视滤波模块的示范性结构框图;

图9为本发明实施例二提供的另一种基于字符识别的图像处理装置的示范性结构框图;

图10为图7中连通域模块的示范性结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例一

如图1所示,在本实施例中,一种基于字符识别的图像处理方法,包括:

s10、通过摄像头获取待识别字符的三通道图像;

s20、将所述三通道图像通过灰度算法公式转化为灰度图像;

s30、对所述灰度图像进行透视变换和滤波,得到滤波图像;

s40、对所述滤波图像进行二值化,得到二值图像;

s50、通过八临域算法对所述二值图像进行连通域检测,获得有效图像。

在本实施例中,通过灰度化、透视变换、滤波二值化等操作,将输入图像中的待识别字母信息提取出来,提高了算法的抗噪能力和识别率。

在本实施例中,所述摄像头为安装在机器人主体上的摄像头。如图2所示,为摄像头(相机)的安装位置示意图,摄像头离水平面的高度为h1,摄像头的拍摄角度为θ,摄像头的像素为200万像素,待识别字符的尺寸为宽30mm高40mm。

在本实施例中,所述灰度算法公式为:

y(x,y)=r(x,y)*0.299+g(x,y))*0.587+b(x,y)*0.114

其中,y(x,y)表示(x,y)坐标处的灰度值;r(x,y)、g(x,y)、b(x,y)分别表示(x,y)坐标处的红、绿、蓝三通道的分量。

如图3所示,在本实施例中,所述步骤s30包括:

s31、通过透视变换公式对所述灰度图像进行图像视角的变换,将图像视角由倾斜视角转为垂直视角;

s32、采用同态滤波算法对垂直视角的灰度图像进行滤波,得到滤波图像。

在本实施例中,根据机器人摄像头与水平面的夹角θ计算一个单应矩阵,使用该单应矩阵对图像进行透视变换,使图像从倾斜视角转为垂直视角。单应矩阵的计算方法为,使用机器人摄像头拍一个矩形物体,如图4所示,其中左侧为机器人视角看到的矩形,右侧为垂直视角看到的矩形,其中坐标a1-a4与坐标b1-b4为一一对应,必然存在一个3x3的矩阵t1使得下式成立。

a(1,2,3,4)*t1=b(1,2,3,4)

利用最小二乘法即可求出矩阵t1,t1即为该步骤需要的单应矩阵,如图2所示,一般机器人在设计完成之后摄像机高度h1和角度θ就已经确定,所以t1也在此时就已确定。

在本实施例中,透视变换公式为:

其中u,v为像素在原始图片中的坐标;x,y为像素在变换后图片中的坐标,其中x=x’/w’,y=y’/w’。

在本实施例中,同态滤波器构造过程为:

-1

f(x,y)→in→dft→h(u,v)→(dft)→exp→g(x,y)

其中,x,y表示像素的坐标,in表示对数操作,dft为傅里叶变换,h(u,v)为一个高通滤波器,这里为高斯高通滤波器,dft-1为反傅里叶变换,exp为取值操作。

在本实施例中,二值化公式为:

其中,bin(x,y)为二值图像中x,y坐标处的值,t2为选定的一个灰度阈值。

如图5所示,在本实施例中,所述步骤s40之后还包括:

s41、对所述二值图像进行闭操作,去除图像中的裂缝噪声。

在本实施例中,闭操作具体为:

(1)对图像先进行膨胀操作,即构造一个3x3的元素,与每一个像素进行‘与’操作,如果中心及邻域像素为0,则该像素为0;

(2)在对图像进行一次腐蚀操作,同样构造3x3的元素,与每一个像素进行‘与’操作,如果邻域中有像素大于0,则该像素为255。

如图6所示,在本实施例中,所述步骤s50包括:

s51、从所述二值图像中获取一个未被标记的黑色像素点,标记为n;

s52、对所述黑色像素点进行八临域算法:检测所述黑色像素点临近的八个像素点中未被标记的黑色像素点,将所述未被标记的黑色像素点存入队列d1中;

s53、从所述队列中选取出一个像素点,标记为n,对所述像素点进行八临域算法;

s54、当所述队列d1为空时,所述二值图像中的所以标记为n的黑色像素点组成一个连通域图像;

s55、对n执行+1操作,重复上述步骤,得到标记为n+1的连通域图像;

s56、对所有连通域图像的中心有效区域进行归一化,得到预设像素值的有效图像。

在本实施例中,所述预设像素值的有效图像与待识别字符的尺寸相关,为30x40的图像。

实施例二

如图7所示,在本实施例中,一种基于字符识别的图像处理装置,包括:

获取模块10,用于通过摄像头获取待识别字符的三通道图像;

灰度模块20,用于将所述三通道图像通过灰度算法公式转化为灰度图像;

透视滤波模块30,用于对所述灰度图像进行透视变换和滤波,得到滤波图像;

二值化模块40,用于对所述滤波图像进行二值化,得到二值图像;

连通域模块50,用于通过八临域算法对所述二值图像进行连通域检测,获得有效图像。

在本实施例中,通过灰度化、透视变换、滤波二值化等操作,将输入图像中的待识别字母信息提取出来,提高了算法的抗噪能力和识别率。

在本实施例中,所述摄像头为安装在机器人主体上的摄像头。如图2所示,为摄像头(相机)的安装位置示意图,摄像头离水平面的高度为h1,摄像头的拍摄角度为θ,摄像头的像素为200万像素,待识别字符的尺寸为宽30mm高40mm。

在本实施例中,所述灰度算法公式为:

y(x,y)=r(x,y)*0.299+g(x,y))*0.587+b(x,y)*0.114

其中,y(x,y)表示(x,y)坐标处的灰度值;r(x,y)、g(x,y)、b(x,y)分别表示(x,y)坐标处的红、绿、蓝三通道的分量。

如图8所示,在本实施例中,所述透视滤波模块包括:

透视转换单元31,用于通过透视变换公式对所述灰度图像进行图像视角的变换,将图像视角由倾斜视角转为垂直视角;

滤波单元32,用于采用同态滤波算法对垂直视角的灰度图像进行滤波,得到滤波图像。

在本实施例中,根据机器人摄像头与水平面的夹角θ计算一个单应矩阵,使用该单应矩阵对图像进行透视变换,使图像从倾斜视角转为垂直视角。单应矩阵的计算方法为,使用机器人摄像头拍一个矩形物体,如图4所示,其中左侧为机器人视角看到的矩形,右侧为垂直视角看到的矩形,其中坐标a1-a4与坐标b1-b4为一一对应,必然存在一个3x3的矩阵t1使得下式成立。

a(1,2,3,4)*t1=b(1,2,3,4)

利用最小二乘法即可求出矩阵t1,t1即为该步骤需要的单应矩阵,如图2所示,一般机器人在设计完成之后摄像机高度h1和角度θ就已经确定,所以t1也在此时就已确定。

在本实施例中,透视变换公式为:

其中u,v为像素在原始图片中的坐标;x,y为像素在变换后图片中的坐标,其中x=x’/w’,y=y’/w’。

在本实施例中,同态滤波器构造过程为:

f(x,y)→in→dft→h(u,v)→(dft)-1→exp→g(x,y)

其中,x,y表示像素的坐标,in表示对数操作,dft为傅里叶变换,h(u,v)为一个高通滤波器,这里为高斯高通滤波器,dft-1为反傅里叶变换,exp为取值操作。

在本实施例中,二值化公式为:

其中,bin(x,y)为二值图像中x,y坐标处的值,t2为选定的一个灰度阈值。

如图9所示,在本实施例中,还包括:

闭操作模块60,用于对所述二值图像进行闭操作,去除图像中的裂缝噪声。

在本实施例中,闭操作具体为:

(1)对图像先进行膨胀操作,即构造一个3x3的元素,与每一个像素进行‘与’操作,如果中心及邻域像素为0,则该像素为0;

(2)在对图像进行一次腐蚀操作,同样构造3x3的元素,与每一个像素进行‘与’操作,如果邻域中有像素大于0,则该像素为255。

如图10所示,在本实施例中,所述连通域模块包括:

标记单元51,用于从所述二值图像中获取一个未被标记的黑色像素点,标记为n;

八临域单元52,用于对所述黑色像素点进行八临域算法:检测所述黑色像素点临近的八个像素点中未被标记的黑色像素点,将所述未被标记的黑色像素点存入队列d1中;

选取单元53,用于从所述队列中选取出一个像素点,标记为n,对所述像素点进行八临域算法;

连通单元54,用于当所述队列d1为空时,所述二值图像中的所以标记为n的黑色像素点组成一个连通域图像;

重复单元55,用于对n执行+1操作,重复上述步骤,得到标记为n+1的连通域图像;

归一化单元56,用于对所有连通域图像的中心有效区域进行归一化,得到预设像素值的有效图像。

在本实施例中,所述预设像素值的有效图像与待识别字符的尺寸相关,为30x40的图像。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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