图像处理笔记(八)

混合空间增强法

把书上那个人体骨骼核扫描图像增强的例子实现了一下,halcon中已有的sobel算子达不到书中的要求,用了已有的那个算子得出的乘积不是书中说的那样的,所以用两个过滤器重新做了一下。

dev_close_window ()
read_image(Image, 'bone')
get_image_size(Image, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
* 原图 a
dev_display(Image)

* 突出细节 b
laplace(Image, ImageLaplace, 'absolute', 3, 'n_4')
* 锐化 c
add_image(Image, ImageLaplace, ImageResult, 1, 0)
* 梯度操作,找出边缘 d
* sobel_amp(Image, EdgeAmplitude, 'sum_abs', 3)
f := [3, 3, 1, 1, 2, 1, 0, 0, 0, -1, -2, -1]
f1 := [3, 3, 1, 1, 0, -1, 2, 0, -2, 1, 0, -1]
convol_image(Image, Ix, f, 'mirrored')
convol_image(Image, Iy, f1, 'mirrored')
* 对于两次两个维度过滤出来的图像有多种操作方法,这里选择求绝对值和
abs_image(Ix, IxAbs)
abs_image(Iy, IyAbs)
add_image(IxAbs, IyAbs, IxPlusIy, 1, 0)
* 均值过滤 e
mean_image(IxPlusIy, ImageMean1, 5, 5)
* 将梯度变换均值过滤后的图像与拉普拉斯锐化操作之后的图像相乘 f
* 以保留灰度变化强烈的区域,降低灰度变化平缓区域的噪声
mult_image(ImageMean1, ImageResult, MultImage1, 0.005, 0)
* 结果加到原图像上做锐化 g
add_image(MultImage1, Image, ImageResult2, 1, 0)
* 0.5的幂律变换 h,用于扩大灰度范围
pow_image(ImageResult2, PowImage1, 0.5)

使用模糊技术进行灰度变换和空间滤波

使用模糊集合进行灰度变换来增强灰度级图像对比度的总体思想:
IF一个像素是暗的,THEN使他较暗;
IF一个像素是灰的,THEN使他仍是灰的;
IF一个像素是亮的,THEN使他较亮。
还没找到在halcon有没有现成的算子,halcon中有包含fuzzy的算子,可能与它相关。

本章小结

新用到的Halcon算子

  1. get_image_size(Image, Width, Height):获取图像的宽高
原文地址:https://www.cnblogs.com/yutou2016/p/11103260.html