变量名 | 类 型 | 静态 | 数组 | 备 注 | 图片 | 多维矩阵类 | | | 感兴区域 | 多维矩阵类 | | | 灰度 | 多维矩阵类 | | | 二值化 | 多维矩阵类 | | | k1 | 多维矩阵类 | | | k2 | 多维矩阵类 | | | 开运算 | 多维矩阵类 | | | 中心 | 点2i二维数组类 | | | 颜色 | 标量类 | | 7 | i | 整数型 | | | 面积 | 双精度小数型 | | | 圆心 | 点2f类 | | | 半径 | 小数型 | | | 圆范围 | 双精度小数型 | | | 索引 | 整数型 | | | 选中颜色 | 标量类 | | |
图片 = 视觉_图像解码 ( #图片, #读图_彩色 )感兴区域 = 图片. 感兴区域P (范围 (50, 图片. 行数 ()), 范围 (0, 图片. 列数 ()) )视觉_颜色空间转换 (感兴区域, 灰度, #颜色_BGR转GRAY, 0 )视觉_中值滤波 (灰度, 灰度, 3 )视觉_阈值 (灰度, 二值化, 30, 255, #阈值_二进制_取反 )视觉_显示图像 (“thresh”, 二值化 )k1 = 矩阵 (19, 19, #Cv无符号字节型, 1 )k2 = 矩阵 (19, 19, #Cv无符号字节型, 0 )视觉_圆 (k2, 点2i (9, 9 ), 10, 标量 (1, 1, 1 ), -1, #线类型_抗锯齿, 0 )视觉_高级形态 (二值化, 开运算, #形态_开, k2, , 1, 0, )视觉_显示图像 (“opening”, 开运算 )视觉_查找轮廓 (开运算, 中心, , #检测_外部, #逼近_任何, )视觉_控制台输出 (“%I”, 中心. 尺寸 ()) 颜色 [1 ]. 初始化 (255, 0, 0, )颜色 [2 ]. 初始化 (0, 255, 0, )颜色 [3 ]. 初始化 (0, 0, 255, )颜色 [4 ]. 初始化 (255, 255, 0, )颜色 [5 ]. 初始化 (255, 0, 255, )颜色 [6 ]. 初始化 (0, 255, 255, )颜色 [7 ]. 初始化 (255, 255, 255, )索引 = 1 计次循环首 (中心. 尺寸 (), i )面积 = 视觉_轮廓面积V (中心, i, 假)视觉_最小包围圆形V (中心, i, 圆心, 半径 )圆范围 = 面积 ÷ ( #pi × 半径 × 半径 )如果真 (圆范围 > 0.65 )选中颜色 = 颜色 [索引 % 中心. 尺寸 ()]视觉_圆 (图片, 点2i (圆心.左边, 圆心.顶边 + 50 ), 半径, 选中颜色, -1, 8, 0 )视觉_放置文本 (图片, “D=” + 到文本 (四舍五入 (半径 × 2, 2 )), 点2i (圆心.左边 - 5, 圆心.顶边 + 50 - 25 ), #字体_衬线_简单, 0.45, 标量 (255, 255, 255 ), 2, 8, 假)索引 = 索引 + 1 计次循环尾 ()视觉_显示图像 (“小白鼠”, 图片 )视觉_等待按键 (0 )视觉_销毁所有窗口 ()返回 (0 )
|