您好,我有一个任务是构建一个只提取图像特定部分的Android应用程序。例如,仅提取包含上述电话号码的图像部分,然后使用OCR提取文本在那一部分。
我已经实施了Google的文字识别API,可以从图片中提取文字并且效果很好,但我不想提取所有内容,只提取特定部分。
这可能吗?如果是,我应该用什么技术来解决这个问题?
谢谢
答案 0 :(得分:1)
在没有任何背景的情况下,我不确定您是否能够确切地确定电话号码(在此示例中)的位置。在我的拙见中,这么简单的问题就是不。
但是,如果您可以稍微更改问题域,我认为您可以执行您要执行的操作。
我的意思很简单。在拍摄RX的图像之前,您是否可以询问正在拍照的人或正在扫描该文档的人突出显示电话号码字段?或者你可以让他们把电话号码放在一个盒子里吗? (或者简单地说,使电话号码看起来与其他信息不同)。如果他们可以这样做,您可以找到突出显示的部分(或查找框,或他们为区分电话号码字段所做的其他操作)将其与图像的其余部分分开并将其发送到Google API。
我知道这个解决方案可能需要人为干预并且容易出错,或者需要弄乱问题域。但是,它可以解决问题。 :)
答案 1 :(得分:0)
唯一的通用技术是要求真人指定(即使用鼠标)要提取的区域。但是,当这个人感到疲倦,无聊,要求加薪等时,这将失败。
如果您知道电话号码(总是)在图片中的位置(例如,距离顶部50个像素),那么您可以根据此找到。但如果文档在扫描时没有对齐,如果它们布局不一致等等,则会失败。
但是,坦率地说,最可靠和最便宜的解决方案是对整个图像进行OCR,并根据OCR字符识别电话号码。