非文字图像识别方法和装置与流程

文档序号:12272288阅读:251来源:国知局
非文字图像识别方法和装置与流程

本发明涉及图像识别技术领域,具体涉及一种非文字图像识别方法和装置。



背景技术:

搜题类应用程序(即搜索类App,其中,App为Application的英文缩写)是指能够获取题目并自动从题库中搜索该题目的解题步骤和答案后,显示该题目的解题步骤和答案的App。

现在市面上的搜题类App主要是通过摄像头获取包含试题的图像,之后通过对该图像进行识别,从中提取文本信息进行试题搜索。目前在对图像进行识别的过程中,只要有图像输入就会有识别结果输出,即使图像本身并不包含文本信息,对于不包含文本信息的图像,由于该图像本身并不包含文本信息,因此识别结果也必然会不准确,而基于不准确的识别结果进行试题搜索,也必然会影响试题搜索结果的准确性。

目前并不存在对非文字图像进行识别的相关机制。



技术实现要素:

本发明提供一种非文字图像识别方法和装置,用于实现对非文字图像的自动识别。

本发明第一方面提供一种非文字图像识别方法,包括:

获取图像;

对上述图像进行二值化处理,得到二值化图;

针对上述二值化图中的各行,将各行中各个像素点的灰度值相加,得到各行的行值;

将上述二值化图中连续的拥有最大行值的行视为一组,检测上述二值化图中是否存在N个以上目标组,其中,上述N为正整数,上述目标组具体为:首行不为上述二值化图的首行且尾行不为上述二值化图的尾行的组;

若不存在,则确定上述图像为非文字图像。

本发明第二方面提供一种非文字图像识别装置,包括:

获取单元,用于获取图像;

二值化处理单元,用于对上述获取单元获取的图像进行二值化处理,得到二值化图;

计算单元,用于针对上述二值化图中的各行,将各行中各个像素点的灰度值相加,得到各行的行值;

第一检测单元,用于将上述二值化图中连续的拥有最大行值的行视为一组,检测上述二值化图中是否存在N个以上目标组,其中,上述N为正整数,上述目标组具体为:首行不为上述二值化图的首行且尾行不为上述二值化图的尾行的组;

确定单元,用于当上述第一检测单元的检测结果为不存在时,确定上述图像为非文字图像。

由上可见,本发明方案中将图像转化为二值化图,之后计算二值化图各行的行值,并将二值化图中连续的拥有最大行值的行视为一组,检测该二值化图中是否存在N个目标组(即首行和尾行均不为二值化图的首行和尾行的组),当不存在时,确定该图像为非文字图像。由于对于文字图像,文字图像中的各行文字之间通常为空白行,而二值化后的空白行的行值相对于非空白行的行值要大,因此,当检测到该二值化图中不存在N个以上目标组时,可大概率地认为该图像中不存在文字行,由此确定该图像为非文字图像。通过本发明方案,能够实现对非文字图像的自动识别,且识别结果较为准确。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1-a为本发明提供的非文字图像识别方法一个实施例流程示意图;

图1-b为一种应用场景下的二值化图;

图2为本发明提供的非文字图像识别方法另一个实施例流程示意图

图3为本发明提供的非文字图像识别装置一个实施例结构示意图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种非文字图像识别方法,包括:获取图像;对上述图像进行二值化处理,得到二值化图;针对上述二值化图中的各行,将各行中各个像素点的灰度值相加,得到各行的行值;将上述二值化图中连续的拥有最大行值的行视为一组,检测上述二值化图中是否存在N个以上目标组,其中,上述N为正整数,上述目标组具体为:首行不为上述二值化图的首行且尾行不为上述二值化图的尾行的组;若不存在,则确定上述图像为非文字图像。本发明实施例还提供相应的非文字图像识别装置,以下分别进行详细说明。

实施例一

请参阅图1-a,本发明实施例中的非文字图像识别方法包括:

步骤101、获取图像;

本发明实施例中,获取需要进行非文字图像识别的图像,例如,可获取实时拍照所得的图像,或者,获取拍照所得且准备用于进行试题搜索或用于其它应用的图像。

步骤102、对上述图像进行二值化处理,得到二值化图;

本发明实施例中,对步骤101获取的上述图像进行二值化处理。上述对图像进行二值化处理也即:将图像上的像素点的灰度值设置为0或255,使得整个图像呈现出明显的只有黑和白的视觉效果。在二值化处理后得到的二值化图中,图像上白色像素点的灰度值为255,黑色像素点的灰度值为0。

具体的,对图像进行二值化处理的过程可以参照已有技术实现,此处不再赘述。

步骤103、针对上述二值化图中的各行,将各行中各个像素点的灰度值相加,得到各行的行值;

本发明实施例中,将步骤102得到的二值化图中各行的各个像素点的灰度值相加,得到各行的行值。举例说明,如图1-b所示的二值化图,共有10*10个像素点,则该二值化图中第一行的行值为255*10=2550,第二行的行值为255*10=2550,第三行的行值为255*5=1275,第四行的行值为255*10=2550,第五行的行值为255*10=2550,第六行的行值为255*5=1275,第七行的行值为255*4=1020,第八行的行值为255*3=765,第九行的行值为255*6=1530,第十行的行值为255*10=2550。

