gpt4 book ai didi

iOS:基于实时摄像头的实时 OCR(类似于 iTunes 兑换礼品卡)

转载 作者:IT王子 更新时间:2023-10-29 07:59:14 24 4
gpt4 key购买 nike

有没有一种方法可以实现类似于 iTunes 和 App Store 应用程序在使用设备摄像头兑换礼品卡时所做的事情,在实时摄像头源上实时识别一小串字符?

iTunes App Redeem Gift Card UI

我知道在 iOS 7 中现在有 AVMetadataMachineReadableCodeObject 类,据我所知,它只代表条形码。我对检测和读取短字符串的内容更感兴趣。是否可以使用公开可用的 API 方法或您可能知道的其他第三方 SDK?

还有一个过程的视频:

https://www.youtube.com/watch?v=c7swRRLlYEo

最好的,

最佳答案

我正在做一个类似于你提到的用相机兑换 Apple 应用商店的项目。

处理实时视频的一个很好的起点是 a project I found on GitHub .这是使用 AVFoundation 框架,您实现 AVCaptureVideoDataOutputSampleBufferDelegate 方法。

获得图像流(视频)后,您可以使用 OpenCV 处理视频。在通过 Tesseract 运行图像之前,您需要确定图像中要进行 OCR 的区域。您必须尝试过滤,但您使用 OpenCV 采取的主要步骤是:

  • 使用 cv::cvtColor(inputMat, outputMat, CV_RGBA2GRAY) 将图像转换为黑白图像;
  • 对图像进行阈值处理以消除不必要的元素。您指定要消除的阈值,然后将其他所有内容设置为黑色(或白色)。
  • 确定构成框(或您正在处理的任何内容)边界的线。如果您已经消除了所需区域以外的所有内容,则可以创建一个“边界框”,或者使用 HoughLines 算法(或概率版本 HoughLinesP)。使用此功能,您可以确定线的交叉点以找到拐角,并在 OCR 之前使用拐角扭曲所需区域以将其拉直成合适的矩形(如果您的应用程序需要此步骤)。
  • 使用 Tesseract OCR 库处理图像的一部分以获得生成的文本。可以在 OpenCV 中为字母创建训练文件,这样您就可以在没有 Tesseract 的情况下阅读文本。这可能会更快,但也可能需要更多的工作。在 App Store 案例中,他们正在做类似的事情,将阅读的文本显示在原始图像之上。这增加了很酷的因素,所以它只取决于你需要什么。

其他一些提示:

  • 我使用了“Instant OpenCV”这本书来快速入门。这很有帮助。
  • 从 OpenCV.org/downloads.html 下载适用于 iOS 的 OpenCV
  • 我发现自适应阈值非常有用,您可以通过搜索“OpenCV adaptiveThreshold”阅读所有相关信息。此外,如果您的图像在明暗元素之间很少,您可以使用 Otsu's Binarization .这会根据灰度图像的直方图自动确定阈值。

关于iOS:基于实时摄像头的实时 OCR(类似于 iTunes 兑换礼品卡),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19101391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com