HalconLen7-形态学操作

read_image(Image, 'C:/Users/86173/Desktop/test/4.png')

get_image_size(Image, Width, Height)
dev_close_window()
dev_open_window(0, 0, Width, Height, 'black', WindowHandle)

dev_display(Image)

rgb1_to_gray(Image, GrayImage)

gray := 88

threshold(GrayImage, Region, gray, 255) //全局阈值

binary_threshold(GrayImage, Region1, 'max_separability', 'dark', UsedThreshold) //将灰度图像转换为二值图像的函数

mean_image(GrayImage, ImageMean, 15, 15) //均值滤波(计算图像像素值的平均值的函数)
dyn_threshold(GrayImage, ImageMean, RegionDynThresh, 5, 'light') //动态阈值(根据局部图像信息动态计算阈值的函数。它使用自适应算法来确定每个像素的最佳阈值,从而创建更准确和鲁棒的二值图像)

connection(RegionDynThresh, ConnectedRegions)

select_shape(ConnectedRegions, SelectedRegions, 'area', 'and', 1500, 99999)

select_shape(SelectedRegions, SelectedRegions1, 'area', 'and', 1500, 3000)

difference(SelectedRegions, SelectedRegions1, RegionDifference)//区域减法

gen_circle(Circle, 200, 200, 100.5) //绘制圆形
gen_circle(Circle1, 200, 200, 150.5)

difference(Circle1, Circle1, RegionDifference1)

fill_up(RegionDifference, RegionFillUp)

select_shape(RegionFillUp, SelectedRegions1, 'rectangularity', 'and', 0.9, 1)
select_shape(SelectedRegions1, SelectedRegions2, 'area', 'and', 13000, 20000)

shape_trans(SelectedRegions2, RegionTrans, 'convex')

draw_region(Region, WindowHandle)

shape_trans(Region, RegionTrans1, 'convex')

difference(RegionTrans1, Region, RegionDifference2)

skeleton(SelectedRegions, Skeleton) //生成一个像素点宽度的骨架

dev_display(Region) //在 HALCON 图形窗口中显示图像、区域和 XLD 轮廓

dilation_circle(Region, RegionDilation, 3.5) //用直径3.5的圆形进行膨胀

erosion_circle(Region,RegionErosion,3.5)  //用直径3.5的圆形进收缩

difference(RegionDilation, RegionErosion, RegionDifference3) //膨胀减去收缩

closing_circle(RegionDifference3, RegionClosing, 3.5) //先膨胀再收缩

*opening_circle(RegionClosing, RegionOpening, 3.5)//先收缩再膨胀

boundary(RegionClosing, RegionBorder, 'inner') //描边函数

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值