图像处理方法、介质、装置和计算设备与流程

文档序号:13482520阅读:242来源:国知局

本发明的实施方式涉及通信及计算机技术领域,更具体地,本发明的实施方式涉及图像处理方法、介质、装置和计算设备。



背景技术:

本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

目前,现有技术中的拍照翻译是对图片中的文字内容进行翻译之后,在原图上加上了半透明的遮罩层,然后在遮罩层上显示翻译结果。具体如图1所示,(a)图为原始图片,(b)图为对(a)图中的文字内容进行翻译之后的效果图。



技术实现要素:

虽然现有技术中的方案可以突出显示翻译结果,但是由于遮罩层的存在,导致用户只能看清文字翻译的结果,无法清楚看到原始图片中包含的图形、颜色等其它元素,进而会对用户理解图片所表达的含义造成不便。

为此,非常需要一种改进的图像处理方案,可以保证在显示翻译结果时能够不对原始图像中的其它元素造成影响,以便于用户理解原始图像所表达的含义。

在本上下文中,本发明的实施方式期望提供一种图像处理方法、介质、装置和计算设备。

在本发明实施方式的第一方面中,提供了一种图像处理方法,包括:识别原始图像中需要翻译的文字内容;对所述文字内容进行翻译,得到翻译结果;通过所述翻译结果替换所述原始图像中的文字内容。

在本发明的一些实施方式中,基于前述方案,通过所述翻译结果替换所述原始图像中的文字内容的步骤,包括:识别所述原始图像中的各个文字区域的背景颜色;通过识别到的各个文字区域的背景颜色对所述原始图像中的各个文字区域进行填充;将所述翻译结果显示在所述原始图像中对应的文字区域内。

在本发明的一些实施方式中,基于前述方案,识别所述原始图像中的各个文字区域的背景颜色的步骤,包括:对所述原始图像进行二值化处理,得到二值化结果;对于所述原始图像中的任一文字区域,确定所述任一文字区域的边缘上的各个像素点对应的二值化结果,以及所述各个像素点的颜色值;根据所述任一文字区域的边缘上的各个像素点对应的二值化结果,确定属于所述任一文字区域的背景部分的目标像素点;根据所述目标像素点的颜色值,确定所述任一文字区域的背景颜色。

在本发明的一些实施方式中,基于前述方案,对所述原始图像进行二值化处理,得到二值化结果的步骤,包括:将所述原始图像转换为灰度图;基于所述灰度图,通过自适应二值化方法获取所述二值化结果。

在本发明的一些实施方式中,基于前述方案,根据所述任一文字区域的边缘上的各个像素点对应的二值化结果,确定属于所述任一文字区域的背景部分的目标像素点的步骤,包括:根据所述任一文字区域的边缘上的各个像素点对应的二值化结果,对所述各个像素点进行分类,得到两类像素点;将所述两类像素点中数量最多的一类像素点作为所述目标像素点。

在本发明的一些实施方式中,基于前述方案,通过识别到的各个文字区域的背景颜色对所述原始图像中的各个文字区域进行填充的步骤,包括:对于所述任一文字区域中除所述目标像素点之外的其他像素点,根据所述其他像素点的邻域像素的颜色值,计算所述其他像素点的颜色值;在所述任一文字区域中应用所述目标像素点的颜色值和计算得到的所述其他像素点的颜色值。

在本发明的一些实施方式中,基于前述方案,根据所述其他像素点的邻域像素的颜色值,计算所述其他像素点的颜色值的步骤,包括:对于所述其他像素点中的任一像素点,计算所述任一像素点的四邻域或八邻域内的像素点的颜色值均值;将计算得到的颜色值均值作为所述任一像素点的颜色值。

在本发明的一些实施方式中,基于前述方案,根据所述其他像素点的邻域像素的颜色值,计算所述其他像素点的颜色值的步骤,包括:对于所述任一文字区域,按照预定的遍历方向,依次计算所述其他像素点中的每个像素点的颜色值。

在本发明的一些实施方式中,基于前述方案,所述预定的遍历方向包括:从所述任一文字区域的左上角到右上角的方向。

在本发明的一些实施方式中,基于前述方案,在所述任一文字区域中应用所述目标像素点的颜色值和计算得到的所述其他像素点的颜色值的步骤,包括:按照预定的替换方向,根据所述目标像素点的颜色值和所述其他像素点的颜色值依次替换所述原始图像中对应像素点的颜色值。

