|

窗口程序集名 | 保 留 | 保 留 | 备 注 | 程序集1 | | | | 变量名 | 类 型 | 数组 | 备 注 | 置信度阈值 | 小数型 | | 分数阈值 | 小数型 | | 非极大值抑制阈值 | 小数型 | | 输入高 | 整数型 | | 输入宽 | 整数型 | |
分数阈值 = 0.25 置信度阈值 = 0.45 非极大值抑制阈值 = 0.5 输入高 = 1024 输入宽 = 1024 旋转目标检测 (“D:\新建文件夹\train\yolo11n-obb.onnx”, “C:\Users\Administrator\Desktop\plane.png”, 真)返回 (0 ) |
旋转目标检测 | | | |
模型路径 | 文本型 | | | | 图片路径 | 文本型 | | | | 是否填充为正方形 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | YOLO网络 | 神经网络类 | | | 输出层名称数组 | 数组容器 | | | 图片 | 数据矩阵类 | | | 拷贝图 | 数据矩阵类 | | | 数据块 | 数据矩阵类 | | | 张量数组 | 数组容器 | | |
YOLO网络 = 视觉_从ONNX读取网络 (模型路径 )输出层名称数组 = YOLO网络. 获取未连接输出层名称 () 图片 = 视觉_图像读取 (图片路径, #读图_彩色 ) 如果真 (图片. 空 ()) 视觉_控制台输出 (“无法打开或找到图像 :%T”, 图片路径 ) 返回 ()拷贝图 = 图片.克隆 () 如果真 (是否填充为正方形 且 输入高 = 输入宽 ) 拷贝图 = 填充为正方形 (拷贝图 )数据块 = 视觉_从图像创建数据块 (拷贝图, 1 ÷ 255, 尺寸整数 (输入宽, 输入高), 标量 (0, 0, 0), 真, 假, 5)YOLO网络. 设置输入 (数据块, “”, 1, 标量 ()) YOLO网络. 前向传播V (张量数组, 输出层名称数组 )后期处理 (图片, 拷贝图. 尺寸整型 (), 张量数组, YOLO网络, 15 )视觉_显示图像 (“小白鼠YOLO11 OBB”, 图片 )视觉_等待按键 (0 )|
后期处理 | | | |
图片 | 数据矩阵类 | | | | 输入尺寸 | 尺寸整型结构 | | | | 张量数组 | 数组容器 | | | | YOLO网络 | 神经网络类 | | | | 类数 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 缩放因子X | 小数型 | | | 缩放因子Y | 小数型 | | | 置信度数组 | 数组容器 | | | 目标类别ID数组 | 数组容器 | | | 边界框数组 | 数组容器 | | | 边界框数顶点二维数组 | 数组容器 | | | 边界框数顶点数组 | 数组容器 | | | 检测框数 | 整数型 | | | 属性数 | 整数型 | | | 二维矩阵 | 数据矩阵类 | | | 数据指针 | 小数型指针类 | | | i | 整数型 | | | 类别分数 | 小数型指针类 | | | 分数 | 数据矩阵类 | | | 类最大分数位置 | 坐标二维整型结构 | | | 类最小分数位置 | 坐标二维整型结构 | | | 类最大分数 | 双精度小数型 | | | 类最小分数 | 双精度小数型 | | | 横坐标 | 小数型 | | | 纵坐标 | 小数型 | | | 宽 | 小数型 | | | 高 | 小数型 | | | 角度 | 小数型 | | | 余弦值 | 小数型 | | | 正弦值 | 小数型 | | | 高旋转量 | 坐标二维小数型结构 | | | 宽旋转量 | 坐标二维小数型结构 | | | 顶点坐标 | 坐标二维小数型结构 | | | 检测框的索引 | 数组容器 | | | 索引 | 整数型 | | |
缩放因子X = 输入尺寸.宽 ÷ 输入宽 缩放因子Y = 输入尺寸.高 ÷ 输入高 检测框数 = 张量数组. 取数据矩阵类 (1 ). 尺寸属性 (2 )属性数 = 张量数组. 取数据矩阵类 (1 ). 尺寸属性 (1 ) 二维矩阵 = 张量数组. 取数据矩阵类 (1 ). 重塑 (1, 属性数 ) 视觉_转置 (二维矩阵, 二维矩阵 ) 数据指针.指针 = 二维矩阵.数据指针 计次循环首 (检测框数, i )  类别分数.指针 = 数据指针.指针  类别分数. 偏移 (4 )  分数. 初始化指针 (1, 类数, #矩阵_单通道小数型, 类别分数.指针 ) 视觉_最小最大位置 (分数, 类最小分数, 类最大分数, 类最小分数位置, 类最大分数位置, )  如果真 (类最大分数 > 置信度阈值 )   置信度数组. 加入小数型 (类最大分数 )  目标类别ID数组. 加入整数型 (类最大分数位置.横坐标 )   横坐标 = 数据指针. 读 (0 ) × 缩放因子X   纵坐标 = 数据指针. 读 (1 ) × 缩放因子Y   宽 = 数据指针. 读 (2 ) × 缩放因子X   高 = 数据指针. 读 (3 ) × 缩放因子Y   角度 = 数据指针. 读 (19 )   余弦值 = 求余弦 (角度 )  正弦值 = 求正弦 (角度 )   宽旋转量. 初始化 (宽 ÷ 2 × 余弦值, 宽 ÷ 2 × 正弦值 )  高旋转量. 初始化 (-高 ÷ 2 × 正弦值, 高 ÷ 2 × 余弦值 )   顶点坐标. 初始化 (横坐标, 纵坐标 )  边界框数顶点数组. 清空 ()  边界框数顶点数组. 加入坐标二维小数型结构 (顶点坐标. 加 (宽旋转量 ). 加 (高旋转量 ))   边界框数顶点数组. 加入坐标二维小数型结构 (顶点坐标. 加 (宽旋转量 ). 减 (高旋转量 ))   边界框数顶点数组. 加入坐标二维小数型结构 (顶点坐标. 减 (宽旋转量 ). 减 (高旋转量 ))   边界框数顶点数组. 加入坐标二维小数型结构 (顶点坐标. 减 (宽旋转量 ). 加 (高旋转量 ))    边界框数组. 加入旋转矩形类 (旋转矩形P (边界框数顶点数组. 取坐标二维小数型结构 (1 ), 边界框数顶点数组. 取坐标二维小数型结构 (2 ), 边界框数顶点数组. 取坐标二维小数型结构 (3 )) )   边界框数顶点二维数组. 加入数组容器 (边界框数顶点数组 )   数据指针. 偏移 (属性数 ) 计次循环尾 () 视觉_非最大抑制旋转框 (边界框数组, 置信度数组, 置信度阈值, 非极大值抑制阈值, 检测框的索引, 1, 0 ) 计次循环首 (检测框的索引. 成员数 (), i ) 索引 = 检测框的索引. 取整数型 (i ) + 1 绘制预测 (目标类别ID数组. 取整数型 (索引 ), 置信度数组. 取小数型 (索引 ), 边界框数顶点二维数组. 取数组容器 (索引 ), 图片 ) 计次循环尾 ()|
绘制预测 | | | |
类ID | 整数型 | | | | 置信度 | 小数型 | | | | 边界框数顶点数组 | 数组容器 | | | | 图片 | 数据矩阵类 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 标签 | 文本型 | | | i | 整数型 | | | 基线 | 整数型 | | | 左边 | 整数型 | | | 顶边 | 整数型 | | | 标签尺寸 | 尺寸整型结构 | | |
标签 = 到文本 (类ID ) + “:” + 到文本 (四舍五入 (置信度 × 100, 1 )) + “%” 计次循环首 (4, i ) 视觉_线小数 (图片, 边界框数顶点数组. 取坐标二维小数型结构 (i ), 边界框数顶点数组. 取坐标二维小数型结构 (i % 4 + 1 ), 标量 (255, 255, 255 ), 2, 8, 0 ) 计次循环尾 ()视觉_圆小数 (图片, 边界框数顶点数组. 取坐标二维小数型结构 (1 ), 3, 标量 (0, 0, 255 ), -1, 8, 0 )标签尺寸 = 视觉_获取文本尺寸 (标签, #字体_简易无衬线, 0.5, 1, 基线 )左边 = 边界框数顶点数组. 取坐标二维小数型结构 (1 ).横坐标 顶边 = 视觉_取最大值 (边界框数顶点数组. 取坐标二维小数型结构 (1 ).纵坐标, 标签尺寸.高 )视觉_矩形坐标 (图片, 坐标二维整型 (左边, 顶边 - 标签尺寸.高 ), 坐标二维整型 (左边 + 标签尺寸.宽, 顶边 + 基线 ), 标量 (255, 255, 255 ), -1, 8, 0 )视觉_放置文本 (图片, 标签, 坐标二维整型 (左边, 顶边 ), #字体_简易无衬线, 0.5, 标量 (), 1, 8, 假)变量名 | 类 型 | 静态 | 数组 | 备 注 | 最大值 | 整数型 | | | 返回图 | 数据矩阵类 | | |
最大值 = 视觉_取最大值 (图.列数, 图.行数 )返回图. 初始化 (最大值, 最大值, #矩阵_三通道字节型U, 标量 (114, 114, 114 )) 图. 复制 (返回图. 感兴区域 (矩形整型 (0, 0, 图.列数, 图.行数 )), )返回 (返回图 )
|
|