步骤104、将上述二值化图中连续的拥有最大行值的行视为一组,检测上述二值化图中是否存在N个以上目标组;

其中,上述N为正整数,N的取值可以根据实际需求进行设定。上述目标组具体为:首行不为上述二值化图的首行且尾行不为上述二值化图的尾行的组。

以图1-b为例进行说明,在图1-b中,最大行值为2550,其中,第一行、第二行、第四行、第五行以及第十行为拥有最大行值的行,在步骤104中,由于第一行和第二行为连续的拥有最大行值的行,第四行和第五行也为连续的拥有最大行值的行,故将第一行和第二行视为一组(为便于描述,将该组描述为组1),将第四行和第五行视为一组(为便于描述,将该组描述为组2)。由于组1的首行为图1-b所示的二值化图的首行,故组1不属于上述目标组,而组2的首行(即第四行)和尾行(即第五行)均不为图1-b所示的二值化图的首行和尾行,故组2属于上述目标组,通过上述检测,即可确定在图1-b所示的二值化图中存在1个目标组。

步骤105、若不存在,则确定上述图像为非文字图像;

本发明实施例,当步骤104的检测结果为不存在(即上述二值化图中不存在N个以上目标组)时,确定上述图像为非文字图像。

进一步,在步骤105确定上述图像为非文字图像之后,还可以输出指示上述图像为非文字图像的提示信息。

由于用户在拍摄图像时有可能会将拍摄对象拍歪,使得获得的图像为倾斜图像,因此,为了进一步提高非文字图像识别的准确性,还可以在本发明实施例的基础上,先对步骤101获取的图像进行倾斜校正,之后再针对倾斜校正后的图像进行二值化处理的步骤和后续步骤(后续步骤例如步骤203~205)。

需要说明的是,本发明实施例中的非文字图像识别方法可以由非文字图像识别装置实现,该非文字图像识别装置具体可以以软件(例如App的形式)集成在上述电子终端(例如智能手机、平板电脑、学习机等终端)中。

由上可见,本发明方案中将图像转化为二值化图,之后计算二值化图各行的行值,并将二值化图中连续的拥有最大行值的行视为一组,检测该二值化图中是否存在N个目标组(即首行和尾行均不为二值化图的首行和尾行的组),当不存在时,确定该图像为非文字图像。由于对于文字图像,文字图像中的各行文字之间通常为空白行,而二值化后的空白行的行值相对于非空白行的行值要大,因此,当检测到该二值化图中不存在N个以上目标组时,可大概率地认为该图像中不存在文字行,由此确定该图像为非文字图像。通过本发明方案,能够实现对非文字图像的自动识别,且识别结果较为准确。

实施例二

本发明实施例与实施例一的区别在于,本发明实施例进一步还包括对图像进行倾斜校正的方案,如图2所示,本发明实施例中的模糊非文字图像识别方法包括:

步骤201、获取图像;

本发明实施例中,获取需要进行非文字图像识别的图像,例如,可获取实时拍照所得的图像,或者,获取拍照所得且准备用于进行试题搜索或用于其它应用的图像。

步骤202、对上述图像进行倾斜校正;

本发明实施例中,对步骤201获取的图像进行倾斜校正。

具体地,对图像进行倾斜校正可以参照已有的图像倾斜校正算法(例如参考直线校正法、Hough变换法等),此处不再赘述。

步骤203、对经上述倾斜校正处理后的图像进行二值化处理,得到二值化图;

本发明实施例中,对经步骤202处理后的图像进行二值化处理。上述对图像进行二值化处理也即:将图像上的像素点的灰度值设置为0或255,使得整个图像呈现出明显的只有黑和白的视觉效果。在二值化处理后得到的二值化图中,图像上白色像素点的灰度值为255,黑色像素点的灰度值为0。

具体的,对图像进行二值化处理的过程可以参照已有技术实现,此处不再赘述。

步骤204、针对上述二值化图中的各行,将各行中各个像素点的灰度值相加,得到各行的行值;

本发明实施例中,将步骤203得到的二值化图中各行的各个像素点的灰度值相加,得到各行的行值。举例说明,如图1-b所示的二值化图,共有10*10个像素点,则该二值化图中第一行的行值为255*10=2550,第二行的行值为255*10=2550,第三行的行值为255*5=1275,第四行的行值为255*10=2550,第五行的行值为255*10=2550,第六行的行值为255*5=1275,第七行的行值为255*4=1020,第八行的行值为255*3=765,第九行的行值为255*6=1530,第十行的行值为255*10=2550。

步骤205、将上述二值化图中连续的拥有最大行值的行视为一组,检测上述二值化图中是否存在N个以上目标组;

其中,上述N为正整数,N的取值可以根据实际需求进行设定。上述目标组具体为:首行不为上述二值化图的首行且尾行不为上述二值化图的尾行的组。