在本发明的一些实施方式中,基于前述方案,所述预定的替换方向包括:像素点从上到下纵向的方向。

在本发明的一些实施方式中,基于前述方案,将所述翻译结果显示在所述原始图像中对应的文字区域内的步骤,包括:根据所述原始图像中的各个文字区域的大小和所述各个文字区域对应的翻译结果包含的字符数,确定所述各个文字区域对应的翻译结果应当显示的字体大小;基于确定的字体大小,将所述翻译结果显示在所述原始图像中对应的文字区域内。

在本发明的一些实施方式中,基于前述方案,所述的方法还包括:识别所述原始图像中的各个文字区域内的文字颜色;基于识别到的文字颜色,对所述各个文字区域内显示的所述翻译结果进行渲染。

在本发明的一些实施方式中,基于前述方案,识别所述原始图像中的各个文字区域内的文字颜色的步骤,包括:对于所述原始图像中的任一文字区域,获取根据所述任一文字区域的边缘上的各个像素点对应的二值化结果对所述各个像素点进行分类得到的两类像素点;计算所述两类像素点中数量最多的一类像素点的颜色值均值;计算所述两类像素点中数量最少的一类像素点中的每个像素点的颜色值与所述颜色值均值之间的距离;将所述数量最少的一类像素点中颜色值与所述颜色值均值之间的距离最大的像素点的颜色值作为所述任一文字区域内的文字颜色值。

根据本发明实施方式的第二方面,提供了一种介质,其上存储有程序,该程序被处理器执行时实现如上述实施方式中第一方面所述的方法。

根据本发明实施方式的第三方面,提供了一种图像处理装置,包括:第一识别单元,用于识别原始图像中需要翻译的文字内容;翻译单元,用于对所述文字内容进行翻译,得到翻译结果;处理单元,用于通过所述翻译结果替换所述原始图像中的文字内容。

在本发明的一些实施方式中,基于前述方案,所述处理单元包括:第二识别单元,用于识别所述原始图像中的各个文字区域的背景颜色;填充单元,用于通过识别到的各个文字区域的背景颜色对所述原始图像中的各个文字区域进行填充;显示单元,用于将所述翻译结果显示在所述原始图像中对应的文字区域内。

在本发明的一些实施方式中,基于前述方案,所述第二识别单元配置为:对所述原始图像进行二值化处理,得到二值化结果;对于所述原始图像中的任一文字区域,确定所述任一文字区域的边缘上的各个像素点对应的二值化结果,以及所述各个像素点的颜色值;根据所述任一文字区域的边缘上的各个像素点对应的二值化结果,确定属于所述任一文字区域的背景部分的目标像素点;根据所述目标像素点的颜色值,确定所述任一文字区域的背景颜色。

在本发明的一些实施方式中,基于前述方案,所述第二识别单元配置为:将所述原始图像转换为灰度图;基于所述灰度图,通过自适应二值化方法获取所述二值化结果。

在本发明的一些实施方式中,基于前述方案,所述第二识别单元配置为:根据所述任一文字区域的边缘上的各个像素点对应的二值化结果,对所述各个像素点进行分类,得到两类像素点;将所述两类像素点中数量最多的一类像素点作为所述目标像素点。

在本发明的一些实施方式中,基于前述方案,所述填充单元包括:计算单元,对于所述任一文字区域中除所述目标像素点之外的其他像素点,根据所述其他像素点的邻域像素的颜色值,计算所述其他像素点的颜色值;应用单元,用于在所述任一文字区域中应用所述目标像素点的颜色值和计算得到的所述其他像素点的颜色值。

在本发明的一些实施方式中,基于前述方案,所述计算单元配置为:对于所述其他像素点中的任一像素点,计算所述任一像素点的四邻域或八邻域内的像素点的颜色值均值;将计算得到的颜色值均值作为所述任一像素点的颜色值。

在本发明的一些实施方式中,基于前述方案,所述计算单元配置为:对于所述任一文字区域,按照预定的遍历方向,依次计算所述其他像素点中的每个像素点的颜色值。

在本发明的一些实施方式中,基于前述方案,所述预定的遍历方向包括:从所述任一文字区域的左上角到右上角的方向。

