[Halcon&图像] 图像、区域和轮廓相互转化

简介: [Halcon&图像] 图像、区域和轮廓相互转化

一、区域(region)转轮廓(xld):

法一: 直接转换

gen_contour_region_xld (SelectedRegions, Contours, 'border')

应该场所:拟合部分边缘提取和轮廓分割之间会用到,因为轮廓分割需输入xld轮廓,而用boundary提取区域边缘输出的是区域(region),所以需要转换。

法二: 先将区域转换骨架,在提取骨架xld轮廓

skeleton (Region2, Skeleton2)
gen_contours_skeleton_xld (Skeleton2, Contours, 1, 'filter')

应该场所:一般需要将直线或其他线条由区域region类型转换成更高精度的轮廓xld类型时,可以用到。


二、轮廓(xld)转区域(region):

gen_region_contour_xld (SelectedXLD, RegionXLD, 'filled')

三、轮廓(xld)或区域(region)转换成图像(image):

法一: paint_region贴图的方式

*UnionContours1为输入的xld轮廓
sort_contours_xld (UnionContours1, SortedContours, 'upper_left', 'true', 'column')
count_obj (UnionContours1, Number)
*将轮廓转换成区域   
gen_empty_obj (Line)
for i := 1 to Number by 1
select_obj (SortedContours, ObjectSelected, i)
get_contour_xld (ObjectSelected, Row, Col)   
gen_region_polygon (Region, Row, Col)
concat_obj (Line, Region, Line)
endfor
*创建空白图像,将得到的区域贴到上面
get_image_size (ImageReduced, Width1, Height1)
gen_image_proto (ImageReduced, ImageCleared, 128)
paint_region (Line, ImageCleared, ImageResult1, 255, 'fill')

注:前面两步是将断开的轮廓转换成完整区域,然后将得到的区域之间贴到空白图像上,实现将轮廓转换成图像。

法二: egion_to_bin — 将一个区域转换为二进制字节图像

 


戳戳小手帮忙点个免费的赞和关注吧,嘿嘿。
目录
相关文章
|
算法 数据可视化
Halcon边缘检测和线条检测(3),文章含BLOB检测常用方法和shape_trans内接和外接算子的说明
Halcon边缘检测和线条检测(3),文章含BLOB检测常用方法和shape_trans内接和外接算子的说明
2700 0
Halcon边缘检测和线条检测(3),文章含BLOB检测常用方法和shape_trans内接和外接算子的说明
halcon算子模板匹配(一)基于形状的模板匹配
halcon算子模板匹配(一)基于形状的模板匹配
3025 0
halcon基础系列之几何工具相关算子
halcon基础系列之几何工具相关算子
453 0
|
机器学习/深度学习 文字识别 算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
5452 1
|
算法
[Halcon&拟合] 直线、矩形和圆的边缘提取
[Halcon&拟合] 直线、矩形和圆的边缘提取
984 0
[Halcon&笔记] 特征选择中的常用特征总结
[Halcon&笔记] 特征选择中的常用特征总结
493 0
|
计算机视觉
[Halcon&图像] 形态学处理(腐蚀、膨胀、开运算、闭运算)
[Halcon&图像] 形态学处理(腐蚀、膨胀、开运算、闭运算)
1033 1
[Halcon&几何] 直线的垂线与延长线的计算
[Halcon&几何] 直线的垂线与延长线的计算
712 1
|
算法 计算机视觉
[Halcon&图像] 图像滤波算法原理
[Halcon&图像] 图像滤波算法原理
566 1
|
C# C++
halcon联合c#、WPF学习笔记一(WPF配置halcon)
halcon联合c#、WPF学习笔记一(WPF配置halcon)
1081 1