• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

iphone - 如何在 AVCapture 视频上添加 CALayer 矩形?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 11:31:42 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我想在 AVCapture 捕获的视频上显示 CALayer。 我可以显示该图层,但对于下一帧,应该删除前一帧。

我的代码是:

[CATransaction begin];  
[CATransaction setValueid)kCFBooleanTrue forKey:kCATransactionDisableActions];

for (int i = 0; i < faces.size(); i++) {
     CGRect faceRect;
     // Get the Graphics Context        

     faceRect.origin.x = xyPoints.x;
     faceRect.origin.y = xyPoints.y;
     faceRect.size.width =50; //faces[i].width;
     faceRect.size.height =50;// faces[i].height;

     CALayer *featureLayer=nil;         

     // faceRect = CGRectApplyAffineTransform(faceRect, t);
     if (!featureLayer) {
         featureLayer = [[CALayer alloc]init];

         featureLayer.borderColor = [[UIColor redColor] CGColor];
         featureLayer.borderWidth = 10.0f;
         [self.view.layer addSublayer:featureLayer];

     }

     featureLayer.frame = faceRect;

     NSLog(@"frame-x - %f, frame-y - %f, frame-width - %f, frame-height - %f",featureLayer.frame.origin.x,featureLayer.frame.origin.y,featureLayer.frame.size.width,featureLayer.frame.size.height);
 }

//  [featureLayer removeFromSuperlayer]; 
[CATransaction commit];

其中 face 是 (const std::vector OpenCV 格式。 我需要知道在哪里放置代码 [featureLayer removeFromSuperLayer];

注意:“人脸”不是用于人脸检测的……它只是一个矩形。



Best Answer-推荐答案


我已经找到了解决方案... featureLayer 是 CALayer 对象,我将其作为身份。喜欢

featureLayer.name = @"earLayer";

每当我检测到框架中的对象时,我都会从主视图中获取子层,例如

NSArray *sublayers = [NSArray arrayWithArray:[self.view.layer sublayers]];

并计算子层以检查 for 循环,如下所示:

int sublayersCount = [sublayers count];
    int currentSublayer = 0;
for (CALayer *layer in sublayers) {
        NSString *layerName = [layer name];
        if ([layerName isEqualToString"earayer"])
            [layer setHidden:YES];
}

现在我得到了带有 Detected objects 的正确层。

关于iphone - 如何在 AVCapture 视频上添加 CALayer 矩形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16860325/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap