4

我们正在使用 google vision ocr 从收据中收集文本。在某些情况下,收据上有一些垂直书写的文本,如增值税信息等。

问题是谷歌视觉只有效地读取主要方向的文本(例如水平方向),并丢弃在垂直方向而不是水平方向写在同一张收据中的所有文本。是否有设置参数来告诉谷歌视觉也获取垂直方向的文本?

我在网上放了一个带有两个方向文本的图像的示例。

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

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

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

4

2 回答 2

2

我知道这是迟到的响应,也许将来有人会从中受益......您可以强制检测器通过在应用检测器之前进行帧旋转来仅识别垂直文本:在 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)
于 2019-01-11T06:22:54.897 回答
0

我认为这是 Google Vision API 的限制。我也搜索了如何做到这一点,并最终使用了这个解决方案。但是,如果您像我一样只需要其中一个垂直或水平,您可以使用客户端旋转(请参阅此处了解如何在上传前裁剪和旋转)。

于 2017-10-10T04:52:58.557 回答