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 给定的值,否则不作为区域输出。

posted @ 2019-03-13 21:02  夕西行  阅读(324)  评论(0编辑  收藏  举报