halcon--XLD的回归参数

博客围绕Halcon里XLD的回归参数展开,但具体内容缺失,推测会涉及XLD回归参数的相关信息技术知识,如参数的含义、作用、计算方法等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

dev_clear_window ()
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
gen_circle_contour_xld (ContCircle, 200, 200, 100, 0, 6.28318, 'positive', 1)
query_contour_global_attribs_xld (ContCircle, Attribs)
regress_contours_xld (ContCircle, RegressContours, 'no', 1)
query_contour_global_attribs_xld (RegressContours, Attribs1)
get_contour_global_attrib_xld (RegressContours, 'regr_norm_row', Attrib)

get_regress_params_xld (RegressContours, Length, Nx, Ny, Dist, Fpx, Fpy, Lpx, Lpy, Mean, Deviation)

 

### Halcon XLD 轮廓常用算子 #### lines_gauss 函数 `lines_gauss` 是用于从图像中提取线条特征的一个重要函数。此函数通过高斯滤波器平滑输入图像并应用Canny边缘检测算法来寻找潜在的直线结构。参数 `Sigma`, `Low`, 和 `High` 控制着滤波和平滑的效果;而 `LightDark` 参数决定了要找的是亮边还是暗边;最后两个参数定义了线模型的选择以及是否闭合连接点。 ```cpp // C++ code example using the 'lines_gauss' operator. gen_empty_obj(&Image); read_image(&Image,"image_path"); lines_gauss(Image,&Lines,1.0,20,80,'light',7,'standard',true); // Example parameters ``` #### get_contour_xld 函数 为了获取XLD轮廓上的具体位置数据,可以使用 `get_contour_xld` 来返回轮廓上每一个点的位置信息。这有助于后续处理如形状分析或几何变换等操作。该命令接收一个XLD对象作为输入,并输出这些点对应的行(`Row`)和列(`Col`)坐标[^1]。 ```cpp // C++ code snippet demonstrating how to use 'get_contour_xld'. get_contour_xld(Contour,&Rows,&Cols); for(int i=0;i<Rows.length();i++){ printf("Point %d at (%f,%f)\n",i+1,Cols[i],Rows[i]); } ``` #### get_contour_attrib_xld 函数 当需要了解关于特定XLD轮廓更详细的特性时,则可调用 `get_contour_attrib_xld` 。这个工具允许访问诸如长度、面积之类的属性值,这对于评估目标物尺寸或是其他定量描述非常有用。用户只需指定想要查询的名字即可得到相应的属性结果。 ```cpp // An illustration of getting contour attributes via 'get_contour_attrib_xld' string attrib_name="length"; double length; get_contour_attrib_xld(Contour,&attrib_name,&length); cout << "The total length of this contour is:"<< length<<endl; ``` #### regress_contours_xld 函数 对于那些希望进一步研究轮廓方向特性的开发者来说,`regress_contours_xld` 提供了一种有效的方法来拟合一条最佳匹配给定XLD轮廓集的回归线。这条线上每一点都对应于原始轮廓中的某个部分,并且可以通过计算得出其单位法向量的方向。这种方法特别适用于需要精确测量角度或者方位的应用场景[^3]。 ```cpp // A brief demonstration on utilizing 'regress_contours_xld' gen_empty_obj(&Contours); append_region(Contours,XLD_Region); regress_contours_xld(Contours,&StartPoints,&EndPoints,&NormVectors,&Distances); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值