我想在我的图像 OCR 上应用 google 翻译应用画笔效果

I want to apply google translate app brush effect on my image OCR

您好,我使用 swift 构建了一个文本 OCR iOS 应用程序。我为此使用了 tesseract OCR 引擎,但它的准确性非常低。我想select文字区域像google翻译笔刷效果就可以了请帮忙看看怎么申请?

我通过在显示带有文本的图像的 UIImageView 之上添加另一个 UIImageView(为清楚起见,将称为 drawingImageView)设法获得了这种效果。这个想法是首先在 drawingImageView 中显示一个带有 0.3 alpha 之类的全黑图像,然后在绘制线条时使用 .destinationOut 作为上下文的混合模式。 代码可能如下所示:

override func viewDidLoad() {
    super.viewDidLoad()
    drawBlackBackground()
}

func drawBlackBackground() {
    UIGraphicsBeginImageContext(drawingImageView.frame.size)
    UIGraphicsGetCurrentContext()
    let image = UIImage(named: "black")
    image?.draw(in: drawingImageView.frame)
    self.drawingImageView.image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
}

func drawLineFrom(fromPoint: CGPoint, toPoint: CGPoint) {
    UIGraphicsBeginImageContext(drawingImageView.frame.size)
    let context = UIGraphicsGetCurrentContext()
    drawingImageView.image?.draw(in: drawingImageView.frame)
    context?.move(to: fromPoint)
    context?.addLine(to: toPoint)
    context?.setLineCap(.round)
    context?.setLineWidth(20)
    context?.setStrokeColor(red: 0, green: 1, blue: 0, alpha: 1)
    context?.setBlendMode(.destinationOut)
    context?.strokePath()
    self.drawingImageView.image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
}

您可以查看 this post for more information on drawing in swift and this 一个更高级的版本。 另外 here 您可以找到有关混合模式的更多信息。