CN116206321A - 一种表格识别方法、电子设备、存储介质及程序产品 - Google Patents
一种表格识别方法、电子设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN116206321A CN116206321A CN202310452635.4A CN202310452635A CN116206321A CN 116206321 A CN116206321 A CN 116206321A CN 202310452635 A CN202310452635 A CN 202310452635A CN 116206321 A CN116206321 A CN 116206321A
- Authority
- CN
- China
- Prior art keywords
- text
- image
- cell
- positions
- terminal
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000012545 processing Methods 0.000 claims abstract description 29
- 230000015654 memory Effects 0.000 claims description 32
- 238000009877 rendering Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 210000004027 cell Anatomy 0.000 description 169
- 238000001514 detection method Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 16
- 230000001976 improved effect Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 229920001621 AMOLED Polymers 0.000 description 4
- 230000009471 action Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000005452 bending Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
-
- 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/1444—Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供了一种表格识别方法、电子设备、存储介质及程序产品,涉及图像处理技术领域,应用于服务端,上述方法包括:接收终端发送的图像;确定所述图像中表格所在的表格区域;获得所述表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置;基于所获得的单元格位置、文本以及文本位置向所述终端发送表格信息,以使得所述终端基于所述表格信息渲染处于可编辑状态的表格。应用本申请实施例提供的方案可以识别图像中的表格。
Description
技术领域
本申请涉及图像处理技术领域,尤其地涉及一种表格识别方法、电子设备、存储介质及程序产品。
背景技术
随着手机、平板电脑等终端在用户日常生活中的应用越来越广泛,用户针对这些终端存在各种各样的需求。例如,除了要求终端提供通信、娱乐等基本功能之外,用户还期望终端能够提供有助于办公的功能,如,期望终端能够识别图像中包含的表格。
因此,需要提供一种表格识别方案,以实现终端识别图像中包含的表格。
发明内容
有鉴于此,本申请提供一种表格识别方法、电子设备、存储介质及程序产品,以识别图像中包含的表格。
第一方面,本申请实施例提供了一种表格识别方法,应用于服务端,所述方法包括:
接收终端发送的图像;
确定所述图像中表格所在的表格区域;
获得所述表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置;
基于所获得的单元格位置、文本以及文本位置向所述终端发送表格信息,以使得所述终端基于所述表格信息渲染处于可编辑状态的表格。
本申请的一个实施例中,所述基于所获得的单元格位置、文本以及文本位置向所述终端发送表格信息,包括:
根据所获得的单元格位置以及文本位置,对所述表格区域中表格包含的单元格和文本进行匹配,得到第一匹配结果;
基于所获得的单元格位置、文本、文本位置以及第一匹配结果向所述终端发送表格信息。
本申请的一个实施例中,所述基于所获得的单元格位置、文本、文本位置以及第一匹配结果向所述终端发送表格信息,包括:
将所获得的单元格位置设置为预设数据结构的第一级数据;
将各第一匹配结果指示的文本和文本位置设置为目标数据的第二级数据,得到表格信息,其中,所述目标数据为:被设置为第一匹配结果指示的单元格位置的第一级数据;
向所述终端发送所述表格信息。
本申请的一个实施例中,所述获得所述表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置,包括:
对所述表格区域并行进行表格结构识别以及文本识别,得到所述表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置。
本申请的一个实施例中,在确定出多个所述表格区域的情况下,所述获得所述表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置,包括:
并行获得各所述表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置。
本申请的一个实施例中,所述确定所述图像中表格所在的表格区域,包括:
对所述图像进行角点识别,得到表格的角点位置;
基于所得到的角点位置,确定所述图像中表格所在的表格区域;
和/或
通过以下方式获得所述表格区域中表格包含的单元格的单元格位置:
获得所述表格区域中表格内的角点位置;
基于所获得的角点位置,确定所述表格区域中表格包含的单元格的单元格位置。
本申请的一个实施例中,所述基于所获得的单元格位置、文本以及文本位置向所述终端发送表格信息,包括:
基于所述表格区域的区域位置、单元格位置、文本以及文本位置向所述终端发送表格信息。
第二方面,本申请实施例还提供了另一种表格识别方法,应用于终端,所述方法包括:
向服务端发送图像;
获得所述服务端基于单元格位置、目标文本以及所述目标文本的文本位置反馈的表格信息,其中,所述单元格位置为所述图像中表格包含的单元格的位置,所述目标文本为所述图像中表格包含的文本;
基于所述表格信息,渲染处于可编辑状态的表格。
本申请的一个实施例中,在所述表格信息包含所述单元格位置、目标文本以及文本位置的情况下,所述基于所述表格信息,渲染处于可编辑状态的表格,包括:
根据所述单元格位置以及所述文本位置,对所述单元格和所述目标文本进行匹配,得到第二匹配结果;
根据所述单元格位置、目标文本、文本位置以及第二匹配结果,渲染处于可编辑状态的表格。
本申请的一个实施例中,所述向服务端发送图像,包括:
响应于用户针对所展示的图像发起的表格识别指令,向服务端发送所述图像。
本申请的一个实施例中,所述渲染处于可编辑状态的表格,包括:
在展示所述图像的第一图层上覆盖第二图层;
在所述第二图层上渲染处于可编辑状态的表格。
本申请的一个实施例中,在所述渲染处于可编辑状态的表格之后,所述方法还包括:
响应于用户对所渲染表格的编辑指令,对所渲染表格进行编辑。
第三方面,本申请实施例还提供了一种电子设备,包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述电子设备执行上述第一方面或第二方面中任一实施例所述的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行上述第一方面或第二方面中任一实施例所述的方法。
第五方面,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包含可执行指令,当所述可执行指令在计算机上执行时,使得计算机执行上述第一方面或第二方面中任一实施例所述的方法。
第六方面,本申请实施例还提供了一种芯片系统,所述芯片系统应用于电子设备,所述芯片系统包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述电子设备将图像输入芯片系统,并执行上述第一方面或第二方面中任一实施例所述的方法对图像进行处理后输出处理结果。
本申请实施例的有益效果:
由以上可见,应用本申请实施例提供的方案进行表格识别时,服务端接收到终端发送的图像后,确定图像中表格所在的表格区域,并获得表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置,从而服务端基于所获得的单元格位置、文本以及文本位置向终端发送表格信息,这样终端可以基于表格信息渲染处于可编辑状态的表格,可见,应用本申请实施例提供的表格识别方案,终端能够渲染出图像中包含的、且处于可编辑状态的表格,从而实现表格识别。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种电子设备的示意图;
图2为本申请实施例提供的一种电子设备的软件结构框图;
图3为本申请实施例提供的第一种表格识别方法的流程示意图;
图4为本申请实施例提供的一种通信系统的结构示意图;
图5为本申请实施例提供的一种表格区域示意图;
图6为本申请实施例提供的一种表格识别的流程框图;
图7为本申请实施例提供的一种服务端的结构示意图;
图8为本申请实施例提供的一种终端与服务端的交互示意图;
图9为本申请实施例提供的第二种表格识别方法的流程示意图;
图10a为本申请实施例提供的第一种终端的界面示意图;
图10b为本申请实施例提供的第二种终端的界面示意图;
图10c为本申请实施例提供的第三种终端的界面示意图;
图11为本申请实施例提供的一种芯片系统的结构示意图。
具体实施方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一指令和第二指令是为了区分不同的用户指令,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例可应用于手机、平板电脑、个人计算机(personal computer,PC)、个人数字助理(personal digital assistant,PDA)、智能手表、上网本、可穿戴电子设备、增强现实技术(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、车载设备、智能汽车、机器人、智能眼镜、智能电视等电子设备中。
示例性的,图1示出了电子设备100的结构示意图。电子设备100可以包括处理器110,显示屏120,摄像头130,内部存储器140,用户标识模块(subscriber identificationmodule,SIM)卡接口150,通用串行总线(universal serial bus,USB)接口160,充电管理模块170,电源管理模块171,电池172,传感器模块180,移动通信模块190,无线通信模块200,天线1以及天线2等。其中传感器模块180可以包括触摸传感器180A等传感器。例如,传感器模块180还可以包括压力传感器、指纹传感器、环境光传感器等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括中央处理器(central processing unit,CPU)、应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signalprocessor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的部件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备100也可以包括一个或多个处理器110。其中,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。在其他一些实施例中,处理器110中还可以设置存储器,用于存储指令和数据。示例性地,处理器110中的存储器可以为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。这样就避免了重复存取,减少了处理器110的等待时间,因而提高了电子设备100处理数据或执行指令的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路间(inter-integrated circuit,I2C)接口、集成电路间音频(inter-integrated circuitsound,I2S)接口、脉冲编码调制(pulse code modulation,PCM)接口、通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口、移动产业处理器接口(mobile industry processor interface,MIPI)、用输入输出(general-purpose input/output,GPIO)接口、SIM卡接口和/或USB接口等。其中,USB接口160是符合USB标准规范的接口,具体可以是Mini USB接口、Micro USB接口、USB Type C接口等。USB接口160可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。该USB接口160也可以用于连接耳机,通过耳机播放音频。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,用于示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备100的无线通信功能可以通过天线1、天线2、移动通信模块190、无线通信模块200、调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
电子设备100通过GPU,显示屏120,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏120和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏120用于显示图像、视频等。显示屏120包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)、有机发光二极管(organic light-emittingdiode,OLED)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED)、柔性发光二极管(flex light-emittingdiode,FLED)、Miniled、MicroLed、Micro-oLed、量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或多个显示屏120。
在本申请的一些实施例中,当显示面板采用OLED、AMOLED、FLED等材料时,上述图1中的显示屏120可以被弯折。这里,上述显示屏120可以被弯折是指显示屏可以在任意部位被弯折到任意角度,并可以在该角度保持,例如,显示屏120可以从中部左右对折。也可以从中部上下对折。
电子设备100的显示屏120可以是一种柔性屏,目前,柔性屏以其独特的特性和巨大的潜力而备受关注。柔性屏相对于传统屏幕而言,具有柔韧性强和可弯曲的特点,可以给用户提供基于可弯折特性的新交互方式,可以满足用户对于电子设备的更多需求。对于配置有可折叠显示屏的电子设备而言,电子设备上的可折叠显示屏可以随时在折叠形态下的小屏和展开形态下大屏之间切换。因此,用户在配置有可折叠显示屏的电子设备上使用分屏功能,也越来越频繁。
电子设备100可以通过ISP、摄像头130、视频编解码器、GPU、显示屏120以及应用处理器等实现拍摄功能,其中,摄像头130包括前置摄像头和后置摄像头。
ISP用于处理摄像头130反馈的数据。例如,拍摄时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP可以对图像的噪点、亮度和色彩进行算法优化,ISP还可以优化拍摄场景的曝光和色温等参数。在一些实施例中,ISP可以设置在摄像头130中。
摄像头130用于拍摄需要进行图像处理的照片或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的红绿蓝(red green blue,RGB),YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头130,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1、MPEG2、MPEG3和MPEG4。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别、人脸识别、语音识别、文本理解等。
内部存储器140可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器140的上述指令,从而使得电子设备100执行本申请一些实施例中所提供的表格识别方法,以及各种应用以及数据处理等。内部存储器140可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用(比如图库、联系人等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器140可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储部件,闪存部件,通用闪存存储器(universal flash storage,UFS)等。在一些实施例中,处理器110可以通过运行存储在内部存储器140的指令,和/或存储在设置于处理器110中的存储器的指令,来使得电子设备100执行本申请实施例中所提供的表格识别方法,以及其他应用及数据处理。
内部存储器140可以用于存储本申请实施例中提供的表格识别方法的相关程序,处理器110可以用于在表格识别时调用内部存储器140中存储的表格识别方法的相关程序,执行本申请实施例的表格识别方法。
触摸传感器180A,也称为触控器件。触摸传感器180A可以设置于显示屏120,由触摸传感器180A与显示屏120组成触摸屏,触摸屏也称为触控屏。触摸传感器180A用于检测作用于其上或其附近的触摸操作。触摸传感器180A可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏120提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180A也可以设置于电子设备100的表面,并且与显示屏120设置于不同的位置。
传感器模块180还可以包括压力传感器、指纹传感器、环境光传感器等。
压力传感器用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器可以设置于显示屏120。压力传感器的种类很多,例如可以是电阻式压力传感器、电感式压力传感器或电容式压力传感器。电容式压力传感器可以是包括至少两个具有导电材料的平行板,当力作用于压力传感器,电极之间的电容改变,电子设备100根据电容的变化确定压力的强度。当触摸操作作用于显示屏120时,电子设备100根据压力传感器检测触摸操作。电子设备100也可以根据压力传感器的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令;当触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
指纹传感器用于采集指纹。电子设备100可以利用采集的指纹特性实现解锁、访问应用锁、拍摄和接听来电等功能。
环境光传感器用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏120亮度。环境光传感器也可用于拍摄时自动调节白平衡。环境光传感器还可以将设备所处的环境信息传入GPU。
环境光传感器还用于获取图像采集环境的亮度、光比、色温等。
图2是本申请实施例中电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。
软件结构中可以包括应用层210、应用框架层220、硬件抽象层230、驱动层240以及硬件层250。
应用层210可以包括相机、图库等应用程序。
应用框架层220为应用程序层的应用程序提供应用程序编程接口(applicationprogramming interface,API)和编程框架;应用程序框架层可以包括一些预定义的函数。
例如,应用框架层220可以包括相机访问接口;相机访问接口中可以包括相机管理与相机设备。其中,相机管理可以用于提供管理相机的访问接口;相机设备可以用于提供访问相机的接口。
硬件抽象层230用于将硬件抽象化。比如,硬件抽象层230可以包括相机硬件抽象层,相机硬件抽象层中可以包括相机设备1、相机设备2等。
驱动层240用于为不同硬件设备提供驱动。比如,驱动层可以包括相机设备驱动等。
硬件层250可以包括传感器、图像信号处理器等。
下面分别从服务端和终端对本申请实施例提供的表格识别方法进行详细说明。
本申请的一个实施例中,参见图3,提供了第一种表格识别方法的流程示意图,本实施例中,上述方法应用于服务端,包括以下步骤S301-S304。
步骤S301:接收终端发送的图像。
其中,上述终端可以是用户所使用的用户设备,例如手机、平板电脑等。
终端与服务端之间可以建立通信链路,如图4所示,通过该通信链路,终端与服务端可以实现信息交互,即终端能够向服务端发送信息,服务端同样能够向终端发送信息。
具体的,上述终端可以存储有图像,当用户针对终端存储的图像向终端发起表格识别指令时,终端响应表格识别指令,向服务端发送表格识别请求,并将所存储的图像发送给服务端,从而服务端可以接收终端发送的图像。其中,终端中存储的图像可以是终端图库中已存储的图像,也可以是终端调用摄像头采集图像后临时缓存的图像,本申请并不对此进行限定。
步骤S302:确定图像中表格所在的表格区域。
服务端接收到上述图像之后,可以对上述图像进行表格区域识别,从而确定出上述图像中表格所在的表格区域,并获得所确定表格区域的位置信息,其中,所获得的位置信息的数据结构可以是预设的第一数据结构,如json结构体的数据结构。
例如,可以通过以下三种实现方式中任一种确定上述表格区域。
第一种实现方式中,可以对图像进行角点识别,得到表格的角点位置,并基于所得到的角点位置,确定图像中表格所在的表格区域。
上述表格的角点位置为表格的最外框的顶点在图像中的位置。例如,如图5所示的图像中,表格的角点包括点m1、点m2、点m3、点m4,表格的角点位置即为点m1、点m2、点m3、点m4在图像中的位置。
在对图像进行角点识别时,可以识别出表格的四个角点的角点位置,也可以识别出表格的斜对角的两个角点的角点位置。
例如,针对图5所示的图像,可以识别出该图像中点m1、点m2、点m3、点m4这四个角点的位置,也可以仅识别出该图像中点m1、点m3这两个角点的位置或者点m2、点m4这两个角点的位置。
具体的,在对图像进行角点识别时,可以识别出图像中所有角点的位置,并在图像的所有角点的位置中确定表格的角点位置。
例如,可以通过以下两种实现方式,在图像的所有角点的位置中确定表格的角点位置。
一种实现方式中,可以根据所有角点的位置,确定所有角点的中心,并分别在位于该中心的左上方、左下方、右上方以及右下方的角点中,确定距离该中心最远的角点,将所确定出的角点的位置作为表格的角点位置。
另一种实现方式中,可以根据所有角点的位置,在所有角点中分别确定出距离图像的四个顶点最近的四个角点,将确定出的四个角点的位置作为表格的四个角点位置。
例如,可以通过以下两种实现方式,识别图像中所有角点的位置。
一种实现方式中,可以对图像进行直线检测,得到图像中各直线段的位置,确定由各个直线段两两相交形成的交点以及各直线段的端点为图像中的角点,直线段交点的位置以及直线段端点的位置即为角点的位置。
另一种实现方式中,可以预先训练得到用于检测图像中角点的角点检测模型,这样将图像输入该角点检测模型,即可获得模型输出的各角点的位置。
在获得表格的角点位置之后,若所获得的角点位置为表格的四个角点的位置,则可以根据这四个角点的位置,确定由经过两两角点的直线围成的封闭区域,作为图像中表格所在的表格区域;若所获得的角点位置为表格的斜对角的两个角点的位置,则可以确定由这两个角点所在像素行作为两个端点的像素行范围,作为表格区域的像素行范围,并确定由这两个角点所在像素列作为两个端点的像素列范围,作为表格区域的像素列范围,从而得到表格中的表格区域。
本实现方式中,对图像进行角点识别,得到表格的角点位置,也就确定了表格所在位置,这样根据表格的角点位置,可以准确确定图像中表格所在的表格区域,从而基于较为准确的表格区域进行后续处理,能够提高后续处理的准确性。
第二种实现方式中,可以预先训练得到用于检测图像中表格区域的区域检测模型,这样服务端在接收到终端发送的图像后,可以将该图像输入区域检测模型,从而获得区域检测模型输出的表格区域的位置信息,例如,上述位置信息可以是表格区域的四个顶点的位置,也可以是表格区域在图像中的像素行范围以及像素列范围。这样在获得模型输出的位置信息后,可以基于该位置信息,确定出图像中表格所在的表格区域。
第三种实现方式中,可以对图像进行直线段检测,确定由检测出的直线段围成的最大封闭区域,作为表格区域。
另外,由于图像中可能存在多个表格,因此,在检测出图像中包含的直线段后,可以将两两相交的直线段确定为同一表格包含的直线段,这样在确定出各表格包含的直线段后,可以确定由各个表格的直线段分别围成的最大封闭区域,作为各表格的表格区域。
例如,若检测出图像中包含4条直线段L1、L2、L3、L4,直线段L1与直线段L2相交,直线段L2与直线段L3相交,直线段L4与其他三条直线段均不相交,则可以确定直线段L1、L2、L3为同一表格包含的直线段,直线段L4为另一表格包含的直线段。
步骤S303:获得表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置。
其中,上述单元格位置可以以单元格的中心的位置表示,也可以以单元格的四个顶点的位置表示,还可以以单元格的斜对角的两个顶点的位置表示。
上述文本位置可以以文本中各字符的中心位置表示,也可以以包含文本中各字符的最小矩形框的位置表示,还可以以包含文本的最小矩形框的位置表示。
本申请的一个实施例中,所获得的单元格位置、文本以及文本位置中的至少一项信息的数据结构为预设的第二数据结构,如,json数据体的数据结构。
获得上述单元格位置、文本以及文本位置的具体实现方式可参见后续实施例,这里暂不详述。
另外,图像中可能包含多个表格,这样服务端可以确定出多个表格区域,在这种情况下,服务端在获得上述单元格位置、文本以及文本位置时,可以并行获得各表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置,从而加快获得各表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置的速度,提高表格识别效率。
步骤S304:基于所获得的单元格位置、文本以及文本位置向终端发送表格信息,以使得终端基于表格信息渲染处于可编辑状态的表格。
其中,上述表格信息可以理解为用于描述表格的信息。
第一种情况,上述表格信息可以是包含上述单元格位置、文本以及文本位置的信息,第二种情况,上述表格信息还可以是包含基于上述单元格位置、文本以及文本位置加工所得到信息的信息。
在上述第二种情况下,服务端在获得上述单元格位置、文本以及文本位置后,可以基于所获得的单元格位置、文本以及文本位置生成表格信息,并向终端发送所生成的表格信息,这样终端可以基于表格信息渲染处于可编辑状态的表格。
在上述第二种情况下,服务器向终端发送表格信息的实现方式可参见后续实施例,这里暂不详述。
终端渲染表格的具体实现方式可参见后续图8所示实施例中步骤S803,这里暂不详述。
由以上可见,应用本申请实施例提供的方案进行表格识别时,服务端接收到终端发送的图像后,确定图像中表格所在的表格区域,并获得表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置,从而服务端基于所获得的单元格位置、文本以及文本位置向终端发送表格信息,这样终端可以基于表格信息渲染处于可编辑状态的表格,可见,应用本申请实施例提供的表格识别方案,终端能够渲染出图像中包含的、且处于可编辑状态的表格,从而实现表格识别。
另外,从上述过程可以看出,应用本申请实施例提供的方案进行表格识别时,做到了服务端与终端相互配合,这样由计算资源资源丰富的服务端执行确定表格区域、获得单元格位置、获得文本和文本位置等计算量较大的步骤,这样不仅能够避免占用终端过多计算资源,还能够加快执行上述计算量较大的步骤的速度,从而实现终端轻量化的快速识别图像中的表格。
下面对步骤S303中获得上述单元格位置、文本以及文本位置的具体实现方式进行说明。
首先,说明获得上述单元格位置的实现方式。
例如,可以通过以下三种实现方式中任一种获得上述单元格位置。
第一种实现方式中,可以获得表格区域中表格内的角点位置,并基于所获得的角点位置,确定表格区域中表格包含的单元格的单元格位置。
在上述图5所示的图像中,表格内的角点包含点n1、点n2、点n3、点n4、点n5,表格区域中表格内的角点位置即为点n1、点n2、点n3、点n4、点n5在表格区域中的位置。
具体的,在获得表格区域中表格内的角点位置时,可以识别出图像中所有角点的位置,并确定所识别的角点位置中除表格的角点位置外的其他角点位置为表格内的角点位置。
在基于角点位置确定上述单元格位置时,针对每一角点位置,可以将该角点位置上的角点假设为单元格的一个顶点,以假设该角点位置上的角点为单元格的左上角顶点为例,可以确定位于该左上角顶点的右方、且与该左上角顶点相邻的角点,作为单元格的右上角顶点,确定位于该左上角顶点的下方、且与该左上角顶点相邻的角点,作为单元格的左下角顶点,确定位于上述右上角顶点的下方、且位于上述左下角顶点的右方的角点,作为单元格的右下角顶点,这样确定出单元格的四个顶点的位置后,可以根据这四个顶点的位置,确定单元格的单元格位置。
本实现方式中,基于表格区域中表格内的角点位置,能够准确确定出表格区域中表格包含的单元格的单元格位置,这样基于较为准确的单元格位置进行后续处理,能够提高后续处理的准确性。
第二种实现方式中,可以预先训练得到用于检测表格结构的结构检测模型,并利用结构检测模型检测表格区域中表格包含的单元格的单元格位置。
在利用结构检测模型检测上述单元格位置时,一种实现方式中,服务端在确定出图像中的表格区域后,可以将图像以及表格区域的位置信息输入结构检测模型,从而获得结构检测模型输出的表格结构中单元格的单元格位置。
另一种实现方式中,服务端在确定出图像中的表格区域后,可以根据表格区域的位置信息,从图像中分割出表格区域的区域图像,然后将分割出的区域图像输入结构检测模型,从而获得结构检测模型输出的表格结构中单元格的单元格位置。
第三种实现方式中,可以对图像进行直线段检测,确定由检测出的直线段围成的各个相互独立的封闭区域,作为表格中的各个单元格,进而获得这些单元格的单元格位置。
接下来,说明获得上述文本以及文本位置的实现方式。
例如,可以通过以下两种实现方式中的任一种获得表格区域中表格包含的文本以及文本位置。
第一种实现方式中,可以在获得上述单元格位置后,对表格区域中表格包含的每一单元格所在区域进行文本识别,这样单元格区域中存在文本的情况下,通过文本识别,可以识别出该单元格区域中存在的文本以及文本位置。这种情况下,识别到的文本的文本位置为文本在单元格区域中的位置。
第二种实现方式中,可以对整个表格区域进行文本识别,得到表格区域中表格包含的各个文本以及各个文本的文本位置。这种情况下,识别到的文本的文本位置为文本在表格区域中的位置。
在对表格区域进行文本识别时,可以利用文本识别算法、模型等对表格区域进行文本识别。
例如,可以预先训练得到OCR(Optical Character Recognition,光学字符识别)文本识别模型,这样在对表格区域进行文本识别时,可以将图像以及表格区域的位置信息输入该模型,或者将分割图像得到的表格区域的区域图像输入该模型,从而获得该模型输出的文本以及文本位置。
下面从执行流程顺序的角度,对服务端获得上述单元格位置、文本以及文本位置的实现方式进行说明。
一种实现方式中,可以对表格区域并行进行表格结构识别以及文本识别,从而得到表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置。
服务端对表格区域进行表格结构识别可以理解为识别表格区域中表格包含的各单元格。
识别表格区域中表格包含的各单元格的实现方式可参见前述实施例中提及的获得单元格位置的实现方式,对表格区域进行文本识别可参见前述实施例中提及的获得文本以及文本位置的第二种实现方式,这里不再赘述。
本方案中,由于获得文本以及文本位置时是对整个表格区域进行文本识别,而获得上述单元格位置同样是对表格区域进行处理,二者均是对表格区域进行处理,并无信息耦合,因此,可以对表格区域并行进行表格结构识别以及文本识别,这样能够提高获得上述单元格位置、文本以及文本位置的效率,进而提高表格识别效率。
另一种实现方式中,在服务端确定出多个表格区域的情况下,可以在并行获得各表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置的基础上,针对每一表格区域,再对该表格区域并行进行表格结构识别以及文本识别,这样能够进一步加快获得单元格位置、文本、文本位置的速度,进而能够进一步提高表格识别效率。
本申请的一个实施例中,参见图6,图6为服务端对存在多个表格的图像进行表格识别的流程示意图。图6中,服务端在获得图像后,可以确定图像中的各表格区域,并且并行对所确定的各个表格区域进行表格结构识别以及文本识别,得到各个表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置。这样可以为每一表格申请一份处理资源,为多份表格申请多份申请资源,从而提升表格识别效率。
下面对上述步骤S304中提及的表格信息是包含基于上述单元格位置、文本以及文本位置加工所得到信息的信息时,服务器向终端发送表格信息的具体实现方式进行说明。
本申请的一个实施例中,服务端在向终端发送表格信息时,可以根据所获得的单元格位置以及文本位置,对表格区域中表格包含的单元格和文本进行匹配,得到第一匹配结果;基于所获得的单元格位置、文本、文本位置以及第一匹配结果向终端发送表格信息。
在对单元格和文本进行匹配的过程中,针对服务端获得的每一文本,可以根据该文本的文本位置以及各个单元格的单元格位置,确定包含该文本的单元格,所确定的单元格即为与该文本匹配的单元格。上述第一匹配结果用于指示相匹配的文本以及单元格,每一组匹配的文本以及单元格可以对应一个第一匹配结果。
服务端在对单元格和文本进行匹配后,可以基于单元格位置、文本、文本位置以及各第一匹配结果向终端发送表格信息,可见,服务端向终端发送表格信息时所依据的信息较丰富,这样服务端所发送的表格信息更准确、详细,终端依据较为准确的表格信息渲染表格,能够提高渲染准确性,从而提高表格识别准确性。
下面对上述实施例中服务端基于单元格位置、文本、文本位置以及第一匹配结果向终端发送表格信息的具体实现方式进行说明。
例如,服务端可以通过以下两种实现方式中任一种向终端发送表格信息。
第一种实现方式中,可以将各单元格位置设置为预设数据结构的第一级数据,并将各第一匹配结果指示的文本和文本位置设置为目标数据的第二级数据,从而得到表格信息。
其中,上述目标数据为:被设置为第一匹配结果指示的单元格位置的第一级数据。
如,上述预设数据结构为json数据体的数据结构。
上述表格信息为预设数据结构的、且包含单元格位置、文本以及文本位置的信息,这样服务端向终端发送该表格信息,终端能够快速渲染处于可编辑状态的表格。
具体的,在设置预设数据结构的第一、第二级数据时,一种实现方式中,可以将各单元格位置设置为预设数据结构的第一级数据,第一级数据设置完成后,针对每一匹配结果,可以在各第一级数据中,确定被设置为该第一匹配结果指示的单元格位置的第一级数据,所确定的第一级数据即为目标数据,然后将该第一匹配结果指示的文本和所指示文本的文本位置设置为目标数据的第二级数据。
另一种实现方式中,可以确定各第一匹配结果所指示的各个单元格位置,并在设置第一级数据时,判断待设置为第一级数据的单元格位置是否为一种第一匹配结果所指示的单元格位置,若为是,则可以将该单元格位置设置为第一级数据,并将与该单元格位置匹配的文本和文本位置设置为该第一级数据的第二级数据。
第二种实现方式中,服务端可以向终端发送包含单元格位置、文本、文本位置以及第一匹配结果的表格信息。
服务端在向终端发送表格信息时,除了可以考虑上述单元格位置、文本、文本位置以及第一匹配结果之外,还可以考虑其他信息。
本申请的一个实施例中,服务端在确定出图像中表格所在的表格区域后,可以获得表格区域的区域位置,这样在向终端发送表格信息时,可以基于表格区域的区域位置、单元格位置、文本以及文本位置向终端发送表格信息。
上述表格信息可以是包含上述单元格位置、文本、文本位置以及表格区域的区域位置的信息,上述表格信息也可以是包含由上述单元格位置、文本、文本位置以及表格区域的区域位置加工所得到信息的信息。
基于表格区域的区域位置、单元格位置、文本以及文本位置向终端发送表格信息的实现方式可参见上述步骤S304,区别在于本实施例中服务端向终端发送表格信息时还参考了表格区域的区域位置,这样服务端所发送的表格信息更准确、详细,终端依据较为准确的表格信息渲染表格,能够提高渲染准确性,从而提高表格识别准确性。
本申请的一个实施例中,参见图7、图8,图7为一种服务端的结构示意图,图7中,服务端可以包含网关节点、调度节点、区域检测节点、单元格检测节点以及文本识别节点。图8为终端与服务端的交互示意图。
下面对终端与服务端之间的交互过程进行说明。
终端与服务端之间的交互过程包括以下步骤S801-S812。
步骤S801:终端获得用户针对终端中图像发起的表格识别指令。
步骤S802:终端响应于表格识别指令,向服务端发送表格识别请求。
步骤S803:服务端中的网关节点对使用终端的用户进行验证,例如认证用户的身份、鉴定用户的权限等等。
步骤S804:若网关节点验证未通过,则网关节点通知终端验证未通过,并反馈失败原因。
步骤S805:若网关节点验证通过,则网关节点向调度节点转发该表格识别请求。
步骤S806:调度节点响应于表格识别请求,向区域检测节点发送图像。
步骤S807:区域检测节点在检测出表格区域后,从图像中分割出表格区域所在的表格区域图像,确定表格区域的位置,并向调度节点发送表格区域图像以及表格区域的位置。
步骤S808:调度节点向单元格检测节点以及文本识别节点发送表格区域图像。
步骤S809:单元格检测节点检测表格区域中表格包含的单元格,得到单元格位置,并向调度节点发送单元格位置。
步骤S810:文本识别节点识别出表格区域中包含的文本以及文本位置,并向调度节点发送文本以及文本位置。
步骤S811:调度节点获得单元格检测节点检测出的单元格位置以及文本识别节点识别出的文本、文本位置后,根据单元格位置和文本位置,对单元格和文本进行匹配。
步骤S812:调度节点基于表格区域的位置、单元格位置、文本、文本位置以及匹配结果,向终端反馈表格信息,以使得终端基于表格信息渲染处于可编辑状态的表格。
与上述应用于服务端的表格识别方法相对应,本申请实施例还提供了一种应用于终端的表格识别方法。
本申请的一个实施例中,参见图9,提供了第二种表格识别方法的流程示意图,本实施例中,上述方法应用于终端,包括以下步骤S901-S903。
步骤S901:向服务端发送图像。
其中,上述图像可以是终端图库中已存储的图像,也可以是终端调用摄像头采集图像后临时缓存的图像。
本申请的一个实施例中,上述图像可以是终端展示的图像,终端可以响应于用户针对所展示的图像发起的表格识别指令,向服务端发送图像。
具体的,终端可以展示图像,用户在查看图像的过程中,可以发起针对所展示的图像的表格识别指令,例如,如图10a所示的终端的界面示意图中,终端在展示图像时,可以为用户提供分享图像、删除图像、表格识别等多个功能选项,用户点击表格识别选项即表示用户针对所展示的图像发起表格识别指令,从而终端可以响应于该表格识别指令,向服务端发送所展示的图像。
本申请的另一实施例中,用户可以查看终端图库中存储的各个图像,并在图库中存储的各图像中选择待进行表格识别的图像,例如,用户可以通过长按、双击等方式选中图库中的图像,这样终端在确定用户选择的图像后,可以向服务端发送该图像。
步骤S902:获得服务端基于单元格位置、目标文本以及目标文本的文本位置反馈的表格信息。
其中,单元格位置为图像中表格包含的单元格的位置,目标文本为图像中表格包含的文本。
具体的,服务端在获得上述图像后,可以根据上述图像,获得上述图像中表格包含的单元格的单元格位置、包含的目标文本以及文本位置,并基于所获得的单元格位置、目标文本以及文本位置向终端发送表格信息,从而终端可以获得服务端发送的表格信息。
服务端获得图像中表格包含的单元格的单元格位置、包含的目标文本以及文本位置的具体实现方式可参见上述步骤S303,服务端基于所获得的单元格位置、目标文本以及文本位置向终端发送表格信息的具体实现方式可参见上述步骤S304,这里不再赘述。
步骤S903:基于表格信息,渲染处于可编辑状态的表格。
根据上述步骤S304的内容可以得知,上述表格信息可以是包含上述单元格位置、目标文本以及文本位置的信息,上述表格信息也可以是包含由上述单元格位置、目标文本以及文本位置加工所得到信息的信息。
具体的,终端获得上述表格信息后,可以基于表格信息,得知图像中表格包含的单元格的单元格位置、包含的目标文本以及文本位置,这样终端在渲染表格时,可以根据各个单元格位置,渲染由各个单元格位置上的单元格组合成的处于可编辑状态的空白表格,并根据各目标文本的文本位置,在该空白表格中填充各目标文本,从而得到填充后的处于可编辑状态的表格,实现表格识别。
本申请的一个实施例中,在上述表格信息包含上述单元格位置、目标文本以及文本位置的情况下,终端在渲染表格时,可以根据单元格位置以及文本位置,对单元格和目标文本进行匹配,得到第二匹配结果;并根据单元格位置、目标文本、文本位置以及第二匹配结果,渲染处于可编辑状态的表格。
上述第二匹配结果指示相匹配的单元格以及目标文本,这样在终端构建出空白表格后,可以基于第二匹配结果,快速确定各目标文本所匹配的单元格,从而能够在空白表格中快速填充各目标文本,提高表格渲染效率,进而提高表格识别效率。
终端对单元格和目标文本进行匹配的具体实现方式可参见前述实施例中服务端对单元格和文本进行匹配的方式,这里不再赘述。
在终端发送的图像为终端展示的图像的情况下,本申请的一个实施例中,终端在渲染处于可编辑状态的表格时,可以在展示图像的第一图层上覆盖第二图层;并在第二图层上渲染处于可编辑状态的表格。
具体的,在第一图层上覆盖第二图层后,终端展示的内容可以由第一图层中的内容切换为第二图层中的内容。
例如,在第二图层为白色背景色的图层的情况下,在第一图层上覆盖第二图层后,终端展示白色背景色的图层,如图10b。
又例如,在第二图层为半透明图层的情况下,在第一图层上覆盖第二图层后,终端展示半透明的图像,如图10c。
在第一图层上覆盖第二图层后,终端可以将处于可编辑状态的表格作为第二图层中的显示元素,在第二图层上渲染处于可编辑状态的表格。
由以上可见,应用本申请实施例提供的方案进行表格识别时,终端能够快速渲染出处于可编辑状态的表格,这样在终端发送的图像为终端展示的图像的情况下,用户在发起表格识别指令后,终端能够快速展示处于可编辑状态的表格,这样能够提高用户使用终端的使用体验,从而能够增大用户对终端的粘性。
本申请的一个实施例中,由于终端渲染的表格为处于可编辑状态的表格,这样在终端渲染处于可编辑状态的表格之后,若终端获得用户对所渲染表格的编辑指令,则可以响应于该编辑指令,对所渲染表格进行编辑。
上述编辑指令指示的编辑动作可以是保存、分享、修改单元格、修改文本、另存为文档等等。
例如,若上述编辑指令为保存指令,则终端可以响应于保存指令,将所渲染表格保存至预设的表格数据库中。
又例如,若上述编辑指令为修改文本的指令,该指令中可以包含修改内容,这样终端可以相应于该指令,按照该指令中包含的修改内容,对该指令指示的待修改文本进行修改。
由以上可见,应用本申请实施例提供的方案进行表格识别时,终端在渲染出处于可编辑状态的表格之后,用户可以对所渲染表格进行编辑,这样能够提高表格识别的灵活性。
本申请的一个实施例中,终端在向服务端发送图像之前,可以向用户请求获取对图像进行表格识别的权限,在获得用户指示允许对图像进行表格识别的权限的情况下,再向服务端发送图像。
具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,其中,在上述程序运行时控制上述计算机可读存储介质所在设备执行上述实施例中的部分或全部步骤。上述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
具体实现中,本申请实施例还提供了一种计算机程序产品,上述计算机程序产品包含可执行指令,当所述可执行指令在计算机上执行时,使得计算机执行上述方法实施例中的部分或全部步骤。
如图11所示,本申请还提供了一种芯片系统,该芯片系统应用于电子设备100,芯片系统包括一个或多个处理器1101,处理器1101用于调用计算机指令以使得电子设备100将待处理的图像输入芯片系统,芯片系统基于本申请实施例提供的表格识别方法对图像进行处理后输出处理结果。
在一种可能的实现方式中,芯片系统还包括输入和输出接口,用于输入和输出数据。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(Digital Signal Processor,DSP)、微控制器、专用集成电路(Application Specific Integrated Circuit ,ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、光盘只读存储器(Compact Disc Read Only Memory,CD-ROMs)、磁光盘、只读存储器(Read OnlyMemory,ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(Erasable ProgrammableRead Only Memory ,EPROM)、电可擦除可编程只读存储器(Electrically ErasableProgrammable Read Only Memory ,EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明书附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (16)
1.一种表格识别方法,其特征在于,应用于服务端,所述方法包括:
接收终端发送的图像;
确定所述图像中表格所在的表格区域;
获得所述表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置;
基于所获得的单元格位置、文本以及文本位置向所述终端发送表格信息,以使得所述终端基于所述表格信息渲染处于可编辑状态的表格。
2.根据权利要求1所述的方法,其特征在于,所述基于所获得的单元格位置、文本以及文本位置向所述终端发送表格信息,包括:
根据所获得的单元格位置以及文本位置,对所述表格区域中表格包含的单元格和文本进行匹配,得到第一匹配结果;
基于所获得的单元格位置、文本、文本位置以及第一匹配结果向所述终端发送表格信息。
3.根据权利要求2所述的方法,其特征在于,所述基于所获得的单元格位置、文本、文本位置以及第一匹配结果向所述终端发送表格信息,包括:
将所获得的单元格位置设置为预设数据结构的第一级数据;
将各第一匹配结果指示的文本和文本位置设置为目标数据的第二级数据,得到表格信息,其中,所述目标数据为:被设置为第一匹配结果指示的单元格位置的第一级数据;
向所述终端发送所述表格信息。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述获得所述表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置,包括:
对所述表格区域并行进行表格结构识别以及文本识别,得到所述表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置。
5.根据权利要求1-3中任一项所述的方法,其特征在于,在确定出多个所述表格区域的情况下,所述获得所述表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置,包括:
并行获得各所述表格区域中表格包含的单元格的单元格位置、包含的文本以及文本位置。
6.根据权利要求1-3中任一项所述的方法,其特征在于,
所述确定所述图像中表格所在的表格区域,包括:
对所述图像进行角点识别,得到表格的角点位置;
基于所得到的角点位置,确定所述图像中表格所在的表格区域;
和/或
通过以下方式获得所述表格区域中表格包含的单元格的单元格位置:
获得所述表格区域中表格内的角点位置;
基于所获得的角点位置,确定所述表格区域中表格包含的单元格的单元格位置。
7.根据权利要求1所述的方法,其特征在于,所述基于所获得的单元格位置、文本以及文本位置向所述终端发送表格信息,包括:
基于所述表格区域的区域位置、单元格位置、文本以及文本位置向所述终端发送表格信息。
8.一种表格识别方法,其特征在于,应用于终端,所述方法包括:
向服务端发送图像;
获得所述服务端基于单元格位置、目标文本以及所述目标文本的文本位置反馈的表格信息,其中,所述单元格位置为所述图像中表格包含的单元格的位置,所述目标文本为所述图像中表格包含的文本;
基于所述表格信息,渲染处于可编辑状态的表格。
9.根据权利要求8所述的方法,其特征在于,在所述表格信息包含所述单元格位置、目标文本以及文本位置的情况下,所述基于所述表格信息,渲染处于可编辑状态的表格,包括:
根据所述单元格位置以及所述文本位置,对所述单元格和所述目标文本进行匹配,得到第二匹配结果;
根据所述单元格位置、目标文本、文本位置以及第二匹配结果,渲染处于可编辑状态的表格。
10.根据权利要求8或9所述的方法,其特征在于,所述向服务端发送图像,包括:
响应于用户针对所展示的图像发起的表格识别指令,向服务端发送所述图像。
11.根据权利要求10所述的方法,其特征在于,所述渲染处于可编辑状态的表格,包括:
在展示所述图像的第一图层上覆盖第二图层;
在所述第二图层上渲染处于可编辑状态的表格。
12.根据权利要求8或9所述的方法,其特征在于,在所述渲染处于可编辑状态的表格之后,所述方法还包括:
响应于用户对所渲染表格的编辑指令,对所渲染表格进行编辑。
13.一种电子设备,其特征在于,包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述电子设备执行权利要求1-7或权利要求8-12中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1-7或权利要求8-12中任一项所述的方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包含可执行指令,当所述可执行指令在计算机上执行时,使得计算机执行权利要求1-7或权利要求8-12中任一项所述的方法。
16.一种芯片系统,其特征在于,所述芯片系统应用于电子设备,所述芯片系统包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述电子设备将图像输入芯片系统,并执行权利要求1-7或权利要求8-12中任一项所述的方法对图像进行处理后输出处理结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310452635.4A CN116206321A (zh) | 2023-04-25 | 2023-04-25 | 一种表格识别方法、电子设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310452635.4A CN116206321A (zh) | 2023-04-25 | 2023-04-25 | 一种表格识别方法、电子设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116206321A true CN116206321A (zh) | 2023-06-02 |
Family
ID=86515971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310452635.4A Pending CN116206321A (zh) | 2023-04-25 | 2023-04-25 | 一种表格识别方法、电子设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116206321A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112686223A (zh) * | 2021-03-12 | 2021-04-20 | 腾讯科技(深圳)有限公司 | 一种表格识别方法、装置和计算机可读存储介质 |
CN113505762A (zh) * | 2021-09-09 | 2021-10-15 | 冠传网络科技(南京)有限公司 | 一种表格识别方法和装置、终端及存储介质 |
CN113762260A (zh) * | 2020-09-09 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种版面图片的处理方法、装置、设备及存储介质 |
CN114898390A (zh) * | 2022-05-20 | 2022-08-12 | 中国建设银行股份有限公司 | 表格生成方法、装置、电子设备及存储介质 |
CN115019324A (zh) * | 2021-03-04 | 2022-09-06 | 腾讯科技(深圳)有限公司 | 文本扫描的交互方法、装置、计算机设备和存储介质 |
CN115240213A (zh) * | 2022-07-15 | 2022-10-25 | 清华大学 | 表格图像识别方法、装置、电子设备及存储介质 |
CN115688721A (zh) * | 2023-01-03 | 2023-02-03 | 深圳鲲云信息科技有限公司 | 一种表格生成方法、装置、电子设备和存储介质 |
-
2023
- 2023-04-25 CN CN202310452635.4A patent/CN116206321A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113762260A (zh) * | 2020-09-09 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种版面图片的处理方法、装置、设备及存储介质 |
CN115019324A (zh) * | 2021-03-04 | 2022-09-06 | 腾讯科技(深圳)有限公司 | 文本扫描的交互方法、装置、计算机设备和存储介质 |
CN112686223A (zh) * | 2021-03-12 | 2021-04-20 | 腾讯科技(深圳)有限公司 | 一种表格识别方法、装置和计算机可读存储介质 |
CN113505762A (zh) * | 2021-09-09 | 2021-10-15 | 冠传网络科技(南京)有限公司 | 一种表格识别方法和装置、终端及存储介质 |
CN114898390A (zh) * | 2022-05-20 | 2022-08-12 | 中国建设银行股份有限公司 | 表格生成方法、装置、电子设备及存储介质 |
CN115240213A (zh) * | 2022-07-15 | 2022-10-25 | 清华大学 | 表格图像识别方法、装置、电子设备及存储介质 |
CN115688721A (zh) * | 2023-01-03 | 2023-02-03 | 深圳鲲云信息科技有限公司 | 一种表格生成方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11599979B2 (en) | Method and apparatus for video super resolution using convolutional neural network with two-stage motion compensation | |
US11138434B2 (en) | Electronic device for providing shooting mode based on virtual character and operation method thereof | |
US10681287B2 (en) | Apparatus and method for displaying AR object | |
US9621810B2 (en) | Method and apparatus for displaying image | |
CN112598594A (zh) | 颜色一致性矫正方法及相关装置 | |
US11048923B2 (en) | Electronic device and gesture recognition method thereof | |
US20230262321A1 (en) | Electronic device and operating method thereof | |
CN116152122B (zh) | 图像处理方法和电子设备 | |
US11144197B2 (en) | Electronic device performing function according to gesture input and operation method thereof | |
CN115643485B (zh) | 拍摄的方法和电子设备 | |
US20220189175A1 (en) | Electronic device and method for providing service corresponding to selection of object in image | |
US20230262318A1 (en) | Method for taking photograph by using plurality of cameras, and device therefor | |
CN116630354A (zh) | 一种视频抠图方法、电子设备、存储介质及程序产品 | |
CN116206321A (zh) | 一种表格识别方法、电子设备、存储介质及程序产品 | |
CN116703729B (zh) | 一种图像处理方法、终端、存储介质及程序产品 | |
CN114758601A (zh) | 屏幕显示颜色调整方法及电子设备 | |
US20230412920A1 (en) | Method for executing application, and electronic device supporting same | |
CN115988339B (zh) | 图像处理方法、电子设备、存储介质及程序产品 | |
EP3834404B1 (en) | A server for providing multiple services respectively corresponding to multiple external objects included in image | |
CN116699425B (zh) | 一种电池检测方法、电子设备、存储介质及程序产品 | |
US20230236638A1 (en) | Electronic device including flexible display, and screen control method | |
US20240179399A1 (en) | Electronic device for cropping subject within image frames and method thereof | |
US20220358776A1 (en) | Electronic device and operating method thereof | |
CN114631306B (zh) | 用于提供预览的方法和用于显示预览的电子装置 | |
CN117692752A (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 |