4. 如何读写区域(Region)和轮廓(XLD)

 

由于在图像处理过程中,我们通常希望 将感兴趣的区域 保存到本地硬盘,以方便程序的调取,所以我们需要知道如何读写区域及轮廓。

 

1. 读写区域(Region)

 

* 如何将图像上的一些区域 从硬盘中读取出来 或 写入到硬盘中



* 从硬盘中读取出来
* 将 C:/Users/Administrator/Desktop/halcon-笔记文件夹中的 ReadRegion.hobj 文件中的内容读入到变* 量 Region 中
* 参数1:输出参数; 参数2:输入参数
read_region (Region, 'C:/Users/Administrator/Desktop/halcon-笔记/ReadRegion.hobj')

* 写入到硬盘中
* 将 Region 变量中的内容写入到 C:/Users/Administrator/Desktop/halcon-笔记/WriteRegion.hobj 文件中
* 参数1:输入参数; 参数2:输入参数
write_region (Region, 'C:/Users/Administrator/Desktop/halcon-笔记/WriteRegion.hobj')

从 ReadRegion.hobj 文件中读取到的区域如图 1.1 所示

从 ReadRegion.hobj 文件中读取到的区域标题

C:/Users/Administrator/Desktop/halcon-笔记 文件夹中最终会生成 WriteRegion.hobj 文件,如图 1.2 所示

图 1.2 对应文件夹下生成的 writeRegion.hobj 文件

 

2. 读写轮廓(XLD)

* 如何将图像上的一些轮廓 写入到硬盘中 或 从硬盘中读取出来

* 读取一张名字为 fabrik 的单通道图像(灰度图)
read_image (Image, 'fabrik')

* 功能: 提取亚像素精度的边缘
* 参数1:需提取亚像素轮廓的图像;参数2:返回亚像素精度的XLD轮廓
* 参数3:滤波器的选择;
* 参数4:若使用'canny'滤波器,则 Alpha 参数值越大,滤波器的大小就会变大,从而遗漏了边缘细节部分的处理;其他滤波器则
* 正好相反,滤波器的大小跟 Alpha 值的大小成反比关系; Alpha 值越小,平滑越强大,会减少边缘细节
edges_sub_pix (Image, Edges, 'canny', 0.5, 20, 40)

* 将 xld 轮廓以 dxf 格式写入文件
write_contour_xld_dxf (Edges, 'Coutour.dxf')


* 从 dxf 文件中读取 xld 轮廓
* 参数5: DxfStatus 为读取到的轮廓的数量
read_contour_xld_dxf (Contours, 'Coutour.dxf', [], [], DxfStatus)

图 1.3 所示为读入的图像:

图1.3 读入名字为 fabrik 的图像

进行 edges_sub_pix() 后的边缘图,如图1.4 所示:

图1.4  edges_sub_pix() 后的轮廓图

从 dxf 文件中读取到的 xld 轮廓以及轮廓数,如图 1.5 所示,DxfStatus 变量中的个数与图1.4中检测到的轮廓个数一致

图1.5 从 dxf 文件中读取到的 xld 轮廓以及轮廓数

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值