【发布时间】:2014-04-16 08:42:55
【问题描述】:
是否可以在使用 opencv 或任何其他最佳图像和视频处理 api 在 android 中捕获视频时检测数字或文本
【问题讨论】:
标签: android opencv image-processing video-processing
是否可以在使用 opencv 或任何其他最佳图像和视频处理 api 在 android 中捕获视频时检测数字或文本
【问题讨论】:
标签: android opencv image-processing video-processing
是的,你可以。 OpenCV 3.0.0 包含一个基于极值区域检测和分类的text detection 工具。您可以在视频流中使用它。请注意,这是检测,结果可以用作任何 OCR(如 Tesseract)的输入。但请记住:
图像 -> 文本检测 -> 预处理(二值化等) -> OCR -> 识别文本
希望对你有帮助!
【讨论】:
erfilter for android 的文档在哪里?它甚至可以在 AndroidCV 中使用吗?
您将需要一个功能强大的 OCR 引擎,该引擎将尝试通过多种方式检测字符。 Tesseract 是一个很好的开源引擎,它将尝试通过掩码来“解析”您的图像中的字符。
但是,在为 OCR 引擎 (Tesseract) 提供图像之前,您需要采取几个步骤或方法。为了确保更准确的结果,您需要使用二值化以及许多其他常规方法(例如“canny”边缘检测)来“清理”图像。这就是“OpenCV”可以提供帮助的地方。
此外,您应该隔离/检测图像中的字符。这可以通过强大的算法来完成,例如Stroke Width Transform
关于在 android 中检测视频流,您可以通过清理和 OCR 引擎运行捕获的帧,因为它们是通过接收的:
onPreviewFrame(byte[] data, Camera camera)
另外,请查看此app,它允许 OCR 处于“连续预览”模式。
希望对你有帮助
【讨论】: