Google vision ocr:垂直和水平线条文字识别

时间:2017-08-02 08:12:51

标签: ocr google-vision text-recognition

我们使用google vision ocr从收据中收集文字​​。 在某些情况下,收据上有一些垂直书写的文字,如桶信息和其他信息。

问题是谷歌愿景只能有效地阅读主要方向的文本(水平地通过示例)并丢弃在垂直方向而不是水平方向写在同一收据中的所有文本。 是否有一个参数来设置告诉谷歌愿景以垂直方向获取文本?

我已经在线提供了一个带有两个方向文本图像的例子。

https://drive.google.com/file/d/0B8kZz-q27lGGSUl5V3RjXzBLNnc/view?usp=sharing

g-vision认可的文字: 水平文字行

文字我希望得到认可: 水平文字行 垂直文字行

3 个答案:

答案 0 :(得分:0)

我认为这是Google Vision API的限制。我也搜索了如何做到这一点,并最终使用this solution。但是,如果你只需要像我一样垂直或水平中的一个,你可以使用客户端旋转(please see here on how to crop and rotate before upload)。

答案 1 :(得分:0)

  

是否有一个参数可以设置告诉google vision以垂直方向获取文本?

否(至少尚未,2017年10月)

所有在线OCR服务都有相同的限制,没有一个支持垂直文本。另请参阅https://ocr.space/compare-ocr-software

答案 2 :(得分:0)

我知道这是迟来的回应,也许将来有人会从中受益... 您可以像这样在应用检测器之前通过旋转框架来强制检测器仅识别垂直文本: 在CameraSource的setRotation()方法中。写:

outputFrame = new Frame.Builder()
                        .setImageData(mPendingFrameData, 
                          mPreviewSize.getWidth(),
                                mPreviewSize.getHeight(), 
                         ImageFormat.NV21)
                        .setId(mPendingFrameId)
                        .setTimestampMillis(mPendingTimeMillis)
                        .setRotation(mRotation)
                        .build();
mRotation = 2; (for vertical text direction from bottom to top)
mRotation = 1; (for vertical text direction from top to bottom)