在本发明的一些实施方式中,基于前述方案,所述应用单元配置为:按照预定的替换方向,根据所述目标像素点的颜色值和所述其他像素点的颜色值依次替换所述原始图像中对应像素点的颜色值。

在本发明的一些实施方式中,基于前述方案,所述预定的替换方向包括:像素点从上到下纵向的方向。

在本发明的一些实施方式中,基于前述方案,所述显示单元配置为:根据所述原始图像中的各个文字区域的大小和所述各个文字区域对应的翻译结果包含的字符数,确定所述各个文字区域对应的翻译结果应当显示的字体大小;基于确定的字体大小,将所述翻译结果显示在所述原始图像中对应的文字区域内。

在本发明的一些实施方式中,基于前述方案,还包括:第三识别单元,用于识别所述原始图像中的各个文字区域内的文字颜色;渲染单元,用于基于识别到的文字颜色,对所述各个文字区域内显示的所述翻译结果进行渲染。

在本发明的一些实施方式中,基于前述方案,所述第三识别单元配置为:对于所述原始图像中的任一文字区域,获取根据所述任一文字区域的边缘上的各个像素点对应的二值化结果对所述各个像素点进行分类得到的两类像素点;计算所述两类像素点中数量最多的一类像素点的颜色值均值;计算所述两类像素点中数量最少的一类像素点中的每个像素点的颜色值与所述颜色值均值之间的距离;将所述数量最少的一类像素点中颜色值与所述颜色值均值之间的距离最大的像素点的颜色值作为所述任一文字区域内的文字颜色值。

根据本发明实施方式的第四方面,提供了一种计算设备,包括:处理器和存储器,所述存储器存储有可执行指令,所述处理器用于调用所述存储器存储的可执行指令执行如上述实施方式中第一方面所述的方法。

根据本发明实施方式的图像处理方法、介质、装置和电子设备,通过识别并翻译原始图像中需要翻译的文字内容,并基于翻译结果替换原始图像中的文字内容,使得在显示翻译结果时能够不对原始图像中的其它元素造成影响,进而能够便于用户理解原始图像所表达的含义,相比于现有技术中的方案,本发明实施方式的技术方案具有较优的展示效果和较强的可读性。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

图1示出了现有技术中对图像中的文字进行翻译前后的对比示意图;

图2示意性示出了根据本发明的实施方式的图像处理方法的流程图;

图3示出了图2中所示的步骤s24的一种具体处理过程示意图;

图4示出了图3中所示的步骤s241的一种具体处理过程示意图;

图5示出了图3中所示的步骤s242的一种具体处理过程示意图;

图6示出了根据本发明的实施方式的对文字颜色进行识别及渲染的处理过程示意图;

图7示出了图6中所示的步骤s602的一种具体处理过程示意图;

图8示出了根据本发明的实施方式的对图像处理前后的对比效果示意图;

图9示意性示出了根据本发明的实施方式的图像处理装置的框图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本发明的实施方式,提出了一种图像处理方法、介质、装置和电子设备。

在本文中,需要理解的是,所涉及的术语“ocr”是opticalcharacterrecognition的缩写,中文含义为光学字符识别,主要是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。

术语“nmt”是neuralmachinetranslation的缩写,中文含义为神经网络机器翻译,主要是指利用深度神经网络进行机器翻译的技术。

术语“rgb”是工业界的一种颜色标准,主要是通过对红(r)、绿(g)、蓝(b)三个颜色通道的变化以及它们相互之间的叠加来得到各种颜色,rgb即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广泛的颜色系统之一。

术语“灰度图”是指每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮的白色的灰度。

术语“二值化处理”是指将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。

此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

发明概述

本发明人发现,现有技术中的拍照翻译是对图片中的文字内容进行翻译之后,在原图上加上了半透明的遮罩层,然后在遮罩层上显示翻译结果,这种方式虽然可以突出显示翻译结果,但是由于遮罩层的存在,导致用户只能看清文字翻译的结果,无法清楚看到原始图片中包含的图形、颜色等其它元素,进而会对用户理解图片所表达的含义造成不便。

因此,本发明的实施方式提供了一种图像处理方法、介质、装置和计算设备,可以保证在显示翻译结果时能够不对原始图像中的其它元素造成影响,进而便于用户理解原始图像所表达的含义。

