halcon的gray_range_rect算子

先来看年过个算子的原型:

gray_range_rect( Image : ImageResult : MaskHeight, MaskWidth: )

 

函数作用:

决定某个方形区域内的灰度值,计算方形区域内的最大最小灰度的差(最大-最小),并体现到每个图像点上。如果MaskHeight和MaskWidth是偶数,它们被变为靠近的小的奇数值,图像边缘的灰度值是呈镜像出现的。

 

参数列表:

Image(in):被计算灰度值的图像

ImageResult(out):包含灰度值的图像

MaskHeight(in):滤波器掩模的高度

MaskWidth(in):滤波器掩模的宽度

 

可能替代项

gray_dilation_rect, gray_erosion_rect, sub_image


估计你看完介绍后一头雾水吧?

勇哥在一些检测缺陷的例子里面经常看到这个算子,在当中起的作用非常有用。

它的作用居然是能突出缺陷,很小的缺陷能随着你的MaskHeight, MaskWidth的值增大而增大。


sigma1:=1
sigma2:=225
gen_gauss_filter(GaussFilter1, sigma1, sigma1, 0, 'none', 'rft', Width, Height)
gen_gauss_filter(GaussFilter2, sigma2, sigma2, 0, 'none', 'rft', Width, Height)
sub_image(GaussFilter1, GaussFilter2, ImageFilter, 1, 0)

rft_generic (GrayImage, ImageFFT, 'to_freq', 'none', 'complex', Width)
convol_fft (ImageFFT, ImageFilter, ImageConvol)
rft_generic (ImageConvol, ImageFiltered, 'from_freq', 'n', 'real', Width)

gray_range_rect(ImageFiltered, ImageResult, 5, 5)
min_max_gray(ImageResult, ImageResult, 0, Min, Max, Range)

MaskHeight, MaskWidth(5,5)

image.png

MaskHeight, MaskWidth(10,10)

image.png

MaskHeight, MaskWidth(20,20)

image.png

而没有应用这个gray_range_rect算子前的图像是这样的:

image.png


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

作者:hackpig

来源:www.skcircle.com

版权声明:本文为博主原创文章,转载请附上博文链接!



本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:
  • 评论列表:
  •  杰森同学
     发布于 2022-03-16 21:51:01  回复该评论
  • 请教勇哥,
    前面的卷积部分,sigma1和sigma2的取值如何去确定?

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864