机器视觉之HALCON入门之路2-阈值分割与坐标读取

来源:互联网 发布:微博的基本数据分析 编辑:程序博客网 时间:2024/04/28 07:02

进行了HALCON的阈值分割与坐标提取的学习,代码如下:

read_image (Image, 'rim.png')//读取图像dev_close_window ( )//关闭窗口get_image_size (Image, Width, Height)//获取图像的大小dev_open_window (0, 0, Width/2, Height/2, 'black', WindowHandle)//打开一个新窗口dev_display (Image)//显示图像threshold (Image, Regions, 25, 121)//对图像进行二值化处理connection (Regions, ConnectedRegions)//将区域进行分开select_shape (ConnectedRegions, SelectedRegions, 'area', \'and', 1600, 6000)//选择孔面积大小的区域dev_clear_window ( )//清除窗口dev_set_draw ('margin')//显示区域的填充方式(不填充)dev_set_line_width (3)//设置区域显示框的线宽dev_display (Image)//显示图像dev_display (SelectedRegions)//显示孔area_center (SelectedRegions, Area, Rows, Columns)//获取孔的面积,中心坐标index := |Rows|//提取孔的数量* 依次对指定孔进行坐标显示for i:=0 to index-1 by 1    messagex :=  '第'+(i+1)+'孔的坐标为:'+Rows[i]    messagey := '第'+(i+1)+'孔的坐标为:'+Columns[i]    disp_message (WindowHandle,messagex+messagey, 'window',0, 0, 'red', 'true')//显示孔坐标disp_message (WindowHandle, i+1, 'image', Rows[i]-15,\    Columns[i]-10, 'red', 'false')//指定孔    stop ( )//暂停endfor

程序运行的效果如下:

        

具体的操作步骤如下:

1.进行图像的读取,获得图像的参数

read_image (Image, 'rim.png')//读取图像dev_close_window ( )//关闭窗口get_image_size (Image, Width, Height)//获取图像的大小dev_open_window (0, 0, Width/2, Height/2, 'black', WindowHandle)//打开一个新窗口,设置原点在图片的左上角(0,0),设置图像的大小为原来的1/4,设置背景色dev_display (Image)//显示图像

2.进行阈值分割

threshold (Image, Regions, 25, 121)//对图像进行二值化处理connection (Regions, ConnectedRegions)//将区域进行分开select_shape (ConnectedRegions, SelectedRegions, 'area', \'and', 1600, 6000)//选择孔面积大小的区域dev_clear_window ( )//清除窗口dev_set_draw ('margin')//显示区域的填充方式(不填充)dev_set_line_width (3)//设置区域显示框的线宽dev_display (Image)//显示图像dev_display (SelectedRegions)//显示孔area_center (SelectedRegions, Area, Rows, Columns)//获取孔的面积,中心坐标index := |Rows|//提取孔的数量

3.进行文字显示

for i:=0 to index-1 by 1    messagex :=  '第'+(i+1)+'孔的坐标为:'+Rows[i]    messagey := '第'+(i+1)+'孔的坐标为:'+Columns[i]    disp_message (WindowHandle,messagex+messagey, 'window',0, 0, 'red', 'true')//显示孔坐标disp_message (WindowHandle, i+1, 'image', Rows[i]-15,\    Columns[i]-10, 'red', 'false')//指定孔    stop ( )//暂停endfor

原创粉丝点击