通过VNRecognizeTextRequest,我从特定的boundingBox中获取以下坐标:(0.21611927830895714、0.4163079471243136、0.017705895179925962、0.1368724813140948)。
我的问题是如何使用这些boundingBox坐标在UIImageView顶部绘制矩形?
答案 0 :(得分:1)
要从标准化坐标转换为图像坐标,可以使用以下
let rectInImage = VNImageRectForNormalizedRect(boundingBox, image.size.width, image.size.height)
您可以从此处使用UIBezierPath绘制路径:
func drawRect(_ rect: CGRect, layer: CALayer) {
let center = CGPoint(x: rect.midX, y: rect.midY)
let path: UIBezierPath = UIBezierPath(rect: rect)
let rectShape: CAShapeLayer = CAShapeLayer()
rectShape.path = path.cgPath
rectShape.position = center
rectShape.bounds = rect
rectShape.strokeColor = UIColor.green.cgColor
rectShape.fillColor = UIColor.clear.cgColor
rectShape.lineWidth = 1.0
layer.addSublayer(rectShape)
}