halcon中怎么用轮廓提取进行缺陷检测
时间: 2023-08-17 08:34:29 浏览: 99
halcon边缘提取缺陷检测的思路
3星 · 编辑精心推荐
在Halcon中使用轮廓提取进行缺陷检测的步骤如下:
1. 读取图像并进行预处理,包括灰度化、滤波等操作。
```Halcon
read_image(Image, 'image.jpg')
rgb1_to_gray(Image, GrayImage)
gauss_filter(GrayImage, FilteredImage, 3)
```
2. 使用二值化操作得到二值图像。
```Halcon
threshold(FilteredImage, BinaryImage, 100, 200)
```
3. 使用轮廓提取得到图像中的轮廓。
```Halcon
edges_sub_pix(BinaryImage, Edges, 'canny', 1, 20, 40)
```
4. 对得到的轮廓进行筛选,去除小的轮廓和不规则的轮廓。
```Halcon
select_shape(Edges, SelectedEdges, ['circularity','convexity'], 'and', [0.8,0.8])
```
5. 根据轮廓面积和周长等特征进行缺陷检测。
```Halcon
area_center(SelectedEdges, Area, Row, Column)
perimeter(SelectedEdges, _, Perimeter)
circularity(SelectedEdges, Circularity)
```
以上是轮廓提取进行缺陷检测的基本步骤,具体的操作和参数需要根据具体的应用场景进行调整和优化。
阅读全文