开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 10063|回复: 40
收起左侧

[技术专题] YOLO8 V0.00 - OPenCV4.8.1- 易语言5.9.3 调用方法

[复制链接]
结帖率:88% (80/91)
发表于 2023-10-14 15:56:42 | 显示全部楼层 |阅读模式   江苏省苏州市
本帖最后由 z13228604287 于 2023-10-14 15:59 编辑

QQ图片20231014155843.png
  
数据类型名公开备 注
检测预测结构 
成员名类 型传址数组备 注
结果类别id整数型  
结果置信度小数型  
矩形框矩形2i类  



i支持库列表   支持库注释   
OpenCV(未知支持库)
  
窗口程序集名保 留  保 留备 注
YOLOV8   
变量名类 型数组备 注
置信阈值小数型  
抑制阈值小数型  
网络输入宽整数型ONNX图片输入宽度
网络输入高整数型ONNX图片输入高度
DNN网络网络类  

子程序名返回值类型公开备 注
_初始化 当基于本类的对象被创建后,此方法会被自动调用
置信阈值 = 0.25
抑制阈值 = 0.7
网络输入宽 = 640
网络输入高 = 640
子程序名返回值类型公开备 注
_销毁 当基于本类的对象被销毁前,此方法会被自动调用

子程序名返回值类型公开备 注
图片到方形多维矩阵类 
参数名类 型参考可空数组备 注
图片多维矩阵类
变量名类 型静态数组备 注
返回图多维矩阵类 
整数型 
整数型 
最大值整数型 
列 = 图片.列数 ()
行 = 图片.行数 ()
最大值 = 视觉_取最大值 (列, 行)
返回图.初始化0 (最大值, 最大值, #Cv无符号字节型_三通道 )
图片.复制 (返回图.感兴区域 (矩形2i (0, 0, 列, 行)), )
返回 (返回图)
子程序名返回值类型公开备 注
读模型 
参数名类 型参考可空数组备 注
模型文本型
DNN网络 = 视觉_从ONNX读取网络 (模型)
DNN网络.设置首选后端 ( #网络_后端_默认 )
DNN网络.设置首选目备 ( #网络_目标_CPU )
子程序名返回值类型公开备 注
检测 
参数名类 型参考可空数组备 注
图片多维矩阵类
类数整数型
模型置信度阈值双精度小数型
预测结果检测预测结构
变量名类 型静态数组备 注
二进制对象多维矩阵类 
网络层多维矩阵类0
行数整数型行数
尺寸整数型尺寸
数据指针小数型指针类 
x_因子小数型 
y_因子小数型 
数_步整数型 
n整数型 
分数矩阵多维矩阵类 
最大类得分双精度小数型 
类ID点2i类 
得分数组小数型0
预测框数组矩形2i类0
类ID数组整数型0
x小数型 
y小数型 
w小数型 
h小数型 
左边整数型 
顶边整数型 
整数型 
整数型 
指数整数型0
i整数型 
索引整数型 
筛选结果检测预测结构 
图片 = 图片到方形 (图片)
视觉_图像前景目标S (图片, 二进制对象, 1 ÷ 255, 尺寸2i (网络输入宽, 网络输入高), 标量 (), 真, 假, #Cv小数型 )
DNN网络.设置输入 (二进制对象, “”, 1, )
DNN网络.前向计算V (网络层, DNN网络.获取未连接的输出层名称 ())
' yolov8的输出为shape(batchSize,8400)(类数+框[x,y,w,h]
行数 = 网络层 [1].维度元素数 (2)
尺寸 = 网络层 [1].维度元素数 (1)
网络层 [1] = 网络层 [1].重塑 (1, 尺寸)
视觉_变换 (网络层 [1], 网络层 [1])
数据指针.指针 = 网络层 [1].数据指针 ()
' 多维矩阵类 检测输出(8400, 84, CV_32FC1, data);// 8400 = 80*80+40*40+20*20
x_因子 = 图片.列数 () ÷ 网络输入宽
y_因子 = 图片.行数 () ÷ 网络输入高
变量循环首 (0, 行数 - 1, 1, n)
分数矩阵.初始化指针 (1, 类数, #Cv小数型_单通道, 数据指针.指针 + 16)
视觉_最小最大位置 (分数矩阵, , 最大类得分, , 类ID, )
如果真 (最大类得分 > 模型置信度阈值)
加入成员 (得分数组, 最大类得分)
加入成员 (类ID数组, 类ID.左边)
x = 数据指针. (0)
y = 数据指针. (1)
w = 数据指针. (2)
h = 数据指针. (3)
左边 = 取整 ( (x - 0.5 × w) × x_因子)
顶边 = 取整 ( (y - 0.5 × h) × y_因子)
宽 = 取整 (w × x_因子)
高 = 取整 (h × y_因子)
加入成员 (预测框数组, 矩形2i (左边, 顶边, 宽, 高))
数据指针.偏移 (尺寸)
变量循环尾 ()
' 执行非最大抑制以消除具有较低置信度的冗余重叠框(NMS)
视觉_非最大抑制 (预测框数组, 得分数组, 置信阈值, 抑制阈值, 指数, 1, 0)
计次循环首 (取数组成员数 (指数), i)
索引 = 指数 [i] + 1
筛选结果.结果类别id = 类ID数组 [索引] + 1
筛选结果.结果置信度 = 得分数组 [索引]
筛选结果.矩形框 = 预测框数组 [索引]
加入成员 (预测结果, 筛选结果)
计次循环尾 ()
子程序名返回值类型公开备 注
绘制 
参数名类 型参考可空数组备 注
多维矩阵类
类名数组文本型
预测结果检测预测结构
颜色标量类
变量名类 型静态数组备 注
i整数型 
预测对象检测预测结构 
预测框矩形2i类 
对象颜色标量类 
类文本文本型 
类文本尺寸尺寸2i类 
类文本矩形矩形2i类 
计次循环首 (取数组成员数 (预测结果), i)
预测对象 = 预测结果 [i]
预测框 = 预测对象.矩形框
对象颜色 = 颜色 [预测对象.结果类别id]
' 检测框
视觉_矩形 (图, 预测框, 对象颜色, 1, 8, 0)
' 检测框文本
类文本 = 类名数组 [预测对象.结果类别id]“ ”到文本 (四舍五入 (预测对象.结果置信度, 4))
类文本尺寸 = 视觉_获取文本尺寸 (类文本, 2, 1, 2, )
类文本矩形.初始化 (预测框.左边, 预测框.顶边 - 40, 类文本尺寸.宽 + 10, 类文本尺寸.高 + 20)
视觉_矩形 (图, 类文本矩形, 对象颜色, #线类型_填充, 8, 0)
视觉_放置文本 (图, 类文本, 点2i (预测框.左边 + 5, 预测框.顶边 - 10), 2, 1, 标量 (0, 0, 0), 2, 0, )
计次循环尾 ()


i支持库列表   支持库注释   
OpenCV(未知支持库)
  
窗口程序集名保 留  保 留备 注
程序集1   
子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
变量名类 型静态数组备 注
图片路径文本型 
模型路径文本型 
图片多维矩阵类 
图片_复制多维矩阵类 
颜色标量类0
yoloYOLOV8 
预测结果检测预测结构0
类名数组文本型0
显示图多维矩阵类 
类名数组 = { “person”, “bicycle”, “car”, “motorcycle”, “airplane”, “bus”, “train”, “truck”, “boat”, “traffic light”, “fire hydrant”, “stop sign”, “parking meter”, “bench”, “bird”, “cat”, “dog”, “horse”, “sheep”, “cow”, “elephant”, “bear”, “zebra”, “giraffe”, “backpack”, “umbrella”, “handbag”, “tie”, “suitcase”, “frisbee”, “skis”, “snowboard”, “sports ball”, “kite”, “baseball bat”, “baseball glove”, “skateboard”, “surfboard”, “tennis racket”, “bottle”, “wine glass”, “cup”, “fork”, “knife”, “spoon”, “bowl”, “banana”, “apple”, “sandwich”, “orange”, “broccoli”, “carrot”, “hot dog”, “pizza”, “donut”, “cake”, “chair”, “couch”, “potted plant”, “bed”, “dining table”, “toilet”, “tv”, “laptop”, “mouse”, “remote”, “keyboard”, “cell phone”, “microwave”, “oven”, “toaster”, “sink”, “refrigerator”, “book”, “clock”, “vase”, “scissors”, “teddy bear”, “hair drier”, “toothbrush” }
图片路径 = “D:\旧系统桌面备份\CV DeMo\CV_DeMo\bus.jpg”
模型路径 = “D:\旧系统桌面备份\CV DeMo\CV_DeMo\yolov8n.onnx”
图片 = 视觉_图像读取 (图片路径, #读图_彩色 )
' 生成颜色
计次循环首 (80, )
加入成员 (颜色, 标量 (视觉_随机 () % 256, 视觉_随机 () % 256, 视觉_随机 () % 256))
计次循环尾 ()
图片_复制 = 图片.克隆 ()
yolo.读模型 (模型路径)
yolo.检测 (图片_复制, 80, 0, 预测结果)
yolo.绘制 (图片_复制, 类名数组, 预测结果, 颜色)
显示图 = 图片_复制.感兴区域 (矩形2i (0, 0, 图片.列数 (), 图片.行数 ()))
视觉_显示图像 (“YOLOV8 调用DEMO”, 显示图)
视觉_等待按键 (0)
返回 (0)  ' 可以根据您的需要返回任意数值



i支持库列表   支持库注释   
OpenCV(未知支持库)

点评

这代码复制的都运行不起来,各种少类啥的   安徽省黄山市  发表于 2023-11-9 10:50

本帖被以下淘专辑推荐:

  • · 1|主题: 1, 订阅: 0
结帖率:0% (0/3)

签到天数: 6 天

发表于 2025-3-18 16:04:40 | 显示全部楼层   浙江省温州市
谢谢楼主分享
回复 支持 反对

使用道具 举报

发表于 2025-2-16 18:23:29 | 显示全部楼层   广东省梅州市

纯耍流氓呀
回复 支持 反对

使用道具 举报

发表于 2024-11-16 21:23:16 | 显示全部楼层   河北省保定市

技库不直供,纯耍流氓呀
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 1 天

发表于 2024-10-29 13:47:48 | 显示全部楼层   四川省雅安市
只发源码不发模块和支持库就是耍流氓。。。。。。。。
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 1 天

发表于 2024-9-24 13:40:54 | 显示全部楼层   江苏省徐州市
技库不直供,纯耍流氓呀
回复 支持 反对

使用道具 举报

发表于 2024-7-7 15:42:25 | 显示全部楼层   山东省日照市
看啊看啊看啊啊啊啊啊啊啊啊啊啊啊
回复 支持 反对

使用道具 举报

发表于 2024-7-3 14:59:41 | 显示全部楼层   福建省龙岩市
6666666666666666666
回复 支持 反对

使用道具 举报

发表于 2024-7-2 20:28:04 | 显示全部楼层   云南省昆明市
6666666666666666666666
回复 支持 反对

使用道具 举报

结帖率:80% (12/15)

签到天数: 25 天

发表于 2024-4-19 15:20:24 | 显示全部楼层   广东省东莞市
纯耍流氓呀
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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