c#+halcon1.3 从窗口创建形状匹配模板

本文详细介绍使用Halcon库创建形状匹配模板的过程。通过交互式创建矩形ROI,生成矩形区域并裁剪图像,进一步学习图像特征创建形状模型。最后,展示形状匹配模板并进行位置调整。

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

前面版添加创建模板按钮,并在单机事件中添加如下代码

HOperatorSet.SetColor(hWindowControl1.HalconWindow, "green");

            hWindowControl1.Focus();

            HTuple r, c, phi, len1, len2;

            HObject rectangle;

            hWindowControl1.Focus();

            HOperatorSet.DrawRectangle2(hWindowControl1.HalconWindow, out r, out c, out phi, out len1, out len2);

            HOperatorSet.GenRectangle2(out rectangle, r, c, phi, len1, len2);

            HOperatorSet.DispObj(rectangle, hWindowControl1.HalconWindow);

            HOperatorSet.ReduceDomain(himage, rectangle,out temp);

            HOperatorSet.CreateShapeModel(temp, 4, (new HTuple(0)).TupleRad(), (new HTuple(360)).TupleRad(),

                (new HTuple(0.1)).TupleRad(), "auto", "use_polarity", (new HTuple(4)).TupleConcat(30), 4,out  modelID);

            HOperatorSet.GetShapeModelContours(out ho_ModelContours, modelID, 1);

            //HOperatorSet.GetImageSize(ho_ModelContours, out hv_Width, out hv_Height);//获取图像尺寸

            //HOperatorSet.SetPart(hWindowControl2.HalconWindow, 0, 0, hv_Height - 1, hv_Width - 1);//设置显示控件尺寸

            HOperatorSet.SmallestRectangle1Xld(ho_ModelContours, out hv_Row1, out hv_Column1, out hv_Row2,

                out hv_Column2);

            hv_RefRow = ((hv_Row2.TupleMax()) - (hv_Row1.TupleMin())) / 2;

            hv_RefColumn = ((hv_Column2.TupleMax()) - (hv_Column1.TupleMin())) / 2;

            HOperatorSet.VectorAngleToRigid(0, 0, 0, hv_RefRow, hv_RefColumn, 0, out hv_HomMat2D);

            HOperatorSet.AffineTransContourXld(ho_ModelContours, out ho_TransContours, hv_HomMat2D);

            HOperatorSet.SetColor(hWindowControl2.HalconWindow, "green");

            HOperatorSet.DispObj(ho_TransContours, hWindowControl2.HalconWindow);

-----------------------------------------------------

其作用是

HOperatorSet.DrawRectangle2----从窗口通过鼠标交互创建矩形roi

HOperatorSet.GenRectangle2-----获取窗口鼠标输出的位置和角度生成矩形region

HOperatorSet.ReduceDomain-----使用region裁剪图像为temp图像

HOperatorSet.CreateShapeModel-----对temp图像进行学习输出modelID

剩下的就是显示形状匹配模板。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值