上结果
看原图:
上代码:
*打开窗口
dev_open_window (0, 0, 800, 600, 'black', WH)
*读取图片
read_image (Image, 'D:/HalconWorkplace/img/fivecolor.png')
*将三通道图像转成三副单通道图像,下图为转换后的单通道图像b分量部分
decompose3 (Image, r, g, b)
*在r单通道图中选取灰度值范围的圆孔
threshold (r, Regionr, 128, 255)
*在g单通道图中选取灰度值范围的圆孔
threshold (g, Regiong, 128, 255)
*在b单通道图中选取灰度值范围的圆孔
threshold (b, Regionb, 128, 255)
*求Regionr与Regiong两个区域的并集
union2 (Regionr, Regiong, Regionballs)
*求Regionballs与Regionb两个区域的并集
union2 (Regionballs, Regionb, Regionballs)
*计算区域相连接的部分
connection (Regionballs, Regionballs)
*选择圆形部分
select_shape (Regionballs, Regionballs, 'circularity', 'and', 0.5, 1)
*统计数量
count_obj (Regionballs, Numberballs)
*清空窗口
dev_clear_window ()
*显示结果
dev_display (Image)
disp_message (WH, '一共'+Numberballs+'个色块', 'window', 80, 12, 'black', 'true')