变量名 | 类 型 | 静态 | 数组 | 备 注 | 图 | 多维矩阵类 | | | 灰度 | 多维矩阵类 | | | 列 | 整数型 | | | 阈值 | 多维矩阵类 | | | 轮廓 | 点2i二维数组类 | | | 轮廓2 | 点2i二维数组类 | | | 目标1 | 矩形2i类 | | | 目标2 | 矩形2i类 | | | 目标3 | 矩形2i类 | | | 图_复制 | 多维矩阵类 | | | ROI | 多维矩阵类 | | | i | 整数型 | | | j | 整数型 | | | 宽 | 整数型 | | | 高 | 整数型 | | | 列_范围 | 整数型 | | | 行_范围 | 整数型 | | | 小_ROI | 多维矩阵类 | | | hsv_图 | 多维矩阵类 | | | 掩码 | 多维矩阵类 | | | 核心 | 多维矩阵类 | | | cnt2 | 整数型 | | |
图 = 视觉_图像解码 ( #图片6, #读图_彩色 )视觉_颜色空间转换 (图, 灰度, #颜色_BGR转GRAY, 0 )视觉_阈值 (灰度, 阈值, 0, 255, #阈值_二进制 + #阈值_大津 )视觉_查找轮廓 (阈值, 轮廓, , #检测_外部, #逼近_任何, )计次循环首 (轮廓. 尺寸 (), i )目标1 = 视觉_最大轮廓矩形V (轮廓, i )如果真 (目标1.宽度 > 300 且 目标1.高度 > 300 )视觉_绘制轮廓 (图, 轮廓, -1, 标量 (0, 255, 0 ), 2, 8, , 2147483647, )视觉_矩形 (图, 目标1, 标量 (0, 255, 0 ), 1, 8, 0 )跳出循环 ()计次循环尾 ()图. 复制 (图_复制, )ROI = 图. 感兴区域 (目标1 )宽 = 125 高 = 50 列_范围 = 25 行_范围 = 20 变量循环首 (0, 4, 1, i )变量循环首 (0, 2, 1, j )目标2.左边 = 目标1.左边 + 25 + j (宽 + 列_范围 )目标2.顶边 = 目标1.顶边 + 25 + i (高 + 行_范围 )目标2.宽度 = 宽 + 5 目标2.高度 = 高 + 5 小_ROI = 图_复制. 感兴区域 (目标2 )视觉_颜色空间转换 (小_ROI, hsv_图, #颜色_BGR转HSV, 0 )视觉_在范围内 (hsv_图, 标量 (0, 20, 135 ), 标量 (70, 255, 255 ), 掩码 ) 视觉_中值滤波 (掩码, 掩码, 5 ) 核心 = 矩阵 (9, 9, #Cv无符号字节型, 1 )视觉_高级形态 (掩码, 掩码, #形态_闭, 核心, , 1, 0, ) 视觉_查找轮廓 (掩码, 轮廓2, , #检测_外部, #逼近_任何, )计次循环首 (轮廓2. 尺寸 (), cnt2 )目标3 = 视觉_最大轮廓矩形V (轮廓2, cnt2 )判断 (目标3.宽度 > 100 且 目标3.高度 > 30 )视觉_绘制轮廓 (图, 轮廓, -1, 标量 (0, 255, 0 ), 2, 8, , 2147483647, )视觉_矩形 (图, 目标2, 标量 (0, 255, 0 ), 1, 8, 0 )视觉_矩形 (图, 目标2, 标量 (0, 0, 255 ), 1, 8, 0 )计次循环尾 ()变量循环尾 ()变量循环尾 ()视觉_显示图像 (“小白鼠”, 图 )视觉_等待按键 (0 )视觉_销毁所有窗口 ()返回 (0 )
|