halcon自带案例的学习。
Tuple1 := [,,,,] //数组
Number := |Tuple1| //元素个数
SingleElement := Tuple1[] //
Part := Tuple1[:] //2,3,4
Copy := Tuple1[:|Tuple1| - ] //所有元素
观察图像灰度值快捷键:Ctrl+滑动鼠标
把每个连通域的面积值保存到D盘的area.dat文件中
read_image (Image, 'fabrik') //读入自带图像
regiongrowing (Image, Regions, , , , ) //区域增长,获得区域
count_obj (Regions, Number) //计算区域个数
open_file ('D:/area.dat', 'output', FileHandle) //for循环,输出每个区域的面积到area.dat文件中
for i := to Number by
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 给定的值,否则不作为区域输出。