以下为易语言实现,只实现的 轮廓的查找 与 轮廓逼近。后面就是计算实际尺寸,与轮廓尺寸的 比例 就可以求出实际尺寸了。
变量名 | 类 型 | 静态 | 数组 | 备 注 | 图像 | 多维矩阵 | | | 图像1 | 多维矩阵 | | | 图像2 | 多维矩阵 | | | 二值化 | 多维矩阵 | | | 核心 | 多维矩阵 | | | 轮廓 | 二维坐标向量容器i | | | i | 整数型 | | | 最大矩形 | 矩形数据结构i | | | 最小矩形 | 旋转矩形 | | | 颜色 | 标量 | | | 视觉_图像读取 (图像.指针, 编辑框1.内容, #读入_颜色 ) 如果真 (图像. 空 ()) 信息框 (“请确认图像文件名称是否正确”, 0, “这是个错误信息!”, 取窗口句柄 ()) 返回 ()视觉_显示图像 (“去噪声与二值化”, 图像.指针) 图像. 复制 (图像1.指针 )图像. 复制 (图像2.指针 ) 视觉_坎尼 (图像.指针, 二值化.指针, 到整数 (编辑框2.内容 ), 到整数 (编辑框3.内容 ), 3, 假)视觉_显示图像 (“去噪声与二值化”, 二值化.指针 ) 视觉_获取结构元素ZS (核心.指针, #形态形状_矩形, 3, 3, -1, -1 )视觉_膨胀 (二值化.指针, 二值化.指针, 核心.指针, 1 ) 视觉_查找轮廓 (二值化.指针, 轮廓.指针, #检测_外部, #逼近_简单 ) 颜色.通道3 = 255 计次循环首 (轮廓. 尺寸 (), i ) 视觉_边界矩形 (轮廓. 取向量指针 (i - 1 ), 最大矩形 ) 视觉_矩形i (图像1.指针, 最大矩形, 颜色, 1, 8, 0 ) 视觉_最小面积矩形 (轮廓. 取向量指针 (i - 1 ), 最小矩形 ) 视觉_旋转矩形 (图像2.指针, 最小矩形, 颜色, 1, 8, 0 ) 计次循环尾 ()视觉_显示图像 (“最大外接矩形”, 图像1.指针 )视觉_显示图像 (“最小外接矩形”, 图像2.指针 )
效果图:
链接:https://pan.baidu.com/s/1VSYkILerRQsoDiIhl-6eTQ
提取码:4ypk
复制这段内容后打开百度网盘手机App,操作更方便哦
|