|
本帖最后由 z13228604287 于 2022-9-24 20:40 编辑
变量名 | 类 型 | 静态 | 数组 | 备 注 | k近邻 | k近邻类 | | | 数据 | 训练数据类 | | | 原图 | 多维矩阵类 | | | 灰度图 | 多维矩阵类 | | | 排列结果 | 多维矩阵类 | | | 标签 | 多维矩阵类 | | | 行索引 | 整数型 | | | 行图范围 | 矩形2i类 | | | 行计次 | 整数型 | | | 类索引 | 整数型 | | | 单图片Y坐标 | 整数型 | | | 列_计次 | 整数型 | | | 单图片X坐标 | 整数型 | | | 单图片 | 多维矩阵类 | | | X_计次 | 整数型 | | | Y_计次 | 整数型 | | | 图压缩行数据 | 多维矩阵类 | | |
原图 = 视觉_图像解码 ( #模板图片, #读图_彩色 )视觉_颜色空间转换 (原图, 灰度图, #颜色_BGR转GRAY, 0 ) 排列结果 = 矩阵 (5000, 400, #Cv无符号字节型_单通道, 0 )标签 = 矩阵 (5000, 1, #Cv无符号字节型_单通道, 0 ) 行图范围.高度 = 1 行图范围.宽度 = 400 判断循环首 (行计次 < 50 ) 类索引 = 行计次 ÷ 5 单图片Y坐标 = 行计次 × 20 判断循环首 (列_计次 < 100 ) 单图片X坐标 = 列_计次 × 20 单图片. 初始化 (20, 20, #Cv无符号字节型_单通道, 标量 (0 )) 判断循环首 (X_计次 < 20 ) 判断循环首 (Y_计次 < 20 ) 单图片. 置元素 (X_计次, Y_计次, 灰度图. 取元素 (X_计次 + 单图片Y坐标, Y_计次 + 单图片X坐标 )) Y_计次 = Y_计次 + 1 判断循环尾 () Y_计次 = 0 X_计次 = X_计次 + 1 判断循环尾 () X_计次 = 0 图压缩行数据 = 单图片. 重塑 (1, 1 )视觉_控制台输出 (“提取第%D个数据\n”, 行索引 + 1 )行图范围.顶边 = 行索引 图压缩行数据. 复制 (排列结果. 感兴区域 (行图范围 ), ) 标签. 置元素 (行索引, 0, 类索引 )行索引 = 行索引 + 1 列_计次 = 列_计次 + 1 判断循环尾 ()列_计次 = 0 行计次 = 行计次 + 1 判断循环尾 ()行计次 = 0 视觉_图像写 (“所有数据按行排列结果.png”, 排列结果, )视觉_图像写 (“标签.png”, 标签, ) 排列结果. 转换到 (排列结果, #Cv小数型_单通道, 1, 0 )标签. 转换到 (标签, #Cv整数型_单通道, 1, 0 )数据. 创建训练数据 (排列结果, #样本_行, 标签, , , , ) k近邻. 设置K值 (5 ) k近邻. 分类 (真) k近邻. 训练 (数据, 0 ) k近邻. 保存 (“knn_model.yml”)返回 (0 )
|
|