这里是就直接翻译的网上牛人的一个例子:速度非常快
变量名 | 类 型 | 静态 | 数组 | 备 注 | 图 | 多维矩阵类 | | | 图片名 | 文本型 | | | 视觉_创建窗口 (“小白鼠”, 0 )图片名 = 寻找文件 (“C:\Users\hanyo\Desktop\谷子识别\JPEGImages\*.jpg”, #存档文件 )判断循环首 (图片名 ≠ “”)图片名 = 寻找文件 (, )图. 从文件加载 (“C:\Users\hanyo\Desktop\谷子识别\JPEGImages\” + 图片名, #读图_彩色 )测试算法流程 (图 )判断循环尾 ()返回 (0 ) 变量名 | 类 型 | 静态 | 数组 | 备 注 | 结果图 | 多维矩阵类 | | | 图_复制 | 多维矩阵类 | | | 蒙版_图 | 多维矩阵类 | | | 黑色_图 | 多维矩阵类 | | | 图2 | 多维矩阵类 | | | HSV_图 | 多维矩阵类 | | | 蒙版 | 多维矩阵类 | | | 轮廓 | 多维数组点2i类 | | | 距离_转换 | 多维矩阵类 | | | 二值化 | 多维矩阵类 | | | 蒙版_复制 | 多维矩阵类 | | | 零时2 | 多维矩阵类 | | | 核心 | 多维矩阵类 | | | 最大值 | 双精度小数型 | | | 最大值坐标 | 点2i类 | | | 零时 | 多维矩阵类 | | | 零_图 | 多维矩阵类 | | | 轮廓2 | 多维数组点2i类 | | | i | 整数型 | | | 旋转矩形 | 旋转矩形类 | | | x0 | 整数型 | | | y0 | 整数型 | | | 感兴区域 | 多维矩阵类 | | | 点数 | 整数型 | | |
结果图 = 输入图片. 克隆 ()图_复制 = 输入图片. 克隆 ()蒙版_图. 初始化 (输入图片. 行数 (), 输入图片. 列数 (), #Cv无符号字节型, )黑色_图. 初始化 (输入图片. 行数 (), 输入图片. 列数 (), #Cv无符号字节型_三通道, )视觉_圆 (蒙版_图, 点2i (1250, 1040 ), 800, 标量 (255 ), -1, 8, 0 )视觉_加 (输入图片, 黑色_图, 图2, 蒙版_图, -1 )视觉_颜色空间转换 (图2, HSV_图, #颜色_BGR转HSV, 0 )视觉_在范围内 (HSV_图, 标量 (0, 0, 200 ), 标量 (180, 80, 255 ), 蒙版 )视觉_中值滤波 (蒙版, 蒙版, 5 )视觉_查找轮廓 (蒙版, 轮廓, , #检测_外部, #逼近_任何, )视觉_绘制轮廓 (蒙版, 轮廓, -1, 标量 (255, 255, 255 ), -1, 8, , 2147483647, )蒙版_复制 = 蒙版. 克隆 ()视觉_调整尺寸 (蒙版, 零时2, 尺寸2i (800, 600 ), 0, 0, 1 )核心 = 视觉_获取结构元素 (0, 尺寸2i (3, 3 ), )视觉_腐蚀 (蒙版_复制, 蒙版_复制, 核心, , 60, 4, )视觉_距离变换 (蒙版_复制, 距离_转换, , 1, 5, 0 )视觉_转换比例绝对值 (距离_转换, 距离_转换, 1, 0 ) 视觉_最小最大位置 (距离_转换, , 最大值, , 最大值坐标, )视觉_阈值 (距离_转换, 二值化, 最大值 × 0.75, 255, 0 ) 视觉_调整尺寸 (二值化, 零时, 尺寸2i (800, 600 ), 0, 0, 1 )零_图 = 二值化. 克隆 ()视觉_查找轮廓 (零_图, 轮廓2, , 检测_外部, #逼近_任何, )计次循环首 (轮廓2. 尺寸 (), i )旋转矩形 = 视觉_最小轮廓矩形 (轮廓2. 取点2i类数组 (i )) x0 = 旋转矩形. 质心 ().左边 y0 = 旋转矩形. 质心 ().顶边 感兴区域 = 输入图片. 感兴区域 (矩形2i (x0 - 150, y0 - 150, 300, 300 )) 点数 = 点数识别 (感兴区域 )视觉_圆 (结果图, 点2i (x0, y0 ), 150, 标量 (0, 0, 255 ), 10, 8, 0 )视觉_放置文本 (结果图, 到文本 (点数 ), 点2i (x0 - 150, y0 - 150 ), 5, 8, 标量 (0, 255, 0 ), 10, 8, 假)计次循环尾 ()视觉_显示图像 (“小白鼠”, 结果图 )视觉_等待按键 (1 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 结果 | 多维矩阵类 | | | 骰子数 | 整数型 | | | HSV_图 | 多维矩阵类 | | | 蒙版 | 多维矩阵类 | | | 核心 | 多维矩阵类 | | | 蒙版_复制 | 多维矩阵类 | | | 轮廓 | 多维数组点2i类 | | | i | 整数型 | | | 矩形 | 矩形2i类 | | | 感兴区域 | 多维矩阵类 | | | 面积 | 双精度小数型 | | | 斑点检测器 | 简单斑点检测器类 | | | 关键点 | 关键点类 | | 0 | 填充调色板 | 标量类 | | |
斑点检测器.按凹过滤 = 真 斑点检测器.最小凹度 = 0.45 斑点检测器. 初始化 ()结果 = 图片感性区域. 克隆 ()视觉_颜色空间转换 (图片感性区域, HSV_图, #颜色_BGR转HSV, 0 ) 视觉_在范围内 (HSV_图, 标量 (0, 0, 200 ), 标量 (180, 80, 255 ), 蒙版 )视觉_中值滤波 (蒙版, 蒙版, 9 )核心 = 视觉_获取结构元素 (0, 尺寸2i (5, 5 ), )视觉_腐蚀 (蒙版, 蒙版, 核心, , 1, 4, )视觉_膨胀 (蒙版, 蒙版, 核心, , 1, 4, )蒙版_复制 = 蒙版. 克隆 ()视觉_查找轮廓 (蒙版, 轮廓, , 检测_外部, #逼近_任何, )计次循环首 (轮廓. 尺寸 (), i )矩形 = 视觉_最大轮廓矩形 (轮廓. 取点2i类数组 (i )) 感兴区域 = 蒙版_复制. 感兴区域 (矩形 )面积 = 视觉_轮廓面积 (轮廓. 取点2i类数组 (i ), 假)如果真 (面积 > 700 )视觉_调整尺寸 (感兴区域, 感兴区域, 尺寸2i (150, 150 ), 0, 0, 1 )视觉_阈值 (感兴区域, 感兴区域, 150, 255, 位或 ( #阈值_二进制, #阈值_大津 )) 填充调色板. 初始化 (255, , , )视觉_漫水填充 (感兴区域, , 点2i (0, 0 ), 填充调色板, , , , 4 )视觉_漫水填充 (感兴区域, , 点2i (0, 149 ), 填充调色板, , , , 4 )视觉_漫水填充 (感兴区域, , 点2i (149, 0 ), 填充调色板, , , , 4 )视觉_漫水填充 (感兴区域, , 点2i (149, 149 ), 填充调色板, , , , 4 )斑点检测器. 检测 (感兴区域, 关键点, )如果真 (取数组成员数 (关键点 ) > 骰子数 )骰子数 = 取数组成员数 (关键点 )计次循环尾 ()返回 (骰子数 )
|