谷歌视觉OCR:竖向和横向文本识别

4
我们正在使用Google Vision OCR从收据中获取文本。在某些情况下,收据上会有一些垂直书写的文本,例如增值税信息和其他一些信息。
问题是,Google Vision只能有效地读取主方向(例如水平方向)中的文本,并且会将所有垂直方向中的文本都丢弃。是否有参数可以设置告诉Google Vision也获取垂直方向中的文本?
我已经在线上放了一个带有两个方向文本的图像示例。

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

来自 g-vision 的识别文本: 水平文本行

我期望被识别的文本: 水平文本行 竖直文本行

2个回答

3

我知道回应晚了,或许将来有人能从中受益... 如果你想强制检测器仅识别竖直文字,请在应用检测器之前进行框架旋转,例如在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)

CameraSource没有setRotation方法。 - maxwell79
你正在旋转 Frame 对象而不是 CameraSource 对象。 - farahkh
你能提供一些上下文背景吗?setRotation是哪个库中的方法?另外@farakh,你能更新一下代码,让我们复制,比如输入图像路径、读取方法和输出路径。我主要使用Python和Scala,这似乎是Java,如果我没有弄错的话。 - Aakash Basu

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接