halcon单点抓取
时间: 2025-01-09 09:39:46 浏览: 13
Halcon 单点抓取使用方法
创建单点抓取模型
为了实现单点抓取功能,通常需要先定义目标对象的特征。这可以通过创建一个简单的形状模型来完成。对于单点抓取而言,可以考虑使用一个小区域内的特定几何特性作为模板。
* 定义感兴趣区(ROI),此处假设是一个矩形框内的一点
gen_rectangle1 (Row, Column, Row + Height, Column + Width, Rectangle)
* 将该ROI转换成XLD轮廓以便后续处理
shape_trans (Rectangle, Contour, 'point_pairs')
* 基于此轮廓建立形状匹配模型
create_shape_model (Contour, 'angle_start', AngleStart, \
'angle_extent', AngleExtent, \
'scale_min', ScaleMin, \
'scale_max', ScaleMax, \
ModelID)
上述代码片段展示了如何基于给定点周围的一个小范围构建形状模型[^3]。
寻找并定位单点位置
一旦建立了合适的形状模型之后,就可以利用find_shape_models
函数去图像中搜索相似的对象实例,并获取其精确的位置信息。
* 设置搜索参数
set_shape_model_param (ModelID, 'min_score', MinScore)
* 开始在输入图片里查找已训练好的模型
find_shape_models (Image, ModelID, AngleStartSearch, \
AngleExtentSearch, ScaleMinSearch, \
ScaleMaxSearch, MinScoreFind, NumMatches, \
RowFound, ColumnFound, AngleFound, Score)
* 输出检测到的目标中心坐标
disp_message (WindowHandle, 'Target found at ('+RowFound+', '+ColumnFound+')',\
'window', RowDisp, ColumnDisp, TextColor, BoxFlag)
这段程序说明了怎样运用之前准备完毕的模型来进行模式识别工作,并最终报告出所发现物体的具体方位数据。
显示与验证结果
最后一步是要确认算法执行的效果是否满足预期需求。为此可以在原图中标记出计算所得的关键点位,从而直观地检验整个流程的有效性和准确性。
* 绘制标记线指示被抓取点的确切地点
draw_cross (WindowHandle, RowFound, ColumnFound, CrossSize, ColorCross)
* 展现带有标注后的影像画面供观察分析
dev_display (ImageMarked)
以上就是有关Halcon环境下实施单点抓取任务的主要步骤概述。