移动 - 从相机扫描文本,无需拍照

Posted

技术标签:

【中文标题】移动 - 从相机扫描文本,无需拍照【英文标题】:Mobile - Scan text from camera, without taking a picture 【发布时间】:2016-05-21 15:31:40 【问题描述】:

是否有已知的 API 或方法可以在不实际手动保存(和上传)图片的情况下扫描卡片中的文本? (ios 和安卓)

然后我需要知道该 API 是否可以确定相机内应扫描的选取框。

我想要一种类似于 QR 扫描仪或增强现实应用程序的行为。用户只需指向相机并发生动作。

我在文本中打印了带有兑换码的卡片,包括 QR 将需要更改当前的卡片制作。

文本在一个白框内,这可能更容易识别:

【问题讨论】:

【参考方案1】:

在 iOS 上,您可以将 CIDetector 与 AVCaptureSession 一起使用。它可用于处理从相机传入的捕获会话输出缓冲区,而无需拍照并提供文本扫描。

对于文本检测,将 CIDetector 与 CIDetectorTypeText 一起使用将返回可能包含文本的区域,但您必须为光学字符识别执行额外的处理。

您也可以将 OpenCV 用于非开箱即用的解决方案。

【讨论】:

【参考方案2】:

你可以试试这个:https://github.com/gali8/Tesseract-OCR-iOS

用法:

    // Specify the image Tesseract should recognize on
tesseract.image = [[UIImage imageNamed:@"image_sample.jpg"] g8_blackAndWhite];

// Optional: Limit the area of the image Tesseract should recognize on to a rectangle
tesseract.rect = CGRectMake(20, 20, 100, 100);

// Optional: Limit recognition time with a few seconds
tesseract.maximumRecognitionTime = 2.0;

// Start the recognition
[tesseract recognize];

【讨论】:

我会试试的,谢谢。对于 android,Tesseract 应该几乎一样吧?

以上是关于移动 - 从相机扫描文本,无需拍照的主要内容,如果未能解决你的问题,请参考以下文章

移动端调用相机拍照上传图片

通过相机扫描图像和从相机捕获图像之间有啥不同吗?

相机socket机器人移动实例

Android:如何在不拍照的情况下从相机捕获文本?

odoo移动端使用条码扫描打不开相机

SceneKit:围绕任意点进行轨道运行而无需相机跳跃或将锚点移动到中心?