halcon练习小demo(二)获取目标区域的信息并绘制出区域的中心坐标
目标:获取图片上班的七块白色区域,并绘制出区域的中心坐标
代码:
*读取图片
read_image (Image, 'C:/Users/HJ/Desktop/test_image/printer_chip/printer_chip_01.png')
*获取图片的大小
get_image_size(Image, Width, Height)
dev_update_window('off')
dev_close_window()
dev_open_window (0, 0, Width/2, Height/2, 'black', WindowID)
dev_display(Image)
*进行二值化处理
threshold (Image, Bright, 100, 255)
*打散区域
connection(Bright, ConnectedRegions)
*通过面积和轮廓的矩形度来进行筛选
select_shape(ConnectedRegions, SelectedRegions, ['area', 'rectangularity'], 'and', [10000, 0.7], [99999, 1])
*统计局域的数量
count_obj(SelectedRegions, Number)
*获取所有区域的中心坐标和面积
area_center(SelectedRegions,Area, Row, Column)
for i := 0 to Number-1 by 1
*显示区域的中心
disp_message(WindowID, 'D:('+ int(Row[i]) + ','+ int(Column[i]) +')' , 'window', Row[i]/2+70, Column[i]/2, 'black', 'true')
disp_continue_message(WindowID, 'black', 'true')
endfor