作者:fkg7571831 | 来源:互联网 | 2023-09-15 13:50
一、图像的灰度变化
灰度变换是图像增强的一种重要手段,用于改善图像显示效果,属于空间域处理方法,它可以使图像动态范围加大,使图像对比度扩展,图像更加清晰,特征更加明显。灰度变换其实质就是按一定的规则修改图像每一个像素的灰度,从而改变图像的灰度范围。常见的灰度变换图像反转,对数变换和伽马变换等。
更多关于灰度变换参考:图像灰度变换——线性灰度变换 和 非线性灰度变换(对数变换 与 伽马变换)
*关闭过程更新,加快代码执行速度
dev_update_off ()
*读取图片
dev_open_file_dialog ('read_image', 'default', 'default', Selection)
read_image (Image, Selection)*图像转为灰度图
rgb1_to_gray (Image, GrayImage)*图像相加,其中0.8为图像相加之后乘以0.8
add_image (GrayImage, GrayImage, ImageResult, 0.8, 100)*获得图像区域坐标
get_domain (GrayImage, Domain)
get_region_points (Domain, Rows, Columns)*获得图像灰度
get_grayval (GrayImage, Rows, Columns, Grayval)*循环改变值
for i := 0 to |Grayval|-1 by 1if (Grayval[i]>100)Grayval[i]:=255endif
endfor*灰度赋值
set_grayval (ImageResult, Rows, Columns, Grayval)*图像取对数
log_image (GrayImage, LogImage, 'e')*图像取指数
exp_image (LogImage, ExpImage, 'e')*图像均衡化
equ_histo_image (GrayImage, ImageEquHisto)
二、图像滤波
1.图像为什么要滤波? 答:
- a.消除图像在数字化过程中产生或者混入的噪声。
- b.提取图片对象的特征作为图像识别的特征模式。
2.滤波器该如何去理解? 答:
- 滤波器可以想象成一个包含加权系数的窗口或者说一个镜片,当使用滤波器去平滑处理图像的时候,就是把通过这个窗口或者镜片去看这个图像。
噪声的种类参考:常见的噪声:高斯、泊松和椒盐噪声
几种滤波原理参考:
- 中值滤波&均值滤波
- 高斯滤波
- 简单易懂的高斯滤波
- 加权中值滤波
- 导向滤波(Guided Filter)公式详解
在halcon中:
均值滤波函数:mean_image()
中值滤波函数:median_image()
高斯滤波函数:gauss_filter()
导向滤波函数:guided_filter()
dev_open_file_dialog ('read_image', 'default', 'default', Selection)
read_image (Image, Selection)
* 均值滤波,滤波窗口5*5
mean_image (Image, ImageMean, 5, 5)
*增加白噪声,默认振幅60
add_noise_white (Image, ImageNoise, 60)
* 中值滤波,滤波半径为2
median_image (Image, ImageMedian, 'circle', 2, 'mirrored')
* 高斯滤波,过滤器尺寸默认为5
gauss_filter (Image, ImageGauss, 5)
* 导向滤波,半径5,振幅50
guided_filter (Image, Image, ImageGuided, 5, 50)