小编use*_*ser的帖子

用作子 VC 时,VNDetectRectangleRequest 中的边界框大小不正确

我正在尝试使用VNDetectRectangleRequest苹果的 Vision 框架来自动抓取卡片的图片。然而,当我转换点来绘制矩形时,它是畸形的并且不遵循矩形。我一直在密切关注这篇文章

一个主要区别是我将 CameraCaptureVC 嵌入到另一个 ViewController 中,以便仅当卡位于这个较小的窗口中时才会扫描该卡。

下面是我如何在父 vc 中设置相机 vc(从 viewDidLoad 调用)。

func configureSubviews() {
    clearView.addSubview(cameraVC.view)
    cameraVC.view.autoPinEdgesToSuperviewEdges()
    self.addChild(cameraVC)
    cameraVC.didMove(toParent: self)
}
Run Code Online (Sandbox Code Playgroud)

下面是绘制矩形的代码

func createLayer(in rect: CGRect) {
    let maskLayer = CAShapeLayer()
    maskLayer.frame = rect
    maskLayer.cornerRadius = 10
    maskLayer.opacity = 0.75
    maskLayer.borderColor = UIColor.red.cgColor
    maskLayer.borderWidth = 5.0

    previewLayer.insertSublayer(maskLayer, at: 1)
}

func removeMask() {
    if let sublayer = previewLayer.sublayers?.first(where: { $0 as? CAShapeLayer != nil }) {
        sublayer.removeFromSuperlayer()
    }
}

func drawBoundingBox(rect : VNRectangleObservation) {
    let …
Run Code Online (Sandbox Code Playgroud)

rectangles ios swift cvpixelbuffer apple-vision

3
推荐指数
1
解决办法
4007
查看次数

标签 统计

apple-vision ×1

cvpixelbuffer ×1

ios ×1

rectangles ×1

swift ×1