我想在我的图像 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 您可以找到有关混合模式的更多信息。
您好,我使用 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 您可以找到有关混合模式的更多信息。