在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。

应用场景总览

需要注意的是,下述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。

应用场景一:用户通过终端拍摄包含有需要翻译的文字内容的图像,进而终端能够识别到拍摄的图像中需要翻译的文字内容,然后对识别到的文字内容进行翻译,最后通过翻译结果替换原始图像中的文字内容,这样既保证用户能够查看到翻译结果,又不影响用户查看原始图像中的其它元素。

应用场景二:用户将已有的包含有需要翻译的文字内容的图像上传至终端,进而终端能够识别到图像中需要翻译的文字内容,然后对识别到的文字内容进行翻译,最后通过翻译结果替换原始图像中的文字内容,这样既保证用户能够查看到翻译结果,又不影响用户查看原始图像中的其它元素。

应用场景三:用户开启终端的摄像头,并通过摄像头的取景窗对准包含有需要翻译的文字内容的图像,进而终端能够识别到图像中需要翻译的文字内容,然后对识别到的文字内容进行翻译,最后将翻译结果显示在取景窗的相应位置处并覆盖原来的文字内容,这样既保证用户能够查看到翻译结果,又不影响用户查看取景窗采集到的图像中的其它元素。

示例性方法

下面结合上述的应用场景,参考图2至图8来描述根据本发明示例性实施方式的图像处理方法。

图2示意性示出了根据本发明的实施方式的图像处理方法的流程图,该方法的执行主体可以是具有处理功能的各种设备,比如智能手机、平板电脑、智能穿戴设备等,更具体地,是安装在智能手机、平板电脑、智能穿戴设备等中的应用程序。

参照图2,根据本发明的实施方式的图像处理方法,包括:

步骤s20,识别原始图像中需要翻译的文字内容。

在本发明的示例性实施方式中,可以通过ocr技术识别到原始图像中需要翻译的文字内容。需要说明的是,原始图像可以是拍摄得到的图像,也可以是摄像头的取景框中的图像,还可以是用户上传的图像。

步骤s22,对所述文字内容进行翻译,得到翻译结果。

在本发明的示例性实施方式中,对文字内容进行翻译可以是根据本地存储的字典来进行翻译,也可以是将识别到的文字内容发送至其他设备(如nmt翻译引擎)进行翻译,然后再接收其他设备回传的翻译结果。

步骤s24,通过所述翻译结果替换所述原始图像中的文字内容。

在步骤s24中,通过使翻译结果替换原始图像中的文字内容,使得在显示翻译结果时能够不对原始图像中的其它元素造成影响,进而能够便于用户理解原始图像所表达的含义,提高了翻译结果在图像中的展示效果,同时能够增强可读性。

在本发明的示例性实施方式中,参照图3所示,步骤s24包括:

步骤s241,识别原始图像中的各个文字区域的背景颜色。

根据本发明的示例性实施方式,参照图4所示,步骤s241包括:

步骤s2411,对原始图像进行二值化处理,得到二值化结果。

在本发明的实施方式中,步骤s2411具体可以包括:将原始图像转换为灰度图;基于转换得到的灰度图,通过自适应二值化方法获取所述二值化结果。优选地,可以采用opencv中提供的自适应二值化方法来获取二值化结果,其中,opencv是一个开源的跨平台计算机视觉库,可以运行在linux、windows、android和macos等操作系统上。

步骤s2412,对于所述原始图像中的任一文字区域,确定所述任一文字区域的边缘上的各个像素点对应的二值化结果,以及所述各个像素点的颜色值。

需要说明的是,本发明的实施方式中之所以对文字区域的边缘上的各个像素点进行处理是因为在文字区域的边缘上,文字内容通常占用的像素点个数较少,而文字内容与背景部分的颜色一般相差较大,因此可以根据文字区域的边缘上的像素点进行处理来确定哪些像素点是属于背景部分的像素点。

步骤s2413,根据所述任一文字区域的边缘上的各个像素点对应的二值化结果,确定属于所述任一文字区域的背景部分的目标像素点。

在本发明的示例性实施方式中,步骤s2413具体包括:根据所述任一文字区域的边缘上的各个像素点对应的二值化结果,对所述各个像素点进行分类,得到两类像素点;将所述两类像素点中数量最多的一类像素点作为所述目标像素点。

