zhh044 发表于 2024-2-1 22:53:50

opencv

我发到cv板块没人回复我,我就发到这了,
我想实现播放视频,就可以在视频上面实时标注,这是我修改例子代码,但是打开没反应,请大佬帮忙看看问题出在哪里?
<火山程序 类型 = "通常" 版本 = 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]
查看完整版本: opencv