tuple数组、文件操作
halcon自带案例的学习。
Tuple1 := [1,2,3,4,5] //数组 Number := |Tuple1| //元素个数 SingleElement := Tuple1[3] //4 Part := Tuple1[1:3] //2,3,4 Copy := Tuple1[0:|Tuple1| - 1] //所有元素
观察图像灰度值快捷键:Ctrl+滑动鼠标
把每个连通域的面积值保存到D盘的area.dat文件中
read_image (Image, 'fabrik') //读入自带图像 regiongrowing (Image, Regions, 3, 3, 6, 100) //区域增长,获得区域 count_obj (Regions, Number) //计算区域个数 open_file ('D:/area.dat', 'output', FileHandle) //for循环,输出每个区域的面积到area.dat文件中 for i := 1 to Number by 1 select_obj (Regions, Selected, i) //选择区域 area_center (Selected, Area, Row, Column) //获得区域面积,质心坐标 fwrite_string (FileHandle, i + ' ' + Area) //输出区域序号、面积 fnew_line (FileHandle) //换行 endfor close_file (FileHandle) //关闭文件
关于regiongrowing函数:区域增长法获取图像分割区域(region),属于图像分割的方法
regiongrowing (Image,Outregion: Row,Col,Tolerance,MinSize)
Image,Outregion—— 输入图像、分割后的输出区域;
Row ,Col——在图像内相邻移动的模板的长和宽度大小;
Tolerance——两个相邻模板中心灰度值差(即判断两个区域是否为同一区域的灰度差异最小值),具体如下:
|g1-g2|<Tolerance
小于给定的Tolerance的值,则会认为这两个区域属于同一个区域,否则不然
MinSize——限定了用上面方法分割出的区域最终不能小于MinSize 给定的值,否则不作为区域输出。