在该实施方式中,如上所述,在文字区域的边缘上,文字内容通常占用的像素点个数较少,而文字内容与背景部分的颜色一般相差较大,因此当根据二值化结果对文字区域的边缘上的各个像素点进行分类之后,数量较多的那一类像素点就是背景部分的像素点。

步骤s2414,根据所述目标像素点的颜色值,确定所述任一文字区域的背景颜色。

继续参照图3,还包括:

步骤s242,通过识别到的各个文字区域的背景颜色对所述原始图像中的各个文字区域进行填充。

在本发明的示例性实施方式中,参照图5所示,步骤s242包括:

步骤s2421,对于任一文字区域中除所述目标像素点之外的其他像素点,根据所述其他像素点的邻域像素的颜色值,计算所述其他像素点的颜色值。

在本发明的示例性实施方式,步骤s2421包括:对于所述其他像素点中的任一像素点,计算所述任一像素点的四邻域或八邻域内的像素点的颜色值均值;将计算得到的颜色值均值作为所述任一像素点的颜色值。

具体地,可以按照预定的遍历方向,依次计算文字区域内除所述目标像素点之外的其他像素点的颜色值,这样能够保证在计算某一像素点的颜色值时,其邻域内可以有较多的像素点已经具有了颜色值。

其中,预定的遍历方向可以是从文字区域的左上角到右上角的方向,当然也可以是从文字区域的右上角到左上角的方向,或者是其他方向。

步骤s2422,在所述任一文字区域中应用所述目标像素点的颜色值和计算得到的所述其他像素点的颜色值。

在本发明的示例性实施方式中,步骤s2422:按照预定的替换方向,根据所述目标像素点的颜色值和所述其他像素点的颜色值依次替换所述原始图像中对应像素点的颜色值。

其中,预定的替换方向可以是像素点从上到下纵向的方向,当然也可以是从下到上纵向的方向,还可以是基于横向的方向来进行替换。

继续参照图3,还包括:

步骤s243,将所述翻译结果显示在原始图像中对应的文字区域内。

在本发明的示例性实施方式中,步骤s243包括:根据原始图像中的各个文字区域的大小和所述各个文字区域对应的翻译结果包含的字符数,确定所述各个文字区域对应的翻译结果应当显示的字体大小;基于确定的字体大小,将所述翻译结果显示在所述原始图像中对应的文字区域内。

该实施方式的技术方案使得在将翻译结果显示在原始图像中对应的文字区域内后,文字的显示大小能够与文字区域的大小相适应,进而能够优化显示效果。

在上述实施方式提供的技术方案的基础上,本发明的实施方式还提出了对文字颜色进行识别及渲染的处理过程,具体参照图6所示,包括:

步骤s602,识别原始图像中的各个文字区域内的文字颜色。

在本发明的示例性实施方式中,参照图7所示,步骤s602包括:

步骤s6021,对于所述原始图像中的任一文字区域,获取根据所述任一文字区域的边缘上的各个像素点对应的二值化结果对所述各个像素点进行分类得到的两类像素点。

需要说明的是,在文字区域的边缘上,文字内容通常占用的像素点个数较少,而文字内容与背景部分的颜色一般相差较大,因此当根据二值化结果对文字区域的边缘上的各个像素点进行分类得到的两类像素点中,一类是背景部分的像素点,另一类是文字内容的像素点,并且背景部分的像素点的个数要大于文字内容的像素点的个数。

步骤s6022,计算所述两类像素点中数量最多的一类像素点的颜色值均值。

在该步骤中,数量最多的一类像素点即为背景部分的像素点。

步骤s6023,计算所述两类像素点中数量最少的一类像素点中的每个像素点的颜色值与所述颜色值均值之间的距离。

在本发明的实施方式中,计算颜色值rgbe1和rgbe2之间的距离可以通过如下算法来进行计算:

在上述算法中,e1.r表示e1的r(红色)分量的值,e1.g表示e1的g(绿色)分量的值,e1.b表示e1的b(蓝色)分量的值。类似地,e2.r表示e2的r(红色)分量的值,e2.g表示e2的g(绿色)分量的值,e2.b表示e2的b(蓝色)分量的值。sqrt()表示平方根函数,long表示数据类型为整型。

步骤s6024,将所述数量最少的一类像素点中颜色值与所述颜色值均值之间的距离最大的像素点的颜色值作为所述任一文字区域内的文字颜色值。

