学习Halcon的边缘检测提取《一》

本文介绍了使用Halcon进行边缘提取的三种方法:1)结合Sobel_Image和Scale_Image;2)应用texture_laws和median_separate进行纹理过滤;3)利用mean_image和abs_diff_image找出图像差异。每种方法都有其适用场景,例如模糊布料的边缘检测。
摘要由CSDN通过智能技术生成

学习halcon,提取边缘的方法记录

方法1:使用Sobel_Image,Scale_Image配合检测

sobel_amp(Image : EdgeAmplitude : FilterType, Size : )

使用Sobel算子检测边缘(振幅)。

FilterType:选择滤波器

Size:设置滤波器的大小

scale_image(Image : ImageScaled : Mult, Add : )

缩放图像的灰度值。

Mult:图像灰度值乘的倍率

Add:总体增加的灰度值

正常的布料

有模糊的布料

dev_update_off ()
read_image (Image, 'img_000002_bad.png')
sobel_amp (Image, EdgeAmplitude, 'sum_abs', 7)
scale_image (EdgeAmplitude, ImageScaled, 10, 0)
threshold (ImageScaled, Regions, 0, 136)
opening_circle (Regions, RegionOpening, 3.5)
dilation_circle (RegionOpening, RegionDilation, 3.5)
dev_display (Image)
dev_display (RegionDilation)

方法2:使用texture_laws,median_separate过滤纹理

texture_laws(Image : ImageTexture : FilterTypes, Shift, FilterSize : )

使用Laws纹理过滤器过滤图像。

median_separate(Image : ImageSMedian : MaskWidth, MaskHeight, Margin : )

矩形遮罩分离中值滤波。

dev_update_off ()
read_image (Image, 'img_000002_bad.png')
texture_laws (Image, SS, 'ss', 0, 5)
median_separate (SS, SSMed, 25, 25, 'cyclic')
threshold (SSMed, Regions, 15, 40)
opening_circle (Regions, RegionOpening, 3.5)
dilation_circle (RegionOpening, RegionDilation, 3.5)
dev_display (Image)
dev_display (RegionDilation)

方法3:使用mean_image,abs_diff_image找出图像差异,提取边缘

这种方法提取边缘感觉不稳定,使用图像差值,膨胀图像灰度值,我创建一个黑色

图像元素膨胀,结果图像变亮了,也可以提取哈哈哈。

dev_update_off ()
read_image (Image, 'img_000002_bad.png')
mean_image (Image, ImageMean, 30, 30)
abs_diff_image (Image, ImageMean, ImageAbsDiff, 1)
scale_image (ImageAbsDiff, ImageScaled, 2, 0)
gen_image_const (Image1, 'byte',3, 3)
gen_image_proto (Image1, ImageCleared, 0)
gray_dilation (ImageScaled, ImageCleared, ImageDilation)
threshold (ImageDilation, Regions, 0, 40)
opening_circle (Regions, RegionOpening1, 3.5)
dilation_circle (RegionOpening1, RegionDilation1, 2)
dev_display (Image)
dev_display (RegionDilation)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值