火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 350|回复: 2
打印 上一主题 下一主题

如何实时标注桌面内容

[复制链接]

51

主题

175

帖子

1061

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1061
跳转到指定楼层
楼主
发表于 2024-2-2 09:28:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想实现播放视频,就可以在视频上面实时标注,这是我修改例子代码,但是打开没反应,请大佬帮忙看看问题出在哪里?
<火山程序 类型 = "通常" 版本 = 1 />

包 火山.程序

类 启动类 <公开 基础类 = 程序类>
{
    方法 启动方法 <公开 类型 = 整数>
    {
        变量 目标检测分类器 <类型 = YoloV5检测器 编辑时信息 = "0, 249224, 0, 0">
        变量 原始图像 <类型 = CV矩阵类 编辑时信息 = "0, 249224, 0, 0">
        变量 类别数组 <类型 = 文本数组类 编辑时信息 = "0, 249224, 0, 0">
        变量 类别 <类型 = 文本型
                值 = "人,自行车,汽车,摩托车,飞机,公共汽车,火车,卡车,船,红绿灯,消火栓,停车标志,停车计时器,长凳,鸟,猫,狗,马,羊,牛,大象,熊,斑马,长颈鹿,背包 伞,手提包,手提箱,领带,飞盘,滑雪板,滑雪板,运动球,风筝,棒球棒,棒球手套,滑板,冲浪板,网球拍,瓶子,酒杯,杯子,叉子,刀,勺子,碗,香蕉,苹果,三明治,橙色 西兰花,胡萝卜,热狗,披萨,甜甜圈,蛋糕,椅子,沙发,盆栽,床,餐桌,厕所,电视,笔记本电脑,鼠标,远程,键盘,手机,微波炉,烤箱,烤面包机,水槽,冰箱,书,时钟 ,花瓶,剪刀,泰迪熊,吹风机,牙刷\"\"人,自行车,汽车,摩托车,飞机,公共汽车,火车,卡车,船,红绿灯,消火栓,停车标志,停车计时器,长凳,鸟,猫,狗,马,羊,牛,大象,熊,斑马,长颈鹿,背包 伞,手提包,领带,手提箱,飞盘,滑雪板,滑雪板,运动球,风筝,棒球棒,棒球手套,滑板,冲浪板,网球拍,瓶子,酒杯,杯子,叉子,刀,勺子,碗,香蕉,苹果,三明治,橙色 西兰花,胡萝卜,热狗,披萨,甜甜圈,蛋糕,椅子,沙发,盆栽,床,餐桌,厕所,电视,笔记本电脑,鼠标,远程,键盘,手机,微波炉,烤箱,烤面包机,水槽,冰箱,书,时钟 ,花瓶,剪刀,泰迪熊,吹风机,牙刷"
                编辑时信息 = "0, 249224, 0, 0">
        变量 绘制Box图像 <类型 = CV矩阵类 编辑时信息 = "0, 249224, 0, 0">
        变量 推理结果 <类型 = 逻辑型类 编辑时信息 = "0, 249224, 0, 0">
        变量 Boxs <类型 = AI目标检测框容器类 编辑时信息 = "0, 249224, 0, 0">
        变量 t1 <类型 = 长整数 编辑时信息 = "0, 249224, 0, 0">
        变量 取回图片 <类型 = 位图对象类 编辑时信息 = "0, 249224, 0, 0">
        变量 图片数据 <类型 = 字节集类>
        变量 t2 <类型 = 长整数 编辑时信息 = "0, 249224, 0, 0">
        // 1、创建目标检测器
        目标检测分类器.创建YoloV5检测器 (取运行目录 () + "yolov5s.onnx", )
        计次循环 (1000000)
        {

            t1 = 取启动时间 ()
            快照 (取回图片, , , )
            取回图片.取图片数据 (图片数据, , )

            原始图像 = CV核心.读入图像 (字节集到文本 (图片数据), )


            分割文本 (类别, ",", 类别数组)
            // 2、对读入的图像做预测
            目标检测分类器.预测图像 (原始图像, 0.5, , , , Boxs)
            绘制Box图像 = 原始图像.复制 ()
            // 3、对检测到的目标框数组做循环,将目标框绘制到显示图像

        }
        计次循环 (Boxs.取成员数 ())
        {
            变量 box <类型 = AI目标检测框>
            变量 rect <类型 = CV矩形类>
            变量 绘制文本 <类型 = 文本型>
            box = Boxs.取成员 (取循环索引 ())
            rect = box.取矩形 ()
            绘制文本 = "分类标签:" + 类别数组.取成员 (box.取标签值 ()) + "    置信度:" + 到文本 (box.取置信度 ())
            CV核心.画矩形 (绘制Box图像, rect, CV标量类.新建三通道 (0, 255, 0), , )
            CV核心.写中文图像文本 (绘制Box图像, 绘制文本, rect.X, rect.Y - 20, CV标量类.新建三通道 (0, 0, 255), 12)
        }
        t2 = 取启动时间 () - t1
        CV核心.写中文图像文本 (绘制Box图像, "耗时:" + 到文本 (t2) + "毫秒", 5, 5, CV标量类.新建三通道 (0, 0, 255), 16)
        // 4、显示结果
        CV核心.显示图像 ("预测结果", 绘制Box图像)
        CV核心.等待按键 (0)
        返回 (1)
    }

回复

使用道具 举报

1

主题

31

帖子

279

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
279
沙发
发表于 2024-2-22 18:39:42 | 只看该作者
应该用读入视频或者帧
回复

使用道具 举报

1

主题

90

帖子

321

积分

中级会员

Rank: 3Rank: 3

积分
321
板凳
发表于 2024-2-28 15:04:55 | 只看该作者
你直接读入之后标注之后在播放啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-5-3 15:39 , Processed in 0.086979 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表