在该步骤中,数量最少的一类像素点即文字内容的像素点,所述的颜色值均值即背景部分的像素点的颜色值均值,该步骤的技术方案使得确定的文字颜色值能够最大限度地与背景部分进行区分,进而能够保证文字部分与背景部分具有较大的颜色差,以便于用户区分。

继续参照图6,还包括:

步骤s604,基于识别到的文字颜色,对所述各个文字区域内显示的所述翻译结果进行渲染。

图6所示的技术方案使得将翻译结果显示在原始图像上之后,既能够通过替换原文字内容的方式来保证不对原始图像中的其它元素造成影响,又能够最大限度地还原原始图像中的色彩,有利于提升翻译结果在图像中的展示效果,同时能够增强可读性。

基于本发明实施方式的技术方案,参照图8所示,当对原始图像上的文字内容翻译之后,可以在相应的位置上通过翻译结果替换掉原来的文字内容,保证了不对原始图像中的其它元素造成影响,进而便于理解原始图像所表达的含义。

以上介绍了根据本发明的实施方式的图像处理方法的各部分细节,总体而言,本发明实施方式中的图像处理方法主要包含三部分:文字区域的背景颜色识别、文字颜色的识别,以及文字颜色和背景颜色的渲染,以下分别对这三部分进行简要说明:

文字区域的背景颜色识别

1)首先将原始图像转换成灰度图g;

2)然后利用opencv中的自适应二值化方法获得灰度图g对应的二值化结果b;

3)接着,根据ocr对原始图像进行识别得到的文字区域信息,针对每一个文字区域的边缘,沿着文字区域上方从左到右(此处的顺序仅为示例)依次记录二值化结果为255和0的像素点对应的原始图像中的rgb值,并放到两个数组a和b中;

4)最后,对于每一个文字区域,将数组a和b中元素个数较多的数组中的rgb值作为对应文字区域识别得到的背景颜色值。

文字颜色的识别

1)获得原始图像、ocr得到的文字区域信息,以及上述得到的二值化结果以及背景颜色信息;

2)对于每一个文字区域,计算其对应的背景颜色序列值(即上述数组a和b中元素个数较多的数组中的rgb值)的平均颜色值,遍历文字部分的像素点的颜色值(即上述数组a和b中元素个数较少的数组中的rgb值),并依次计算这些像素点的颜色值与上述平均颜色值之间的距离;

3)对于每一个文字区域,将与上述平均颜色值之间的距离最大的rgb值作为该区域中的文字颜色值。

文字颜色和背景颜色的渲染

1)获取原始图像、ocr得到的文字区域信息、上述方案得到的背景颜色信息以及文字颜色值;

2)根据ocr识别得到的文字区域信息,对于每一个文字区域,从左上角到右上角进行遍历,然后根据上述识别到的背景颜色值从上到下纵向(此处的顺序仅为示例)替换原始图像中相应位置处的像素值,对于没有对应的背景颜色值的像素点,则根据其邻域像素的颜色值来进行替换,具体可以计算其邻域像素点的颜色值均值,将颜色值均值作为其颜色值;

3)对于每一个文字区域,将识别得到的文字连成段落后发送给nmt引擎得到对应的翻译后的文本(此处仅为示例,在本发明的其它实施方式中,也可以基于本地的词典进行翻译),然后根据文字区域大小以及翻译后文本的字符数,计算需要渲染的字体大小,最后根据上述得到的文字颜色值,将翻译后的文本用对应的文字颜色渲染到原文本区域内。

本发明上述实施方式的技术方案能够有效识别到图像中的文字区域的背景颜色及文字颜色,进而可以在保留原始图像中非文字部分的元素信息的同时,能够将翻译后的文本在原图中逼真的展示出来,相比于现有技术的方案,本发明实施方式的技术方案具有更好的展示效果和更高的可读性。

示例性介质

在介绍了本发明示例性实施方式的方法之后,接下来,对本发明示例性实施方式的介质进行说明。

在一些可能的实施方式中,本发明的各个方面还可以实现为一种介质,其上存储有程序代码,当所述程序代码被设备的处理器执行时用于实现本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的图像处理方法中的步骤。

具体地,所述设备的处理器执行所述程序代码时用于实现如下步骤:识别原始图像中需要翻译的文字内容;对所述文字内容进行翻译,得到翻译结果;通过所述翻译结果替换所述原始图像中的文字内容。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:识别所述原始图像中的各个文字区域的背景颜色;通过识别到的各个文字区域的背景颜色对所述原始图像中的各个文字区域进行填充;将所述翻译结果显示在所述原始图像中对应的文字区域内。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:对所述原始图像进行二值化处理,得到二值化结果;对于所述原始图像中的任一文字区域,确定所述任一文字区域的边缘上的各个像素点对应的二值化结果,以及所述各个像素点的颜色值;根据所述任一文字区域的边缘上的各个像素点对应的二值化结果,确定属于所述任一文字区域的背景部分的目标像素点;根据所述目标像素点的颜色值,确定所述任一文字区域的背景颜色。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:将所述原始图像转换为灰度图;基于所述灰度图,通过自适应二值化方法获取所述二值化结果。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:根据所述任一文字区域的边缘上的各个像素点对应的二值化结果,对所述各个像素点进行分类,得到两类像素点;将所述两类像素点中数量最多的一类像素点作为所述目标像素点。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:对于所述任一文字区域中除所述目标像素点之外的其他像素点,根据所述其他像素点的邻域像素的颜色值,计算所述其他像素点的颜色值;在所述任一文字区域中应用所述目标像素点的颜色值和计算得到的所述其他像素点的颜色值。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:对于所述其他像素点中的任一像素点,计算所述任一像素点的四邻域或八邻域内的像素点的颜色值均值;将计算得到的颜色值均值作为所述任一像素点的颜色值。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:对于所述任一文字区域,按照预定的遍历方向,依次计算所述其他像素点中的每个像素点的颜色值。

在本发明的一些实施方式中,基于前述方案,所述预定的遍历方向包括:从所述任一文字区域的左上角到右上角的方向。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:按照预定的替换方向,根据所述目标像素点的颜色值和所述其他像素点的颜色值依次替换所述原始图像中对应像素点的颜色值。

在本发明的一些实施方式中,基于前述方案,所述预定的替换方向包括:像素点从上到下纵向的方向。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:根据所述原始图像中的各个文字区域的大小和所述各个文字区域对应的翻译结果包含的字符数,确定所述各个文字区域对应的翻译结果应当显示的字体大小;基于确定的字体大小,将所述翻译结果显示在所述原始图像中对应的文字区域内。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时还用于实现如下步骤:识别所述原始图像中的各个文字区域内的文字颜色;基于识别到的文字颜色,对所述各个文字区域内显示的所述翻译结果进行渲染。

在本发明的一些实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:对于所述原始图像中的任一文字区域,获取根据所述任一文字区域的边缘上的各个像素点对应的二值化结果对所述各个像素点进行分类得到的两类像素点;计算所述两类像素点中数量最多的一类像素点的颜色值均值;计算所述两类像素点中数量最少的一类像素点中的每个像素点的颜色值与所述颜色值均值之间的距离;将所述数量最少的一类像素点中颜色值与所述颜色值均值之间的距离最大的像素点的颜色值作为所述任一文字区域内的文字颜色值。

需要说明的是:上述的介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、rf等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

示例性装置

在介绍了本发明示例性实施方式的介质之后,接下来,参考图9对本发明示例性实施方式的图像处理装置进行说明。

图9示意性示出了根据本发明的实施方式的图像处理装置的框图。

参照图9,根据本发明的实施方式的图像处理装置90,包括:第一识别单元91、翻译单元92和处理单元93。

具体地,第一识别单元91用于识别原始图像中需要翻译的文字内容;翻译单元92用于对所述文字内容进行翻译,得到翻译结果;处理单元93用于通过所述翻译结果替换所述原始图像中的文字内容。

在本发明的一些实施方式中,基于前述方案,所述处理单元93包括:第二识别单元931,用于识别所述原始图像中的各个文字区域的背景颜色;填充单元932,用于通过识别到的各个文字区域的背景颜色对所述原始图像中的各个文字区域进行填充;显示单元933,用于将所述翻译结果显示在所述原始图像中对应的文字区域内。

