zw版【转发·台湾nvp系列Delphi例程】HALCON SelectObj

本文展示了一个使用HALCON进行图像处理的Delphi示例代码。该示例从读取图像开始,通过阈值分割、区域裁剪等步骤,最终实现了特定目标的选择。通过四个窗口展示了图像处理的不同阶段。

zw版【转发·台湾nvp系列Delphi例程】HALCON SelectObj

procedure TForm1.Button1Click(Sender: TObject);
var
img : HImageX;
w, h : OleVariant;
rg, rg1 : HRegionX;
ht : HTupleX;
begin
ht := CoHTupleX.Create;
img := CoHImageX.Create;
img.ReadImage('rings_and_nuts');
w := img.GetImageSize(h);
HWindowXCtrl1.HalconWindow.SetPart(0, 0, h - 1, w - 1);
img.DispObj(HWindowXCtrl1.HalconWindow );

rg := img.Threshold(0, 128);
rg := rg.ClipRegion(10, 10, h - 10, w - 10);
HWindowXCtrl2.HalconWindow.SetPart(0, 0, h - 1, w - 1);
img.DispObj(HWindowXCtrl2.HalconWindow);
HWindowXCtrl2.HalconWindow.SetDraw('margin');
HWindowXCtrl2.HalconWindow.SetColored(12);
rg.DispObj(HWindowXCtrl2.HalconWindow);
HWindowXCtrl2.HalconWindow.SetColor('red');
HWindowXCtrl2.HalconWindow.SetTposition(10, 10);
HWindowXCtrl2.HalconWindow.WriteString('Object Nums : ' + IntToStr(rg.CountObj));
rg1 := rg.Connection;
HWindowXCtrl3.HalconWindow.SetPart(0, 0, h - 1, w - 1);
img.DispObj(HWindowXCtrl3.HalconWindow);
HWindowXCtrl3.HalconWindow.SetDraw('margin');
HWindowXCtrl3.HalconWindow.SetColored(12);
rg1.DispObj(HWindowXCtrl3.HalconWindow);
HWindowXCtrl3.HalconWindow.SetColor('red');
HWindowXCtrl3.HalconWindow.SetTposition(10, 10);
HWindowXCtrl3.HalconWindow.WriteString('Object Nums : ' + IntToStr(rg1.CountObj));
rg1 := rg1.SelectObj(ht.TupleConcat(3, 4));
HWindowXCtrl4.HalconWindow.SetPart(0, 0, h - 1, w - 1);
img.DispObj(HWindowXCtrl4.HalconWindow);
HWindowXCtrl4.HalconWindow.SetDraw('margin');
HWindowXCtrl4.HalconWindow.SetColored(12);
rg1.DispObj(HWindowXCtrl4.HalconWindow);
HWindowXCtrl4.HalconWindow.SetColor('red');
HWindowXCtrl4.HalconWindow.SetTposition(10, 10);
HWindowXCtrl4.HalconWindow.WriteString('Object Nums : ' + IntToStr(rg1.CountObj));
end;

 

转载于:https://www.cnblogs.com/ziwang/p/4851003.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值