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 @   夕西行  阅读(325)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示