在本发明的一些实施方式中,基于前述方案,所述第二识别单元931配置为:对所述原始图像进行二值化处理,得到二值化结果;对于所述原始图像中的任一文字区域,确定所述任一文字区域的边缘上的各个像素点对应的二值化结果,以及所述各个像素点的颜色值;根据所述任一文字区域的边缘上的各个像素点对应的二值化结果,确定属于所述任一文字区域的背景部分的目标像素点;根据所述目标像素点的颜色值,确定所述任一文字区域的背景颜色。

在本发明的一些实施方式中,基于前述方案,所述第二识别单元931配置为:将所述原始图像转换为灰度图;基于所述灰度图,通过自适应二值化方法获取所述二值化结果。

在本发明的一些实施方式中,基于前述方案,所述第二识别单元931配置为:根据所述任一文字区域的边缘上的各个像素点对应的二值化结果,对所述各个像素点进行分类,得到两类像素点;将所述两类像素点中数量最多的一类像素点作为所述目标像素点。

在本发明的一些实施方式中,基于前述方案,所述填充单元932包括:计算单元9321,对于所述任一文字区域中除所述目标像素点之外的其他像素点,根据所述其他像素点的邻域像素的颜色值,计算所述其他像素点的颜色值;应用单元9322,用于在所述任一文字区域中应用所述目标像素点的颜色值和计算得到的所述其他像素点的颜色值。

在本发明的一些实施方式中,基于前述方案,所述计算单元9321配置为:对于所述其他像素点中的任一像素点,计算所述任一像素点的四邻域或八邻域内的像素点的颜色值均值;将计算得到的颜色值均值作为所述任一像素点的颜色值。

在本发明的一些实施方式中,基于前述方案,所述计算单元9321配置为:对于所述任一文字区域,按照预定的遍历方向,依次计算所述其他像素点中的每个像素点的颜色值。

在本发明的一些实施方式中,基于前述方案,所述预定的遍历方向包括:从所述任一文字区域的左上角到右上角的方向。

在本发明的一些实施方式中,基于前述方案,所述应用单元9322配置为:按照预定的替换方向,根据所述目标像素点的颜色值和所述其他像素点的颜色值依次替换所述原始图像中对应像素点的颜色值。

在本发明的一些实施方式中,基于前述方案,所述预定的替换方向包括:像素点从上到下纵向的方向。

在本发明的一些实施方式中,基于前述方案,所述显示单元933配置为:根据所述原始图像中的各个文字区域的大小和所述各个文字区域对应的翻译结果包含的字符数,确定所述各个文字区域对应的翻译结果应当显示的字体大小;基于确定的字体大小,将所述翻译结果显示在所述原始图像中对应的文字区域内。

在本发明的一些实施方式中,基于前述方案,还包括:第三识别单元94,用于识别所述原始图像中的各个文字区域内的文字颜色;渲染单元95,用于基于识别到的文字颜色,对所述各个文字区域内显示的所述翻译结果进行渲染。

在本发明的一些实施方式中,基于前述方案,所述第三识别单元94配置为:对于所述原始图像中的任一文字区域,获取根据所述任一文字区域的边缘上的各个像素点对应的二值化结果对所述各个像素点进行分类得到的两类像素点;计算所述两类像素点中数量最多的一类像素点的颜色值均值;计算所述两类像素点中数量最少的一类像素点中的每个像素点的颜色值与所述颜色值均值之间的距离;将所述数量最少的一类像素点中颜色值与所述颜色值均值之间的距离最大的像素点的颜色值作为所述任一文字区域内的文字颜色值。

示例性计算设备

在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,介绍根据本发明的另一示例性实施方式的计算设备。

所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

在一些可能的实施方式中,根据本发明实施方式的计算设备可以至少包括至少一个处理器、以及至少一个存储器。其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的图像处理方法中的步骤。例如,所述处理器可以执行如图2中所示的步骤s20,识别原始图像中需要翻译的文字内容;步骤s22,对所述文字内容进行翻译,得到翻译结果;步骤s24,通过所述翻译结果替换所述原始图像中的文字内容。

又如,所述处理器也可以执行如图3至图7中所示的步骤。

应当注意,尽管在上文详细描述中提及了图像处理装置的若干单元或子单元,但是这种划分仅仅是示例性的,并非是强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或单元的特征和功能可以在一个模块或单元中具体化。反之,上文描述的一个模块或单元的特征和功能可以进一步划分为由多个模块或单元来具体化。

此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

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