CN112801046B - 图像处理方法、装置、电子设备和计算机存储介质 - Google Patents
图像处理方法、装置、电子设备和计算机存储介质 Download PDFInfo
- Publication number
- CN112801046B CN112801046B CN202110293003.9A CN202110293003A CN112801046B CN 112801046 B CN112801046 B CN 112801046B CN 202110293003 A CN202110293003 A CN 202110293003A CN 112801046 B CN112801046 B CN 112801046B
- Authority
- CN
- China
- Prior art keywords
- image
- initial
- picture
- fractional
- denominator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种图像处理方法、装置和电子设备及计算机存储介质。具体实现方案为包括:对目标图像进行识别,得到所述目标图像中包含的分数图像;对所述分数图像进行分割得到初始分子图片以及初始分母图片;基于所述初始分子图片以及所述初始分母图片中的第一类像素点,对所述初始分子图片以及所述初始分母图片进行处理,得到所述分数图像中包含的分子图片以及分母图片;基于所述分子图片中的第一数字以及分母图片中的第二数字组成分数,基于所述分数得到所述目标图像所对应的分数识别结果。
Description
技术领域
本申请涉及图像处理领域,尤其涉及一种图像处理方法、装置、电子设备和计算机存储介质。
背景技术
通过文字识别技术进行作业批改,成为人工智能技术在教育领域的一项重要应用。其中,数学作业中的图像识别一直是作业智能批改的难点,因为数学作业不仅包含普通文本,还包含公式、分式等特殊结构文本。因此,如何对图像中包含的分式或分数进行准确率较高的识别,就成为需要解决的问题。
发明内容
为了解决现有技术中上述至少一个问题,本申请实施例提供一种图像处理方法、装置、电子设备和计算机存储介质。
第一方面,本申请实施例提供一种图像处理方法,所述方法包括:
对目标图像进行识别,得到所述目标图像中包含的分数图像;
对所述分数图像进行分割得到初始分子图片以及初始分母图片;
基于所述初始分子图片以及所述初始分母图片中的第一类像素点,对所述初始分子图片以及所述初始分母图片进行处理,得到所述分数图像中包含的分子图片以及分母图片;
基于所述分子图片中的第一数字以及分母图片中的第二数字组成分数,基于所述分数得到所述目标图像所对应的分数识别结果。
第二方面,本申请实施例提供一种图像处理装置,所述装置包括:
第一识别单元,用于对目标图像进行识别,得到所述目标图像中包含的分数图像;
分割单元,用于对所述分数图像进行分割得到初始分子图片以及初始分母图片;
图片处理单元,用于基于所述初始分子图片以及所述初始分母图片中的第一类像素点,对所述初始分子图片以及所述初始分母图片进行处理,得到所述分数图像中包含的分子图片以及分母图片;
第二识别单元,用于基于所述分子图片中的第一数字以及分母图片中的第二数字组成分数,基于所述分数得到所述目标图像所对应的分数识别结果。
第三方面,本申请实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任意一项实施例所提供的方法。
第四方面,本申请实施例提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请任意一项实施例所提供的方法。
上述申请中的一个实施例具有如下优点或有益效果:在得到目标图像中的分数图像后,结合初始分割得到的初始分子图像和初始分母图像中的第一类像素点来进一步对初始分子图片以及初始分母图片进行处理,从而得到分数图像中包含的分子图片以及分母图片,最终根据基于分子图片的第一数字以及分母图片中的组成的分数得到目标图像所对应的分数识别结果;如此,可以在目标图像识别的基础上,进一步结合初始分母图像以及初始分子图像中的第一类像素点进行处理,从而使得分子图片以及分母图片的提取更加准确,进而提升识别的准确率。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例的图像处理方法流程示意图;
图2a-2c是根据本申请实施例目标图像的多种示意图;
图3a-3f是根据本申请实施例对目标图像分割得到的分数图像的多种处理场景中的示意图;
图4是根据本申请另一实施例的图像处理方法中的分割处理流程示意图;
图5是根据本申请一实施例的分数图像的轮廓示意图;
图6是根据本申请另一实施例分数图像的一种示意图;
图7是根据本申请另一实施例对分数图像中的初始分子图像的处理示意图;
图8是根据本申请一实施例的分子图像以及分母图像的拼接示意图;
图9是根据本申请实施例的图像处理装置示意图;
图10是是本申请一实施例的电子设备组成结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
第一方面,本申请实施例提供了一种图像处理方法,如图1所示,包括:
S101:对目标图像进行识别,得到所述目标图像中包含的分数图像;
S102:对所述分数图像进行分割得到初始分子图片以及初始分母图片;
S103:基于所述初始分子图片以及所述初始分母图片中的第一类像素点,对所述初始分子图片以及所述初始分母图片进行处理,得到所述分数图像中包含的分子图片以及分母图片;
S104:基于所述分子图片中的第一数字以及分母图片中的第二数字组成分数,基于所述分数得到所述目标图像所对应的分数识别结果。
本实施例可以应用于电子设备,所述电子设备可以是具备图像处理以及信息分析功能的设备,比如可以为终端设备,平板电脑、智能手机等等,或者,还可以为服务器。
所述对目标图像进行识别,得到所述目标图像中包含的分数图像,具体可以包括:将所述目标图像输入预设模型,得到所述预设模型输出的初始识别结果;其中,所述初始识别结果中包含分数标签;基于所述初始识别结果中包含的所述分数标签从所述目标图像中获取分数图像。
所述目标图像可以为包含分式的图像,尤其是可以为包含手写分式的图像。
需要理解的是,执行S101之前,还可以先获取目标图像。示例性的,获取目标图像的方式可以包括:通过图像采集单元进行图像采集,得到目标图像;其中,图像采集单元可以是电子设备中的摄像头。或者,可以是接收其他设备发来的目标图像;这种情况中,电子设备可以不具备拍摄图像的功能,可以从其他具备拍摄功能的设备获取到该目标图像;其他具备拍摄功能的设备可以是摄像头、相机、具备摄像头的智能手机、平板电脑等,这里不做穷举。
所述预设模型输出的初始识别结果中可以包含以下至少一种:分数标签,数字,数学符号。
这里,所述预设模型输出的所述初始识别结果中可以包含的分数标签的数量不做限定,可以为零,或者可以是一个或多个;同样的,所述预设模型输出的所述初始识别结果中可以包含数字和/或数学符号的数量也不做限定,均可以为零个、一个或多个。
所述分数标签可以采用“S”来表示。分别以图2a、图2b、图2c中所示的目标图像为例进行说明,所述预设模型输出的图2a的目标图像的初始识别结果可以表示为S*S=S,所述预设模型输出的图2b的目标图像的初始识别结果可以表示为S*6=S,所述预设模型输出的图2c的目标图像的初始识别结果可以表示为S+S=S。
另外,所述预设模型输出的所述初始识别结果中,除了分数标签、数字、数学符号中的至少一种之外,还会包含分数标签所对应的边界位置、数字所对应的边界位置、数学符号所对应的边界位置中的至少一种。
这里,所述边界位置具体为左边界位置和/或右边界位置,比如,分数标签所对应的边界位置指的是,所述分数标签所对应的图像区域在所述目标图像中的左边界位置和/或右边界位置;所述数字所对应的边界位置指的是该数字在目标图像中的左边界位置和/或右边界位置;所述数学字符所对应的边界位置指的是该数学字符在所述目标图像中的左边界位置和/或有边界位置。
需要理解的是,这里可能存在部分边界位置是重合的。比如,图3a所示,其中黑色虚竖线表示了分数标签S所对应的边界位置、以及数学符号对应的边界位置;图3a中,第一个分数标签仅对应一个右边界位置,并且该第一个分数标签对应的右边界位置、与相邻的数学符号“×”在目标图像中所对应的左边界位置是重合的。
还需要说明的是,所述预设模型可以为预先采用训练样本训练得到的;所述预设模型可以是CRNN(Convolutional Recurrent Neural Network,卷积循环神经网络)。其中,CRNN模型作为OCR(Optical Character Recognition,光学字符识别)的经典模型之一,在自然场景的文本识别方面应用较为广泛。当然,也可以采用其他模型构建预设模型,这里不做限定。
其中,所述训练样本可以为训练样本集合中包含的任意一个训练样本。所述训练样本具体可以包括图像及其对应的标签;其中,标签包含表示图像所对应的分数标签S及其对应的分数图像在目标图像中的边界位置,表示图像中包含的数字及其在图像中的边界位置,以及表示图像中包含的数学符号及其在图像中的边界位置。上述图像可以是包含分数(或分式)的图像。
为了提升训练效果,可以在训练样本集合中添加数量较多的包含分数(或分式)的图像以及相应的标签,这样有助于预设模型学习到足够多的分式特征,进一步地,使用训练好的预设模型可用于执行前述S101,从而提升预测阶段的识别效率和准确率。
本实施例中,所述基于所述初始识别结果中包含的所述分数标签从所述目标图像中获取分数图像,可以包括:基于所述初始识别结果中包含的分数标签所对应的目标图像中的边界位置,从所述目标图像提取初始分数图像;对所述初始分数图像进行处理,得到所述分数图像。
需要指出的是,所述预设模型输出的初始识别结果中可以包含一个或多个分数标签,相应的,可以得到一个或多个分数图像;本实施例针对一个或多个分数标签中的任意一个分数标签进行说明,也就是说针对一个或多个分数标签中的每一个分数标签的处理均相同,只是本实施例中不进行一一赘述。
其中,所述基于所述初始识别结果中包含的分数标签所对应的目标图像中的边界位置,从所述目标图像提取初始分数图像,可以包括:判断所述初始识别结果中是否包含分数标签;在所述初始识别结果中包含分数标签的情况下,从所述目标图像中提取位于所述分数标签所对应的边界位置内的图像作为所述初始分数图像。这里,所述初始分数图像可以为灰度图像。
这里,还可能存在由于预设模型初次识别得到的初始识别结果可能不够准确,因此可能会出现根据分数标签从所述目标图像中提取的对应位置处的图像中可能对应不止一个分数的情况。
为了使得初始分数图像中尽可能的仅包含一个分数,本实施例提供的方案中,从所述目标图像中提取位于所述分数标签所对应的目标图像中的边界位置内的图像区域作为所述初始分数图像的处理,可以包括:
根据分数标签所对应的边界位置从所述目标图像中提取对应位置处的待分析图像,对所述待分析图像进行二值化反色处理得到所述待分析图像的二值反色图;
对所述待分析图像的二值反色图中包含的轮廓中的像素点进行x轴方向的垂直投影,得到所述待分析图像的二值反色图的投影结果;
基于所述待分析图像的二值反色图的投影结果确定所述待分析图像的二值反色图的N个截断位置;其中,N为大于等于0的整数;
基于所述N个截断位置对所述待分析图像进行截断,得到N+1个子图像;
确定所述N+1个子图像中包含的L个初始分数图像;其中,L为大于等于1且小于等于N+1的整数。
其中,对所述待分析图像的二值反色图中包含的轮廓中的像素点进行x轴方向的垂直投影,得到所述待分析图像的二值反色图的投影结果,包括:
将所述待分析图像的二值反色图中包含的轮廓中的像素点垂直投影至x轴的位置处的值设置为第一值,将x轴的其他位置处的值设置为第二值;基于所述x轴中各个位置及其所对应的第一值或第二值生成所述待分析图像的二值反色图对应的投影波形图。其中,所述投影波形图中在x轴的任意一个位置所对应第一值的情况下该位置对应的为投影波形图的波谷。
基于所述待分析图像的二值反色图的投影结果确定所述待分析图像的二值反色图的N个截断位置,可以包括:在所述待分析图像的二值反色图的投影波形图中相邻两个波谷之间的距离大于第二预设距离门限值的情况下,将所述相邻两个波谷之间的中点作为一个截断位置。
也就是说,可以依次从所述待分析图像的二值反色图的投影波形图中提取相邻两个波谷,如果提取的所述相邻两个波谷中的前一个波谷的终止位置与后一个波谷的起始位置之间的距离(具体可以为像素数量)大于第二预设距离门限值(单位可以为像素,比如可以为20个像素),则将前一个波谷的终止位置与后一个波谷的起始位置之间的距离中点作为一个截断位置。以此类推,可以得到N个截断位置。
基于所述N个截断位置对所述待分析图像进行截断,得到N+1个子图像,可以为:基于所述N个截断位置,确定与x轴垂直的N个截断线,基于所述N个截断线将所述待分析图像进行截断得到N+1个子图像。
确定所述N+1个子图像中包含的L个初始分数图像的方式也可以为:将N+1个子图像中的第h个子图像输入所述预设模型,得到所述预设模型输出的针对第h个子图像的识别结果;在针对第h个子图像的识别结果中包含分数标签的情况下,基于该第h个子图像的识别结果中包含的分数标签所对应的边界位置从所述第h个子图像中提取对应位置处的图像作为L个初始分数图像中之一。其中,h为大于等于1且小于等于N+1的整数。
需要理解的是,第h个子图像可以为N+1个子图像中的任意一个,只是这里不对每一个子图像的处理进行一一赘述。
在针对第h个子图像的识别结果中不包含分数标签的情况下,比如,可以为数字或数学符号的情况下,可以直接得到该数字或数学符号。
通过以上处理可以初步对初始识别结果中的分数标签对应了不止一个分数的情况进行处理,以保证最终的分数识别结果也就是分数识别结果的准确性。
由于上述处理中初始分数图片还可能会残留部分无用轮廓或无用像素点,比如,图3b所示为初始分数图像的示例,初始分数图像的右边缘位置处残留部分无用轮廓(如图3b中虚线框内的区域31所示),这部分是需要删除的。因此,在基于识别结果从目标图像中提取初始分数图像之后,还需要对提取的所述初始分数图像做处理,以得到分数图像。
具体的,所述对所述初始分数图像进行处理,得到所述分数图像,可以包括:
对所述初始分数图像进行二值化反色处理,得到所述初始分数图像的二值反色图;
基于所述初始分数图像的所述二值反色图确定待删除区域,基于所述待删除区域确定调整后的二值反色图;
基于调整后的二值反色图确定有效区域边框,基于所述有效区域边框从所述初始分数图像中获取分数图像。
需要指出的是,目标图像包含的初始分数图像可以为一个或多个,针对每一个初始分数图像的处理均为相同的,因此以其中任意一个初始分数图像的处理进行后续说明。
本实施例中初始分数图像、分数图像均为灰度图像;但是在处理中进行分析或判断的过程中,可以采用对应的二值图或二值反色图来进行的分析或判断。
其中,所述对所述初始分数图像进行二值化反色处理,得到所述初始分数图像的二值反色图,可以包括:对所述初始分数图像进行二值化处理,得到二值化后的初始分数图像;对二值化后的初始分数图像进行反色处理,得到所述初始分数图像的二值反色图。
所述二值化后的初始分数图像为黑底白字的图像,二值化反色指的是将黑白两色反置得到白底黑字的图像。结合图3b以及图3c进行示例性说明,图3c左侧为图3b包含的初始分数图像对应的二值反色图,右侧为图3b包含的初始分数图像对应的二值化后的分数图像。
所述基于所述初始分数图像的所述二值反色图确定待删除区域,可以包括:
判断所述初始分数图像的所述二值反色图中是否包含符合预设条件的轮廓;在包含符合预设条件的轮廓的情况下,基于所述符合预设条件的轮廓确定所述待删除区域;其中,所述预设条件包括:与所述二值反色图的中心区域的重叠面积小于预设面积门限值。
其中,所述预设条件中的所述预设面积门限值可以根据实际情况进行设置,比如可以是10个像素。
所述预设条件中的所述二值反色图的中心区域可以是以二值反色图的中心点作为中心区域的中心点,结合中心区域的预设长和预设宽,确定出的矩形中心区域。或者,可以是以二值反色图的中心点作为中心区域的中心点,结合中心区域的预设半径,确定出的圆形中心区域。其中,所述预设长、预设宽以及预设半径可以根据实际情况进行设置,单位可以为像素(个数)。也就是所述中心区域的形状可以是矩形或者可以是其他形状,比如圆形中心区域,这里不做穷举。
判断所述初始分数图像的所述二值反色图中是否包含符合预设条件的轮廓之前,可以包括:从所述二值反色图中获取M个轮廓;M为大于等于1的整数、也就是将所述初始分数图像中包含的二值反色图中的全部轮廓提取出来。
相应的,判断所述初始分数图像的所述二值反色图中是否包含符合预设条件的轮廓的具体处理,可以为:判断M个轮廓中的第i个轮廓与所述中心区域的重叠面积是否满足预设条件,若满足,则将第i个轮廓为符合预设条件的轮廓;其中i为大于等于1且小于等于M的整数。由于针对M个轮廓的判断方式均为相同的,因此这里将M个轮廓中的任意一个作为第i个轮廓进行说明,不做一一赘述。
基于所述符合预设条件的轮廓确定待删除区域,可以为以下之一:
在所述符合预设条件的轮廓位于所述二值反色图的右侧的情况下,以所述符合预设条件的轮廓的最左侧像素点的位置为起始位置,该起始位置右侧的全部区域作为所述待删除区域;
在所述符合预设条件的轮廓位于所述二值反色图的左侧的情况下,以所述符合预设条件的轮廓的最右侧像素点的位置为起始位置,该起始位置左侧的全部区域作为所述待删除区域;
在所述符合预设条件的轮廓位于所述二值反色图的上方的情况下,以所述符合预设条件的轮廓的最下方像素点的位置为起始位置,该起始位置以上的全部区域作为所述待删除区域;
在所述符合预设条件的轮廓位于所述二值反色图的下方的情况下,以所述符合预设条件的轮廓的最上方像素点的位置为起始位置,该起始位置之下的全部区域作为所述待删除区域。
上述符合预设条件的轮廓位于所述二值反色图的右侧、左侧、上方或下方的判断标准可以是以轮廓的中心点为准,比如符合预设条件的轮廓的中心点位于二值反色图的中心点的右侧,则符合预设条件的轮廓位于所述二值反色图的右侧。
举例来说,如图3d所示,图3d的上方示意图中,虚线框标出的轮廓311,与二值反色图的中心区域之间的重叠面积可能仅仅为5个像素点,满足预设条件中的预设面积门限值(比如可以是10个像素点),则该虚线框内的像素点组成的轮廓311符合预设条件;该符合预设条件的轮廓311的最左侧像素点的位置为起始位置,该起始位置右侧的全部图像区域作为待删除区域32。
基于所述待删除区域确定调整后的二值反色图,可以为:将所述二值反色图去除所述待删除区域之后,得到调整后的二值反色图。比如,仍参见图3d,图3d下方示意图中示意的即为删除图3d上方的待删除区域32之后的调整后的二值反色图。
由于在截取分数标签所对应的初始分数图像的时候,为了截取完整通常在初始分数图像的左右两侧多空出一些区域;因此,本实施例提供上述处理可以选取出当二值反色图中的某一个轮廓与中心区域的重叠面积小一定值的时候删除该轮廓所在的区域,这样可以从距离和大小两个维度上删除细小的轮廓所在的边缘区域,通过去除处于边缘并且轮廓特征特别小的区域,来保证分数识别结果的准确性。
进一步地,完成上述处理得到调整后的二值反色图之后,所述基于调整后的二值反色图确定有效区域边框,可以包括:
对所述调整后的二值反色图中的G个轮廓包含的像素点分别进行第一方向以及第二方向的投影,得到调整后的二值反色图中的最左边界线、最右边界线、最上边界线以及最下边界线;基于调整后的二值反色图中的最左边界线、最右边界线、最上边界线以及最下边界线,确定有效区域边框。其中,G为大于等于1、且小于等于M的整数。
其中,所述第一方向可以为x轴方向、第二方向可以为y轴方向。
也就是说,在前述删除了初始分数图像的二值反色图中的边缘轮廓所对应的待删除区域之后,针对调整后的二值反色图可以查找全部轮廓所在的边缘位置。这里,所述全部轮廓可以对应于初始分数图像中的全部笔迹。
对所述调整后的二值反色图中的G个轮廓包含的像素点分别进行第一方向以及第二方向的投影,可以具体为:将调整后的二值反色图中包含的G个轮廓中的每一个轮廓的每一个像素点分别向x轴以及y轴进行投影。
得到调整后的二值反色图中的最左边界线、最右边界线、最上边界线以及最下边界线,具体可以包括:
将x轴以及y轴中有像素点投影的位置处设置为第一值,不包含有像素点投影的位置设置为第二值;
在x轴上依照从左向右的顺序,查找首次由第二值变为第一值的位置,将该位置处垂直于x轴的边界线作为调整后的二值反色图中的最左边界线;查找最后一次由第一值变为第二值的位置,将该位置处垂直于x轴的边界线作为调整后的二值反色图中的最右边界线;以及,在y轴上依照从下至上的顺序,查找首次由第二值变为第一值的位置,将该位置处垂直于y轴的边界线作为调整后的二值反色图中的最下边界线;查找最后一次由第一值变为第二值的位置,将该位置处垂直于y轴的边界线作为调整后的二值反色图中的最上边界线。
需要指出的是,上述最上边界线、最下边界线、最左边界线和最右边界线中,最上边界线、以及最下边界线可以是位于最左边界线以及最右边界线之间的线段,最左边界线和最右边界线为位于最上边界线以及最下边界线之间的线段。
其中,所述第一值以及第二值不同,比如,第一值可以为1,第二值可以为0。
以图3e为例,上述调整后的二值反色图中的最上边界线、最下边界线、最左边界线和最右边界线,可以为图3e中所示的四条虚线。
基于调整后的二值反色图中的最左边界线、最右边界线、最上边界线以及最下边界线,确定有效区域边框,具体可以包括:
将最左边界线向左移动预设距离得到左侧有效边界线、将最右边界线向右移动预设距离得到右侧有效边界线、将最上边界线向上移动预设距离得到上方有效边界线、将最下边界线向下移动预设距离得到下方有效边界线;将所述左侧有效边界线、右侧有效边界线、上方有效边界线、下方有效边界线作为有效区域边框。
预设距离的选取可以是固定的像素点,例如可以是10个像素点;又或者,不同方向的预设距离可以不同,比如最左边界线、最右边界线对应的预设距离可以为10个像素点,最上边界线以及最下边界线对应的预设距离可以为7个像素点等等,这里不对全部情况进行穷举。
在基于预设距离调整上、下、左、右四个边界线的位置之后,可以得到调整后的二值反色图的有效区域边框。进而,基于所述有效区域边框从所述初始分数图像中获取分数图像,可以包括:将所述调整后的二值反色图的有效区域边框在所述初始分数图像中所对应的位置作为所述初始分数图像中的目标区域边框,将位于所述初始分数图像中的目标区域边框内的图像作为所述分数图像。
所述分数图像可以为灰度图,根据后续处理的需要还可以将所述分数图像的灰度图转换为分数图像的二值图或分数图像的二值反色图。比如,图3f中从左往右依次是分数图像分别对应的灰度图、二值反色图和二值图。
对所述分数图像进行分割得到初始分子图片以及初始分母图片,如图4所示,具体包括:
S401:基于所述分数图像的二值图包含的K个轮廓,确定所述分数图像的分割位置;K为大于等于1的整数;
S402:基于所述分割位置对所述分数图像进行分割,得到所述初始分子图片以及所述初始分母图片。
得到所述分数图像的二值图包含的K个轮廓之前还可以包括:对所述分数图像进行二值化处理,得到所述分数图像的二值图。
其中,所述轮廓具体可以指的是外轮廓。
在得到K个轮廓之后,还可以对K个轮廓进行排序。其中,所述K个轮廓的具体排序的方式可以是按照K个轮廓的中心点的相对位置关系进行排序。比如,可以是按照K个轮廓的中心点从低到高或者从高到低的顺序进行排序。优选地,可以根据K个轮廓的中心点按照从高到低的顺序进行排序,将中心点位置最高的轮廓作为第一个轮廓,中心点位置最低的轮廓作为最后一个轮廓。如图5所示,分数图像的二值反色图中包含5个文本轮廓,从上到下依次是轮廓1、轮廓2、轮廓3、轮廓4和轮廓5。
基于前述K个轮廓可以将所述分数图像分别按照可找到分数线的分数、未找到分数线的分数、或其他类别的处理方式进行不同的处理,下面分别进行说明。
在一种实施方式中,S401具体可以包括:在所述分数图像的二值图包含的K个轮廓中存在宽高比大于第一门限值、且位于所述分数图像的中间区域的第一轮廓的情况下,将所述第一轮廓所在位置作为所述分割位置。
所述中间区域可以为分数图像在竖直方向位于中间的区域。由于分数线通常都位于分数图像的中间区域,分数线一般不会出现在分数图像的上部或者下部。因此,可以通过设定中间区域作为判定轮廓是否为分数线的一个条件。
中间区域的选取有多种方式,可以选取固定数量个像素点所对应的区域作为中间区域,例如,分数图像区域在竖直方向的高一共50个像素点,可以定义中心点向上及向下各20个像素点所在的区域为中间区域;
可以选取分数图像的高度方向特定比例对应的区域作为中间区域,例如,以分数图像区域的中心作为中间区域的中心,分数图像的高度的80%作为中间区域的高度。所述比例的选取可以根据需要进行设定,例如80%,70%,60%等,这里不做穷举。
优选地,将所述K个轮廓按照竖直方向从高到低的顺序进行排序之后还可以先剔除第一个轮廓(也就是中心点位置最高的轮廓)和最后一个轮廓(也就是中心点位置最低的轮廓)后,得到K-2个剩余轮廓;从K-2个剩余轮廓中查找位于所述中间区域、且宽高比大于第一门限值的第一轮廓。
不同文本类型的轮廓宽高比有很大差异,一般来说,汉字文本的宽高比接近于1,阿拉伯数字的宽高比一般小于1,分数线文本的宽高比大于1。比如,图5中轮廓1对应的数字文本“1”宽高比为0.3,轮廓5对应的数字文本“8”的宽高比为0.5,轮廓3对应的分数线文本的宽高比为5。
由于分数线文本的宽高比大于1,或者说远大于1,可以设置一个固定的第一门限值用来判定选定轮廓是否为分数线。第一门限值可以按照需要进行设定,例如可以设置为2、3、4、5等,这里不做穷举。优选地,第一门限值可以设为3,图5中轮廓1、轮廓2、轮廓4和轮廓5的宽高比均小于3,而轮廓3的宽高比大于3,那么位于中间区域、并且宽高比大于第一门限值的轮廓3即为第一轮廓。
进而,可以根据分数图像的二值图中该第一轮廓所在位置确定分数图像中第一轮廓所对应的位置,将分数图像中第一轮廓所对应的位置作为所述分割位置。
本示例中,还可以包括:基于所述分数图像的背景颜色对所述第一轮廓所对应的区域进行填充,得到填充后的分数图像。所述基于所述分割位置对所述分数图像进行分割,得到所述初始分子图片以及所述初始分母图片,包括:基于所述分割位置对所述填充后的分数图像进行分割,得到所述初始分子图片以及所述初始分母图片。这里,将分数图像的第一轮廓的位置处的像素采用背景灰度均值进行填充,可以避免分割后的所述初始分母图像或初始分子图像中还残存部分分数线而影响最终的分数识别结果的准确性。
背景颜色可以是预设固定的灰度值,或者分数图像区域边角位置的灰度值,优选地,可以是分数图像的背景像素的灰度均值。
所述第一轮廓可以为分数线的轮廓,确定第一轮廓可以认为是确定了分数线,确定了该第一轮廓之后还会记录该第一轮廓在所述分数图像中的位置,以作为所述分割位置。示例性的,假定分数线可能出现的位置范围为一个中间区域,因此首先按照轮廓的宽高比,剔除第一个和最后一个轮廓之后,查找轮廓宽高比大于3的轮廓并且符合中间区域的轮廓作为分数线,为了使分数线不影响识别结果,把分数线所在轮廓用背景均值填充,并记录分数线的位置作为分割位置,以后续使用该分割位置分割所述分数图像中的分子图像和分母图像。
确定第一轮廓的方式还可以存在另外的处理,比如:在所述至少一个轮廓中存在位于中间区域、并且宽高比大于第一门限值的多个候选轮廓的情况下,可以将所述多个候选轮廓中无上下其他轮廓的第二轮廓删除,和/或,将所述多个候选轮廓中具备互为上下关系的第二轮廓删除;将保留的候选轮廓作为所述第一轮廓。
也就是说,若某一个候选轮廓的上方或者下方没有其他类型的轮廓,则判定该轮廓为第二轮廓,反之,则判定该轮廓为第一轮廓。举例来说,如图6所示,分数图像中共有6个轮廓,其中位于中间区域且宽高比大于第一门限值的轮廓有3个,即3个候选轮廓。图6中左侧边界对应的两个候选轮廓上方或下方没有其他轮廓,则判定其为第二轮廓,右侧位置的候选轮廓上方有及下方都有其他轮廓,其上方为数字“6”对应的轮廓,下方为数字“3”和“5”对应的轮廓,因此判定右侧位置的候选轮廓为第一轮廓。
还可以通过确认多个候选轮廓是否符合互为上下关系来判定为第一轮廓或第二轮廓。若一个候选轮廓与另一个候选轮廓位于上下相邻位置且互为上下关系,则判定其为第二轮廓,若不存在所述上下关系,则判定为第一轮廓。还是以图6为例进行说明,左侧边界位置处的两个候选轮廓一上一下平行排列,互为上下关系,则系统判定这两个候选轮廓为第二轮廓。
对于第二轮廓的判定还可以采取其他方式,或者对上述判定方式进行组合使用,这里不予穷举。
在一种实施方式中,若获取到的轮廓中不存在位于中间区域、并且宽高比大于第一门限值的第一轮廓,例如,输入的手写文本对应的图像中存在数字与分数线连笔的情况,即输入图像属于未找到分数线的分数,则可以按照以下方式确定图像的分割位置:
在所述分数图像的二值图包含的K个轮廓中包含具备第一位置关系的第一排轮廓以及第二排轮廓的情况下,将所述第一排轮廓以及所述第二排轮廓的中间位置作为所述分数图像的分割位置。
其中,第一位置关系为上下位置关系。第一排轮廓可以为上排轮廓、第二排轮廓可以为下排轮廓。
第一排轮廓以及第二排轮廓是否具备第一位置关系的判断方式可以是根据第一排轮廓和第二排轮廓的中心点距离进行判定,如两个中心点间的距离大于某一门限值,则第一排轮廓以及第二排轮廓具备第一位置关系。或者还可以根据第一排轮廓的最低点和第二排轮廓的最高点的位置关系进行判定,假如位于上方的轮廓的最低点高于位于下方的轮廓的最高点,那么就认为存在上下两排轮廓。还可以根据其他方式判定是否存在上下了两排轮廓,这里不予限定。
若第一排轮廓以及第二排轮廓具备第一位置关系,即存在上下两排轮廓,仍然可以确定分数图像中包含的为分数。其中,上排轮廓对应分式的分子,下排轮廓对应分式的分母,因此将上排轮廓与下排轮廓的中间位置为分数线所在的分割位置。该中间位置可以是第一排轮廓的中心点与第二排轮廓中心点的连线的中点处且与x轴平行的位置。
再一种实施方式中,将所述分数图像的二值图包含的K个轮廓中的像素最高位置点以及像素最低位置点的中间位置作为所述分数图像的分割位置。
具体的,在所述至少一个轮廓中不存在位于中间区域并且宽高比大于第一门限值的第一轮廓的情况下,若在所述分数图像的二值图包含的K个轮廓中包含具备第一位置关系的第一排轮廓以及第二排轮廓,则将所述第一排轮廓以及第二排轮廓的中间位置作为所述分割位置;
若在所述分数图像的二值图包含的K个轮廓中不包含具备第一位置关系的第一排轮廓以及第二排轮廓,则将所述分数图像的二值图包含的K个轮廓中的像素最高位置点以及像素最低位置点的中间位置作为所述分数图像的分割位置。
也就是,若不存在上下两排轮廓,可能是输入的分数图像中对应的文本存在分子分母连写的情况,此时可以基于所述至少一个轮廓中的像素最高位置、以及像素最低位置的中间位置,作为所述分割位置。
确定针对所述分数图像的分割位置后,基于所述分割位置对所述分数图像进行分割得到所述初始分子图片以及所述初始分母图片。
由于在分割得到所述初始分子图片以及初始分母图片的时候,可能存在未找到分数线的情况,因此所述初始分子图片和/或初始分母图片中还可能存在包含至少部分分数线的情况,这样也会影响最终的分数识别结果,为了避免这种情况,基于所述初始分子图片以及所述初始分母图片中的第一类像素点,对所述初始分子图片以及所述初始分母图片进行处理,得到所述分数图像中包含的分子图片以及分母图片,可以包括:
在基于所述初始分子图片中的第一类像素点确定所述初始分子图片中存在第一待截取区域的情况下,删除所述初始分子图片中的所述第一待截取区域,得到所述分数图像中包含的分子图片;
和/或,
在基于所述初始分母图片中的第一类像素点确定所述初始分母图片中存在第二待截取区域的情况下,删除所述初始分母图片中的所述第二待截取区域,得到所述分数图像中包含的分母图片。
另外,还可以包括以下至少之一:若所述初始分子图片不存在待截取区域,则不做处理,直接将所述初始分子图片作为所述分子图片;
若初始分母图片中不存在待截取区域,则不做处理,直接将所述初始分母图片作为分母图片。
这里,所述第一类像素点可以为初始分子图片的二值反色图中每一列像素依照从上往下的顺序查找到的第一个黑色像素点(或称为首黑点),以及初始分母图片的二值反色图中每一列像素点依照从下往上的顺序查找到的第一个黑色像素点(或称首黑点)。
判断所述初始分子图片和/或初始分母图片中是否存在待截取区域的方式,具体可以包括:
在所述初始分子图片的二值反色图中包含有位于中间区域下方的T组第一类像素点情况下,若所述初始分子图片的二值反色图中存在与所述T组第一类像素点之间的距离超过第一预设距离门限值的其他第一类像素点,则基于所述T组第一类像素点中的目标第一类像素点的位置确定所述初始分子图片的第一待截取区域;其中,所述T组第一类像素点中的每一组第一类像素点由数量超过预设数量门限值的连续第一类像素点组成;T为大于等于1的整数。
以及,在所述初始分母图片的二值反色图中包含有位于中间区域上方的R组第一类像素点情况下,若所述初始分母图片的二值反色图中存在与所述R组第一类像素点之间的距离超过第一预设距离门限值的其他第一类像素点,则基于所述R组第一类像素点的目标第一类像素点的位置确定所述初始分母图片的第二待截取区域;其中,所述R组第一类像素点中的每一组第一类像素点由数量超过预设数量门限值的连续第一类像素点组成;R为大于等于1的整数。
其中,所述T或R可以为1或2或其他数值,这里不对其进行限定。
具体的,所述与所述T组第一类像素点之间的距离超过第一预设距离门限值的其他第一类像素点,可以指的是,所述T组第一类像素点的起始位置的第一类像素点与其相邻的其他第一类像素点之间的y轴距离超过第一预设距离门限值;或者是,所述T组第一类像素点的结束位置的第一类像素点与其相邻的其他第一类像素点之间的y轴距离超过第一预设距离门限值;或者,还可以是所述T组第一类像素点中任意一个第一类像素点、与任意一个其他第一类像素点之间的y轴距离超过第一预设距离门限值。
所述与所述R组第一类像素点之间的距离超过第一预设距离门限值的其他第一类像素点,可以指的是,所述R组第一类像素点的起始位置的第一类像素点与其相邻的其他第一类像素点之间的y轴距离超过第一预设距离门限值;或者是,所述R组第一类像素点的结束位置的第一类像素点与其相邻的其他第一类像素点之间的y轴距离超过第一预设距离门限值;或者,还可以是所述R组第一类像素点中任意一个第一类像素点、与任意一个其他第一类像素点之间的y轴距离超过第一预设距离门限值。
其中,所述第一预设距离门限值可以根据实际情况设置,比如可以是15个像素的距离、或25个像素点的距离等,这里不做穷举。
所述预设数量门限值可以根据实际情况设置,比如可以为10个像素、或20个像素等等。
所述初始分子图片的二值反色图中存在与所述T组第一类像素点之间的距离超过第一预设距离门限值的其他第一类像素点,可以是T组第一类像素点中的某一个或一组第一类像素点与其他第一类像素点之间产生了位置突变转折。同样的,所述初始分母图片中存在与所述R组第一类像素点之间的距离超过第一预设距离门限值的其他第一类像素点可以是R第一类像素点中的某一个或一组第一类像素点与其他第一类像素点之间产生了位置突变转折。
如图7右侧所示为左侧分数图像划分得到的初始分子图片,该初始分数图片中第一类像素点A及其左侧为位于中心区域下方的一组连续的多个第一类像素点,第一像素点D及其右侧为位于中心区域下方的另一组连续的多个第一类像素点。若第一像素点A与其右侧相邻的其他第一类像素点B之间的距离大于第一预设距离门限值,可以认为两个第一类像素点之间产生位置突变转折;或者,若第一像素点D与其左侧相邻的其他第一类像素点C之间的距离大于第一预设距离门限值,可以认为两个第一类像素点之间产生位置突变转折。
所述T组第一类像素点中的目标第一类像素点,可以为T组第一类像素点中位置最高的一个第一类像素点。所述R组第一类像素点中的目标第一类像素点,可以为R组第一类像素点中位置最低的一个第一类像素点。
基于所述T组第一类像素点中的目标第一类像素点的位置确定所述初始分子图片的第一待截取区域,具体可以为:基于所述初始分子图片的二值反色图中所述目标第一类像素点的位置,确定所述初始分子图片对应的位置,将该对应的位置下方的全部区域作为所述初始分子图片的第一待截取区域。
基于所述R组第一类像素点的目标第一类像素点的位置确定所述初始分母图片的第二待截取区域,具体可以为:基于所述初始分母图片的二值反色图中所述目标第一类像素点的位置,确定所述初始分母图片对应的位置,将该对应的位置上方的全部区域作为所述初始分母图片的第二待截取区域。
由此,当分割得到的分数图中包含分数线时,可以按照确定首黑点的位置,进而确定待截取区域的方式,删除图像中分数线像素点对应的相关区域,从而排除分数线对数字识别的影响。
然后基于所述分子图片中的第一数字以及分母图片中的第二数字组成分数,基于所述分数替换所述初始识别结果中的所述分数标签,得到所述目标图像所对应的分数识别结果。
得到第一数字以及第二数字的方式,可以包括:
将分割得到的所述分子图片以及所述分母图片分别输入所述预设模型,得到所述预设模型分别输出的所述分子图片中的第一数字以及分母图片中的第二数字。
其中,所述预设模型可以是CRNN模型。也就是说,基于CRNN模型进行两次识别,分别得到第一数字及第二数字,然后基于第一数字及第二数字在图像中对应的位置确定其为分母或者分子,由分子和分母组成目标分式。
在一种实施方式中,得到第一数字以及第二数字的方式,可以包括:
将所述分子图片以及所述分母图片进行拼接,得到拼接后的图像序列;
将所述拼接后的图像序列输入所述预设模型,得到所述预设模型输出的所述分子图片中的第一数字以及所述分母图片中的第二数字。
如图8所示,对所述分子图片以及所述分母图片按照横向结构进行拼接。
需要指出的是,拼接之前,还可以对分割得到的所述分子图片以及所述分母图片进行宽高缩放处理,使第一图像和第二图像高度相同。然后,可以是分子图片在左、分母图片在右进行拼接,也可以是分母图片在左、分子图片在右进行拼接,具体排列的顺序不予限定。
通过先对分子图片以及分母图片进行拼接,将拼接后得到的图像序列进行识别,可以一次识别即可得到第一数字和第二数字,并基于第一数字以及所述第二数字组成分数,如此可以提升识别以及处理效率。
基于所述分数得到所述目标图像所对应的分数识别结果具体可以为:基于所述分数替换所述第一识别结果中的所述分数标签,得到所述目标图像所对应的分数识别结果。也就是说,在得到目标图像中每一个分数标签所对应的分数图像的分数之后,可以利用每一个分数标签所对应的分数,替换初始识别结果中的分数标签所在的位置,最终得到所述目标图像所对应的分数识别结果。需要理解的是,所谓的目标图像的分数识别结果并非所述目标图像识别仅得到分数,可以是所述目标图像的分数识别结果中包含分数、数字、数学符号等等内容。
通过本实施例提供的方案,在得到目标图像中的分数图像后,结合初始分割得到的初始分子图像和初始分母图像中的第一类像素点来进一步对初始分子图片以及初始分母图片进行处理,从而得到分数图像中包含的分子图片以及分母图片,最终根据基于分子图片的第一数字以及分母图片中的组成的分数得到目标图像所对应的分数识别结果;如此,可以在目标图像识别的基础上,进一步结合初始分母图像以及初始分子图像中的第一类像素点进行处理,从而使得分子图片以及分母图片的提取更加准确,进而提升识别的准确率。
第二方面,本申请实施例提供了一种图像处理装置,如图9所示,包括:
第一识别单元901,用于对目标图像进行识别,得到所述目标图像中包含的分数图像;
分割单元902,用于对所述分数图像进行分割得到初始分子图片以及初始分母图片;
图片处理单元903,用于基于所述初始分子图片以及所述初始分母图片中的第一类像素点,对所述初始分子图片以及所述初始分母图片进行处理,得到所述分数图像中包含的分子图片以及分母图片;
第二识别单元904,用于基于所述分子图片中的第一数字以及分母图片中的第二数字组成分数,基于所述分数得到所述目标图像所对应的分数识别结果。
所述图片处理单元903,用于在基于所述初始分子图片中的第一类像素点确定所述初始分子图片中存在第一待截取区域的情况下,删除所述初始分子图片中的所述第一待截取区域,得到所述分数图像中包含的分子图片;
和/或,
在基于所述初始分母图片中的第一类像素点确定所述初始分母图片中存在第二待截取区域的情况下,删除所述初始分母图片中的所述第二待截取区域,得到所述分数图像中包含的分母图片。
所述图片处理单元903,用于在所述初始分子图片的二值反色图中包含有位于中间区域下方的T组第一类像素点情况下,若所述初始分子图片的二值反色图中存在与所述T组第一类像素点之间的距离超过第一预设距离门限值的其他第一类像素点,则基于所述T组第一类像素点中的目标第一类像素点的位置确定所述初始分子图片的第一待截取区域;
其中,所述T组第一类像素点中的每一组第一类像素点由数量超过预设数量门限值的连续第一类像素点组成;T为大于等于1的整数。
所述图片处理单元903,用于在所述初始分母图片的二值反色图中包含有位于中间区域上方的R组第一类像素点情况下,若所述初始分母图片的二值反色图中存在与所述R组第一类像素点之间的距离超过第一预设距离门限值的其他第一类像素点,则基于所述R组第一类像素点的目标第一类像素点的位置确定所述初始分母图片的第二待截取区域;
其中,所述R组第一类像素点中的每一组第一类像素点由数量超过预设数量门限值的连续第一类像素点组成;R为大于等于1的整数。
所述分割单元902,用于基于所述分数图像的二值图包含的K个轮廓,确定所述分数图像的分割位置;K为大于等于1的整数;基于所述分割位置对所述分数图像进行分割,得到所述初始分子图片以及所述初始分母图片。
所述分割单元902,用于在所述分数图像的二值图包含的K个轮廓中存在宽高比大于第一门限值、且位于所述分数图像的二值图的中间区域的第一轮廓的情况下,将所述第一轮廓所在位置作为所述分数图像的分割位置。
所述分割单元902,用于基于所述分数图像的背景颜色对所述第一轮廓所对应的区域进行填充,得到填充后的分数图像;基于所述分割位置对所述填充后的分数图像进行分割,得到所述初始分子图片以及所述初始分母图片。
所述分割单元902,用于在所述分数图像的二值图包含的K个轮廓中包含具备第一位置关系的第一排轮廓以及第二排轮廓的情况下,将所述第一排轮廓以及所述第二排轮廓的中间位置作为所述分数图像的分割位置。
所述分割单元902,用于将所述分数图像的二值图包含的K个轮廓中的像素最高位置以及像素最低位置的中间位置作为所述分数图像的分割位置
所述第二识别单元904,用于将所述分子图片以及所述分母图片进行拼接,得到拼接后的图像序列;将所述拼接后的图像序列输入所述预设模型,得到所述预设模型输出的所述分子图片中的第一数字以及所述分母图片中的第二数字。
所述第一识别单元901,用于将所述目标图像输入预设模型,得到所述预设模型输出的初始识别结果;其中,所述初始识别结果中包含分数标签;基于所述初始识别结果中包含的所述分数标签从所述目标图像中获取分数图像。
所述第一识别单元901,用于基于所述初始识别结果中包含的分数标签所对应的目标图像中的边界位置,从所述目标图像提取初始分数图像;对所述初始分数图像进行处理,得到所述分数图像。
所述第一识别单元901,用于对所述初始分数图像进行二值化反色处理,得到所述初始分数图像的二值反色图;基于所述初始分数图像的所述二值反色图确定待删除区域,基于所述待删除区域确定调整后的二值反色图;基于调整后的二值反色图确定有效区域边框,基于所述有效区域边框从所述初始分数图像中获取分数图像。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图10所示,是根据本申请实施例的电子设备的框图。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图10所示,该电子设备包括:一个或多个处理器1001、存储器1002,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图10以一个处理器1001为例。
存储器1002即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的基于图像的判题方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的基于图像的判题方法。
存储器1002作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的基于图像的判题方法对应的程序指令/模块。处理器1001通过运行存储在存储器1002中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的基于图像的判题方法。
存储器1002可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1002可选包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
电子设备还可以包括:输入装置1003和输出装置1004。处理器1001、存储器1002、输入装置1003和输出装置1004可以通过总线或者其他方式连接,图10中以通过总线连接为例。
输入装置1003可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1004可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (24)
1.一种图像处理方法,其特征在于,所述方法包括:
对目标图像进行识别,得到所述目标图像中包含的分数图像;
对所述分数图像进行分割得到初始分子图片以及初始分母图片;
基于所述初始分子图片以及所述初始分母图片中的第一类像素点,对所述初始分子图片以及所述初始分母图片进行处理,得到所述分数图像中包含的分子图片以及分母图片;
基于所述分子图片中的第一数字以及分母图片中的第二数字组成分数,基于所述分数得到所述目标图像所对应的分数识别结果;
所述方法还包括:
在所述初始分子图片的二值反色图中包含有位于中间区域下方的T组第一类像素点情况下,若所述初始分子图片的二值反色图中存在与所述T组第一类像素点之间的距离超过第一预设距离门限值的其他第一类像素点,则基于所述T组第一类像素点中的目标第一类像素点的位置确定所述初始分子图片的第一待截取区域;其中,所述T组第一类像素点中的每一组第一类像素点由数量超过预设数量门限值的连续第一类像素点组成;T为大于等于1的整数;
和/或,
在所述初始分母图片的二值反色图中包含有位于中间区域上方的R组第一类像素点情况下,若所述初始分母图片的二值反色图中存在与所述R组第一类像素点之间的距离超过第一预设距离门限值的其他第一类像素点,则基于所述R组第一类像素点的目标第一类像素点的位置确定所述初始分母图片的第二待截取区域;其中,所述R组第一类像素点中的每一组第一类像素点由数量超过预设数量门限值的连续第一类像素点组成;R为大于等于1的整数。
2.根据权利要求1所述的方法,其特征在于,所述基于所述初始分子图片以及所述初始分母图片中的第一类像素点,对所述初始分子图片以及所述初始分母图片进行处理,得到所述分数图像中包含的分子图片以及分母图片,包括:
在基于所述初始分子图片中的第一类像素点确定所述初始分子图片中存在所述第一待截取区域的情况下,删除所述初始分子图片中的所述第一待截取区域,得到所述分数图像中包含的分子图片;
和/或,
在基于所述初始分母图片中的第一类像素点确定所述初始分母图片中存在所述第二待截取区域的情况下,删除所述初始分母图片中的所述第二待截取区域,得到所述分数图像中包含的分母图片。
3.根据权利要求1所述的方法,其特征在于,所述对所述分数图像进行分割得到初始分子图片以及初始分母图片,包括:
基于所述分数图像的二值图包含的K个轮廓,确定所述分数图像的分割位置;K为大于等于1的整数;
基于所述分割位置对所述分数图像进行分割,得到所述初始分子图片以及所述初始分母图片。
4.根据权利要求3所述的方法,其特征在于,所述基于所述分数图像的二值图包含的K个轮廓,确定所述分数图像的分割位置,包括:
在所述分数图像的二值图包含的K个轮廓中存在宽高比大于第一门限值、且位于所述分数图像的二值图的中间区域的第一轮廓的情况下,将所述第一轮廓所在位置作为所述分数图像的分割位置。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:基于所述分数图像的背景颜色对所述第一轮廓所对应的区域进行填充,得到填充后的分数图像;
所述基于所述分割位置对所述分数图像进行分割,得到所述初始分子图片以及所述初始分母图片,包括:基于所述分割位置对所述填充后的分数图像进行分割,得到所述初始分子图片以及所述初始分母图片。
6.根据权利要求3所述的方法,其特征在于,所述基于所述分数图像的二值图包含的K个轮廓,确定所述分数图像的分割位置,包括:
在所述分数图像的二值图包含的K个轮廓中包含具备第一位置关系的第一排轮廓以及第二排轮廓的情况下,将所述第一排轮廓以及所述第二排轮廓的中间位置作为所述分数图像的分割位置。
7.根据权利要求3所述的方法,其特征在于,所述基于所述分数图像的二值图包含的K个轮廓,确定所述分数图像的分割位置,包括:
将所述分数图像的二值图包含的K个轮廓中的像素最高位置以及像素最低位置的中间位置作为所述分数图像的分割位置。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述分子图片以及所述分母图片进行拼接,得到拼接后的图像序列;
将所述拼接后的图像序列输入预设模型,得到所述预设模型输出的所述分子图片中的第一数字以及所述分母图片中的第二数字。
9.根据权利要求1所述的方法,其特征在于,所述对目标图像进行识别,得到所述目标图像中包含的分数图像,包括:
将所述目标图像输入预设模型,得到所述预设模型输出的初始识别结果;其中,所述初始识别结果中包含分数标签;
基于所述初始识别结果中包含的所述分数标签从所述目标图像中获取分数图像。
10.根据权利要求9所述的方法,其特征在于,所述基于所述初始识别结果中包含的所述分数标签从所述目标图像中获取分数图像,包括:
基于所述初始识别结果中包含的分数标签所对应的目标图像中的边界位置,从所述目标图像提取初始分数图像;
对所述初始分数图像进行处理,得到所述分数图像。
11.根据权利要求10所述的方法,其特征在于,所述对所述初始分数图像进行处理,得到所述分数图像,包括:
对所述初始分数图像进行二值化反色处理,得到所述初始分数图像的二值反色图;
基于所述初始分数图像的所述二值反色图确定待删除区域,基于所述待删除区域确定调整后的二值反色图;
基于调整后的二值反色图确定有效区域边框,基于所述有效区域边框从所述初始分数图像中获取分数图像。
12.一种图像处理装置,包括:
第一识别单元,用于对目标图像进行识别,得到所述目标图像中包含的分数图像;
分割单元,用于对所述分数图像进行分割得到初始分子图片以及初始分母图片;
图片处理单元,用于基于所述初始分子图片以及所述初始分母图片中的第一类像素点,对所述初始分子图片以及所述初始分母图片进行处理,得到所述分数图像中包含的分子图片以及分母图片;
第二识别单元,用于基于所述分子图片中的第一数字以及分母图片中的第二数字组成分数,基于所述分数得到所述目标图像所对应的分数识别结果;
其中,所述图片处理单元,还用于在所述初始分子图片的二值反色图中包含有位于中间区域下方的T组第一类像素点情况下,若所述初始分子图片的二值反色图中存在与所述T组第一类像素点之间的距离超过第一预设距离门限值的其他第一类像素点,则基于所述T组第一类像素点中的目标第一类像素点的位置确定所述初始分子图片的第一待截取区域;其中,所述T组第一类像素点中的每一组第一类像素点由数量超过预设数量门限值的连续第一类像素点组成;T为大于等于1的整数;
和/或,
用于在所述初始分母图片的二值反色图中包含有位于中间区域上方的R组第一类像素点情况下,若所述初始分母图片的二值反色图中存在与所述R组第一类像素点之间的距离超过第一预设距离门限值的其他第一类像素点,则基于所述R组第一类像素点的目标第一类像素点的位置确定所述初始分母图片的第二待截取区域;其中,所述R组第一类像素点中的每一组第一类像素点由数量超过预设数量门限值的连续第一类像素点组成;R为大于等于1的整数。
13.根据权利要求12所述的装置,其特征在于,所述图片处理单元,用于在基于所述初始分子图片中的第一类像素点确定所述初始分子图片中存在所述第一待截取区域的情况下,删除所述初始分子图片中的所述第一待截取区域,得到所述分数图像中包含的分子图片;
和/或,
在基于所述初始分母图片中的第一类像素点确定所述初始分母图片中存在所述第二待截取区域的情况下,删除所述初始分母图片中的所述第二待截取区域,得到所述分数图像中包含的分母图片。
14.根据权利要求12所述的装置,其特征在于,所述分割单元,用于基于所述分数图像的二值图包含的K个轮廓,确定所述分数图像的分割位置;K为大于等于1的整数;基于所述分割位置对所述分数图像进行分割,得到所述初始分子图片以及所述初始分母图片。
15.根据权利要求14所述的装置,其特征在于,所述分割单元,用于在所述分数图像的二值图包含的K个轮廓中存在宽高比大于第一门限值、且位于所述分数图像的二值图的中间区域的第一轮廓的情况下,将所述第一轮廓所在位置作为所述分数图像的分割位置。
16.根据权利要求15所述的装置,其特征在于,所述分割单元,用于基于所述分数图像的背景颜色对所述第一轮廓所对应的区域进行填充,得到填充后的分数图像;基于所述分割位置对所述填充后的分数图像进行分割,得到所述初始分子图片以及所述初始分母图片。
17.根据权利要求14所述的装置,其特征在于,所述分割单元,用于在所述分数图像的二值图包含的K个轮廓中包含具备第一位置关系的第一排轮廓以及第二排轮廓的情况下,将所述第一排轮廓以及所述第二排轮廓的中间位置作为所述分数图像的分割位置。
18.根据权利要求14所述的装置,其特征在于,所述分割单元,用于将所述分数图像的二值图包含的K个轮廓中的像素最高位置以及像素最低位置的中间位置作为所述分数图像的分割位置。
19.根据权利要求12所述的装置,其特征在于,所述第二识别单元,用于将所述分子图片以及所述分母图片进行拼接,得到拼接后的图像序列;将所述拼接后的图像序列输入预设模型,得到所述预设模型输出的所述分子图片中的第一数字以及所述分母图片中的第二数字。
20.根据权利要求12所述的装置,其特征在于,所述第一识别单元,用于将所述目标图像输入预设模型,得到所述预设模型输出的初始识别结果;其中,所述初始识别结果中包含分数标签;基于所述初始识别结果中包含的所述分数标签从所述目标图像中获取分数图像。
21.根据权利要求20所述的装置,其特征在于,所述第一识别单元,用于基于所述初始识别结果中包含的分数标签所对应的目标图像中的边界位置,从所述目标图像提取初始分数图像;对所述初始分数图像进行处理,得到所述分数图像。
22.根据权利要求21所述的装置,其特征在于,所述第一识别单元,用于对所述初始分数图像进行二值化反色处理,得到所述初始分数图像的二值反色图;基于所述初始分数图像的所述二值反色图确定待删除区域,基于所述待删除区域确定调整后的二值反色图;基于调整后的二值反色图确定有效区域边框,基于所述有效区域边框从所述初始分数图像中获取分数图像。
23.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-11中任一项所述的方法。
24.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110293003.9A CN112801046B (zh) | 2021-03-19 | 2021-03-19 | 图像处理方法、装置、电子设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110293003.9A CN112801046B (zh) | 2021-03-19 | 2021-03-19 | 图像处理方法、装置、电子设备和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112801046A CN112801046A (zh) | 2021-05-14 |
CN112801046B true CN112801046B (zh) | 2021-08-06 |
Family
ID=75817191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110293003.9A Active CN112801046B (zh) | 2021-03-19 | 2021-03-19 | 图像处理方法、装置、电子设备和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112801046B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040090439A1 (en) * | 2002-11-07 | 2004-05-13 | Holger Dillner | Recognition and interpretation of graphical and diagrammatic representations |
CN105913057B (zh) * | 2016-04-12 | 2019-04-09 | 中国传媒大学 | 一种结合投影和结构特征进行图像中数学公式检测方法 |
CN107169485B (zh) * | 2017-03-28 | 2020-10-09 | 北京捷通华声科技股份有限公司 | 一种数学公式识别方法和装置 |
CN110135407B (zh) * | 2018-02-09 | 2021-01-29 | 北京世纪好未来教育科技有限公司 | 样本标注方法及计算机存储介质 |
CN108898142B (zh) * | 2018-06-15 | 2022-03-18 | 宁波云江互联网科技有限公司 | 一种手写公式的识别方法及计算设备 |
CN111325177B (zh) * | 2020-03-04 | 2023-05-12 | 南京红松信息技术有限公司 | 基于权重自定义的目标检测分式识别方法 |
-
2021
- 2021-03-19 CN CN202110293003.9A patent/CN112801046B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112801046A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Clausner et al. | Icdar2017 competition on recognition of documents with complex layouts-rdcl2017 | |
CN110008809B (zh) | 表格数据的获取方法、装置和服务器 | |
CN109753953B (zh) | 图像中定位文本的方法、装置、电子设备和存储介质 | |
JP6317772B2 (ja) | 外国語の文字セットおよびそれらの翻訳を資源に制約のあるモバイル機器上にリアルタイムで表示するためのシステムおよび方法 | |
US10643094B2 (en) | Method for line and word segmentation for handwritten text images | |
RU2631168C2 (ru) | Способы и устройства, которые преобразуют изображения документов в электронные документы с использованием trie-структуры данных, содержащей непараметризованные символы для определения слов и морфем на изображении документа | |
CN111753727A (zh) | 用于提取结构化信息的方法、装置、设备及可读存储介质 | |
RU2643465C2 (ru) | Устройства и способы, которые используют иерархически упорядоченную структуру данных, содержащую непараметризованные символы, для преобразования изображений документов в электронные документы | |
KR20220113829A (ko) | 차량 추적 방법, 장치 및 전자 기기 | |
CN110942004A (zh) | 基于神经网络模型的手写识别方法、装置及电子设备 | |
CN111783760B (zh) | 文字识别的方法、装置、电子设备及计算机可读存储介质 | |
WO2018090011A1 (en) | System and method of character recognition using fully convolutional neural networks | |
US10423851B2 (en) | Method, apparatus, and computer-readable medium for processing an image with horizontal and vertical text | |
CN110929727A (zh) | 图像标注方法及装置、文字检测方法及系统、电子设备 | |
CN110598566A (zh) | 图像处理方法、装置、终端和计算机可读存储介质 | |
US20030012438A1 (en) | Multiple size reductions for image segmentation | |
CN112508003A (zh) | 字符识别处理方法和装置 | |
CN112446259A (zh) | 图像处理方法、装置、终端和计算机可读存储介质 | |
CN111967490A (zh) | 用于地图检测的模型训练方法和地图检测方法 | |
CN109508716B (zh) | 一种图像文字的定位方法及装置 | |
CN111709428A (zh) | 图像中关键点位置的识别方法、装置、电子设备及介质 | |
CN112115865A (zh) | 用于处理图像的方法、装置、设备以及存储介质 | |
EP2816504A1 (en) | Character-extraction method and character-recognition device and program using said method | |
RU2625533C1 (ru) | Устройства и способы, которые строят иерархически упорядоченную структуру данных, содержащую непараметризованные символы, для преобразования изображений документов в электронные документы | |
CN111291742A (zh) | 对象识别方法和装置、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |