识别下圆形锡点的数量和位置
变量名 | 类 型 | 静态 | 数组 | 备 注 | 图 | 多维矩阵类 | | | 灰度化 | 多维矩阵类 | | | 模糊 | 多维矩阵类 | | | 差异 | 多维矩阵类 | | | 二值化 | 多维矩阵类 | | | k1 | 多维矩阵类 | | | 闭运算 | 多维矩阵类 | | | k2 | 多维矩阵类 | | | 开运算 | 多维矩阵类 | | | 轮廓 | 多维数组点2i类 | | | 圆心 | 点2f类 | | | 半径 | 小数型 | | | i | 整数型 | | | 数数 | 整数型 | | | 感兴区域 | 多维矩阵类 | | | 计算圆心 | 点2i类 | | | 距离 | 多维矩阵类 | | | transImg | 多维矩阵类 | | | 最大位置 | 点2i类 | | | 中心 | 点2i类 | | |
图. 从字节集加载 ( #识别图, #读图_彩色 )视觉_显示图像 (“小白鼠”, 图 )视觉_颜色空间转换 (图, 灰度化, #颜色_BGR转GRAY, 0 )视觉_中值滤波 (灰度化, 模糊, 15 )视觉_显示图像 (“模糊”, 模糊 )视觉_绝对差异 (灰度化, 模糊, 差异 )视觉_显示图像 (“差异”, 差异 )视觉_阈值 (差异, 二值化, 15, 255, #阈值_二进制 )视觉_显示图像 (“二值化”, 二值化 )k1. 初始化 (19, 19, #Cv无符号字节型, )视觉_圆 (k1, 点2i (9, 9 ), 9, 标量 (1, 1, 1 ), -1, #线类型_抗锯齿, 0 )视觉_高级形态 (二值化, 闭运算, #形态_闭, k1, , 1, 0, ) k2. 初始化 (13, 13, #Cv无符号字节型, )视觉_圆 (k2, 点2i (6, 6 ), 9, 标量 (1, 1, 1 ), -1, #线类型_抗锯齿, 0 )视觉_高级形态 (闭运算, 开运算, #形态_开, k2, , 1, 0, ) 视觉_显示图像 (“开运算”, 开运算 )视觉_查找轮廓 (开运算, 轮廓, , #检测_外部, #逼近_任何, )计次循环首 (轮廓. 尺寸 (), i )视觉_最小包围圆形V (轮廓, i, 圆心, 半径 )如果真 (圆心.顶边 > 300 且 圆心.顶边 < 520 )到循环尾 ()如果真 (半径 < 15 或 半径 > 30 或 圆心.顶边 > 750 )到循环尾 ()数数 = 数数 + 1感兴区域 = 开运算. 感兴区域 (矩形2iP (点2i (圆心.左边 - 半径, 圆心.顶边 - 半径 ), 点2i (圆心.左边 + 半径, 圆心.顶边 + 半径 )) )视觉_距离变换 (感兴区域, 距离, , #距离_L2, 5, #距离_标签_像素 )视觉_转换比例绝对值 (距离, transImg, 1, 0 )视觉_归一化 (transImg, transImg, 0, 255, #规范_MINMAX, -1, )视觉_最小最大位置 (transImg, , , , 最大位置, )中心. 初始化 (最大位置.左边 + 圆心.左边 - 半径, 最大位置.顶边 + 圆心.顶边 - 半径 )视觉_圆 (图, 中心, 24, 标量 (0, 0, 255 ), 2, 8, 0 )视觉_绘制标记 (图, 中心, 标量 (0, 0, 255 ), #标记_十字, 20, 2, 8 )计次循环尾 ()视觉_放置文本 (图, “count=” + 到文本 (数数 ), 点2i (10, 60 ), #字体_衬线_简单, 1.5, 标量 (0, 255, 255 ), 1, 8, 假)视觉_显示图像 (“小白鼠”, 图 )视觉_等待按键 (0 )返回 (0 )
|