halcon提取圆球的经验教训

首先,生成圆球模板,代码如下:

* 生成模板
templateCircleRadius:=20/2
gen_circle_contour_xld (ContCircle, 15, 15, templateCircleRadius, 0, rad(360), 'positive', 1)
gen_image_const (TemplateImage, 'byte', 50, 40)
paint_xld (ContCircle, TemplateImage, ImageModel, 128)

* 创建模板
create_shape_model (ImageModel, \
                    1, \
                    -rad(0), rad(30),\
                    'auto', 'auto', 'use_polarity',\
                    100, 'auto', ModelID)

get_shape_model_contours (ModelContours, ModelID, 1)

write_shape_model (ModelID, 'ball_model.shm')

第二,将图像通道分解,并且阈值分割,代码如下

read_image (Gao1, 'E:/experimental/experimental/Images/3.bmp')
decompose3 (Gao1, Image1, Image2, Image3)





threshold (Image1, Regions, 203, 255)






get_image_size (Image1, Width, Height)

 opening_circle (Regions, RegionOpening, 2)
region_to_bin (RegionOpening, BinImage, 255, 0, Width, Height)

write_image (BinImage, 'bmp', 0, 'E:/experimental/experimental/Images/bin.bmp')

第三,查找圆球

用小助手,如下:(贪心算法数字要选的小一些,最大重叠要选的大一些)

halcon提取圆球的经验教训_第1张图片

 

你可能感兴趣的:(工业三维视觉,计算机视觉,大数据,人工智能)