【问题标题】:xcode custom overlay capturexcode 自定义覆盖捕获
【发布时间】:2013-01-14 05:56:02
【问题描述】:

我正在开发 OCR 识别应用程序,我想让用户手动选择执行 OCR 的区域(在相机选择期间)。现在,我面临的问题是我通过简单地覆盖 - (void)drawRect:(CGRect)rect 方法在相机屏幕上提供了一个矩形,但是,尽管有一个矩形,相机还是试图聚焦在整个捕获区域而不仅仅是在指定的矩形内。

换句话说,我不希望发送整个图片进行处理,而是只发送矩形内捕获的图像的一部分。我设法提供了一个矩形,但是没有任何功能。我不想聚焦整个屏幕区域,而只聚焦矩形下方的区域。

我希望这是有道理的,因为我已尽力解释它。 谢谢,让我知道

【问题讨论】:

    标签: ios objective-c xcode uiimagepickercontroller cgrectmake


    【解决方案1】:

    使用AVCaptureOutput将相机的图像流式传输到UIScrollView,然后允许用户将相机捏/拉/平移到适当的位置...现在使用UIGraphics图像Context拍摄“屏幕-shot”这个区域并将其发送到UIImage.CGImage 进行处理。

    【讨论】:

    • 您好 Albert,感谢您的回复。如果我不想实现捏/拉功能怎么办,从我提供固定矩形的意义上说?谢谢
    • 这应该也是可行的。使用UIView 并按您想要的方式调整大小。 (如果您愿意,您甚至可以使用半透明图像作为视图的背景)。确保视图具有较低的alpha 设置,以便用户可以看到它背后的内容。通过使用touchesMoved 或UISwipeGestureRecognizer 将UIView.center 调整为具有触摸x&y 坐标的CGPointMake 来移动UIView...
    • 现在,当您实现UIGraphics 图像Context 时,将边界(bounds)设置为UIViews 坐标和大小(bounds.size 或view.frame.size)的边界...现在将视图设置为hidden,这样它就不会妨碍并在您完成后拍摄您的“屏幕截图”,通过将hidden 值设置为false 将其重新设置为可见。
    • (这次只是将相机的图像放在UIView而不是UIScrollView,但仍然使用AVCaptureOutput方法。)
    • 嗨,再次感谢..我在同一方面还有另一个问题,现在我正在使用 UIImagepickercontroller。 UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];我使用此图像并进一步对其进行 OCR 处理,问题是如果我使用 AVCaptureOutput,我将如何获取图像进行处理?我可能听起来有点天真,但由于我是一个新手,我会很感激你的帮助
    猜你喜欢
    • 1970-01-01
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    • 1970-01-01
    • 2019-02-12
    相关资源
    最近更新 更多