7、Halcon图像中识别多个矩形区域并对平均宽度测量

一、需求:计算图片7个白色矩形的平均宽度。

二、分析:

  1. 首先求出七个矩形区域总得范围,然后再求每个矩形的范围。
  2. 求出每个矩形区域的边缘。
  3. 对每个矩形区域边缘处理:连接、拟合。
  4. 然后再求出每个线之间的间距,最后再求出总得平均间距。

三、halcon程序实现:

1、新建程序工程。

2、打开图片并处理。

3、阈值分割处理。

效果图

4、区域筛选。

选择结果,多了一个没用用的干扰区域。

使用矩形凸性值大小,去除干扰区域:

(需要选择的区域特征参数,使用使用区域特征检测工具获取)

5、将筛选出来的多个矩形区域,连成一个肢体,连起来的区域要扩大。

目的:

代码和效果:

将连起来的区域从原图中裁剪出来。裁剪注意,为了减少上下矩形边缘影响干扰,将矩形上下都裁掉一点

6、求裁剪出来的,矩形区域边缘。可以看出矩形边缘求出来了。但是边缘线不是很规整或者不是全部连接起来,需要拟合处理。

如下图,线之间距离。如果不对线进行处理,计算出来的距离会有很大的偏差。

所以,计算距离前先对线进行拟合处理。再求两个线之间的距离。

拟合后的边缘线,效果如下:

7、数组a保存的是7个矩形区域的宽度指,求7个矩形平均宽度就是数组a求平均值。求出的平均值在窗口上显示。代码如下:

效果:

8、计算程序运行时间,在窗口上显示。

效果:

9、提高程序运行速度:

对比运行时间,可以看到运行速度有了显著提高。

完。

工程代码下载连接:

https://download.csdn.net/download/panjinliang066333/12179253

(0)

相关推荐