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

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



 

 

 

 

procedure TForm1.Button1Click(Sender: TObject);
var
w, h : OleVariant;
hv_Fuse, hv_i : Integer;
begin
Op.ReadImage(ho_Image, Tuple.TupleAdd('color/color_fuses_0', hv_Count));
Op.GetImageSize(ho_Image, w, h);
Op.SetPart(hv_WH, 0, 0, h - 1, w - 1);
Op.DispObj(ho_Image, hv_WH);
Op.SetTposition(hv_WH, 12, 512);
Op.WriteString(hv_WH, Tuple.TupleAdd(Tuple.TupleAdd('color/color_fuses0', hv_Count), '.png'));

Op.Decompose3(ho_Image, ho_Red, ho_Green, ho_Blue);
Op.TransFromRgb(ho_Red, ho_Green, ho_Blue, ho_Hue, ho_Saturation, ho_Intensity, 'hsv');
Op.Threshold(ho_Saturation, ho_Saturated, 60, 255);
Op.ReduceDomain(ho_Hue, ho_Saturated, ho_HueSaturated);
for hv_Fuse := 0 to Tuple.TupleSub(Tuple.TupleLength(hv_FuseTypes), 1) do
begin
Op.Threshold(ho_HueSaturated, ho_CurrentFuse, Tuple.TupleSelect(hv_HueRanges, Tuple.TupleMult(hv_Fuse, 2)), Tuple.TupleSelect(hv_HueRanges, Tuple.TupleAdd(Tuple.TupleMult(hv_Fuse, 2), 1)));
Op.Connection(ho_CurrentFuse, ho_CurrentFuseConn);
Op.FillUp(ho_CurrentFuseConn, ho_CurrentFuseFill);
Op.SelectShape(ho_CurrentFuseFill, ho_CurrentFuseSel, 'area', 'and', 6000, 20000);
Op.AreaCenter(ho_CurrentFuseSel, hv_FuseArea, hv_Row1, hv_Column1);
Op.SetColor(hv_WH, 'magenta');
for hv_i := 0 to Tuple.TupleSub(Tuple.TupleLength(hv_FuseArea), 1) do
begin
Op.SetTposition(hv_WH, Tuple.TupleSelect(hv_Row1, hv_i), Tuple.TupleSelect(hv_Column1, hv_i));
Op.WriteString(hv_WH, Tuple.TupleAdd(Tuple.TupleAdd(Tuple.TupleAdd(Tuple.TupleSelect(hv_FuseColors, hv_Fuse), ' '), Tuple.TupleSelect(hv_FuseTypes, hv_Fuse)), ' Ampere'));
end;
Op.SetTposition(hv_WH, Tuple.TupleMult(24, Tuple.TupleAdd(hv_Fuse, 1)), 12);
Op.SetColor(hv_WH, 'slate blue');
Op.WriteString(hv_WH, Tuple.TupleAdd(Tuple.TupleAdd(Tuple.TupleSelect(hv_FuseColors, hv_Fuse), ' Fuses: '), Tuple.TupleLength(hv_FuseArea)));
end;
hv_Count := hv_Count + 1;
if (hv_Count > 4) then
hv_Count := 0;
end;

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值