图像增强就是指通过某种图像处理方法对退化的某些图像特征,如边缘、轮廓、对比度等进行处理,以改善图像的视觉效果,提高图像的清晰度,或是突出图像中的某些“有用”,压缩其他“无用”信息,将图像转换为更适合人或计算机分析处理的形式。
图像增强技术根据增强处理时所处的空间不同,基本可以分为两类:空间域法和频域法。空间域可以简单地理解为包含图像像素的空间,空间域法是指空间域中,也就是图像本身,直接对图像进行各种线性或非线性运算,对图像的像素灰度值做增强处理。空间域法又分为点运算和模板处理两大类。点运算是作用于单个像素邻域的处理方法,包括图像灰度变换、直方图修正、伪彩色增强技术;模板处理是作用于像素领域的处理方法,包括图像平滑、图像锐化等技术。频域法则是在图像的变换域中把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强。对其进行基于二维傅里叶变换的信号增强。常用的方法包括低通滤波、高通滤波以及同态滤波等,如图概括了常用的图像增强的方法:
下面介绍一些Halcon中常用的图像增强算子:
一、空间域
1、线性灰度变换:一般不改变像素点的坐标信息,只改变像素点的灰度值
主要使用算子:
- scale_image(Image : ImageScaled : Mult, Add : ) — 缩放图像的灰度值
原理:算子scale_image对输入的图像(Image)进行如下变换:
g ′ = g ∗ M u l t + A d d g' =g * Mult + Addg′=g∗Mult+Add
通过参数3、4来改变图像的像素灰度值,从而达到增强图像对比度的目的,注:参数3/4设为1,0,则图像灰度值未发生改变
目的:拉开图像的对比度,让图像中黑的地方更黑,亮的地方更亮。
应用:例如,将图像70灰度值以下全部置黑,将图像200灰度值以上全部置白,可通过列方程组求得scale_image()中参数3、4的值。
{ 70 ∗ M u l t + A d d = 0 200 ∗ M u l t + A d d = 255{70∗Mult+Add=0200∗Mult+Add=255{70∗����+���=0200∗����+���=255
{70∗Mult+Add=0200∗Mult+Add=255
效果:
read_image (Image, 'C:/Users/Administrator/Desktop/1.png') scale_image (Image, ImageScaled, 1.5, -150)
- emphasize(Image : ImageEmphasize : MaskWidth , MaskHeight, Factor : )
原理:首先,该过程使用低通(mean_image)进行过滤。由得到的灰度值(mean)和原始灰度值(orig)计算得到的灰度值(res)如下:
r e s = r o u n d ( ( o r i g − m e a n ) ∗ F a c t o r ) + o r i g res = round((orig - mean) * Factor) + origres=round((orig−mean)∗Factor)+orig
通过参数3、4控制均值滤波模板的大小,数值越大,则图像对比度越强,一般配合参数5—Factor(对比度强度)一起对图像进行增强处理。
作用:增强图像的高频区域(边缘和拐角),使图像看起来更清晰。
效果:
read_image (Image, 'C:/Users/Administrator/Desktop/1.png') emphasize (Image, ImageEmphasize, 7, 7, 1)