以图1-b为例进行说明,在图1-b中,最大行值为2550,其中,第一行、第二行、第四行、第五行以及第十行为拥有最大行值的行,在步骤104中,由于第一行和第二行为连续的拥有最大行值的行,第四行和第五行也为连续的拥有最大行值的行,故将第一行和第二行视为一组(为便于描述,将该组描述为组1),将第四行和第五行视为一组(为便于描述,将该组描述为组2)。由于组1的首行为图1-b所示的二值化图的首行,故组1不属于上述目标组,而组2的首行(即第四行)和尾行(即第五行)均不为图1-b所示的二值化图的首行和尾行,故组2属于上述目标组,通过上述检测,即可确定在图1-b所示的二值化图中存在1个目标组。

步骤206、若不存在,则确定上述图像为非文字图像;

本发明实施例,当步骤205的检测结果为不存在(即上述二值化图中不存在N个以上目标组)时,确定上述图像为非文字图像。

进一步,在步骤205确定上述图像为非文字图像之后,还可以输出指示上述图像为非文字图像的提示信息。

在本发明实施例中,是直接对步骤201获取的图像进行倾斜校正,在其它实施例中,也可以先检查步骤201获取的图像是否为倾斜图像,若检测到该图像为倾斜图像,才执行步骤202,否则,可跳过倾斜校正的步骤,针对步骤201获取的图像进行二值化处理及后续步骤的步骤(后续步骤例如步骤204~206)。

需要说明的是,本发明实施例中的非文字图像识别方法可以由非文字图像识别装置实现,该非文字图像识别装置具体可以以软件(例如App的形式)集成在上述电子终端(例如智能手机、平板电脑、学习机等终端)中。

由上可见,本发明方案中将图像转化为二值化图,之后计算二值化图各行的行值,并将二值化图中连续的拥有最大行值的行视为一组,检测该二值化图中是否存在N个目标组(即首行和尾行均不为二值化图的首行和尾行的组),当不存在时,确定该图像为非文字图像。由于对于文字图像,文字图像中的各行文字之间通常为空白行,而二值化后的空白行的行值相对于非空白行的行值要大,因此,当检测到该二值化图中不存在N个以上目标组时,可大概率地认为该图像中不存在文字行,由此确定该图像为非文字图像。通过本发明方案,能够实现对非文字图像的自动识别,且识别结果较为准确。

实施例三

本发明实施例中对一种模非文字图像识别装置进行描述,请参阅图3,本发明实施例中的非文字图像识别装置300包括:

获取单元301,用于获取图像;

二值化处理单元302,用于对获取单元301获取的图像进行二值化处理,得到二值化图;

计算单元303,用于针对上述二值化图中的各行,将各行中各个像素点的灰度值相加,得到各行的行值;

第一检测单元304,用于将上述二值化图中连续的拥有最大行值的行视为一组,检测上述二值化图中是否存在N个以上目标组,其中,上述N为正整数,上述目标组具体为:首行不为上述二值化图的首行且尾行不为上述二值化图的尾行的组;

确定单元305,用于当第一检测单元304的检测结果为不存在时,确定上述图像为非文字图像。

可选的,本发明实施例中的非文字图像识别装置还包括:倾斜校正单元,用于对获取单元301获取的图像进行倾斜校正;二值化处理单元302具体用于:当上述倾斜校正单元对获取单元301获取的图像进行倾斜校正后,对经上述倾斜校正后的图像进行二值化处理。进一步,本发明实施例中的非文字图像识别装置还包括:第二检测单元,用于检测获取单元301获取的图像是否为倾斜图像;上述倾斜校正单元在上述第二检测单元的检测结果为是时触发;二值化处理单元302具体还用于:当上述第二检测单元的检测结果为否时,对获取单元301获取的图像进行二值化处理。

可选的,获取单元301具体用于:获取拍照所得且准备用于进行试题搜索的图像。

可选的,本发明实施例中的非文字图像识别装置还包括:提示单元,用于当确定单元305确定上述图像为非文字图像时,输出指示上述图像为非文字图像的提示信息。

需要说明的是,本发明实施例中的非文字图像识别装置具体可以以软件的方式(例如App的形式)集成在上述电子终端(例如智能手机、平板电脑、学习机等终端)中。

应理解,本发明实施例中的非文字图像识别装置可以用于实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。

由上可见,本发明方案中将图像转化为二值化图,之后计算二值化图各行的行值,并将二值化图中连续的拥有最大行值的行视为一组,检测该二值化图中是否存在N个目标组(即首行和尾行均不为二值化图的首行和尾行的组),当不存在时,确定该图像为非文字图像。由于对于文字图像,文字图像中的各行文字之间通常为空白行,而二值化后的空白行的行值相对于非空白行的行值要大,因此,当检测到该二值化图中不存在N个以上目标组时,可大概率地认为该图像中不存在文字行,由此确定该图像为非文字图像。通过本发明方案,能够实现对非文字图像的自动识别,且识别结果较为准确。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上为对本发明所提供的一种非文字图像识别方法和装置的描述,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

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