开发环境为:win10+QT5.8+opencv3.2
图像增强的目的是采用某种技术手段,改善图像的视觉效果,或者将图像转换成更适合人眼观察和机器识别的形式。图像增强的基本方法主要有灰度变换、灰度均衡、伪彩色增强、平滑、锐化、滤波等。灰度变换、灰度均衡见QT+opencv学习笔记(1)——图像点运算,本文主要实现伪彩色增强、平滑、锐化和滤波。
一、读取图像
读取图像见QT+opencv学习笔记(1)——图像点运算,这里不再赘述。
读取结果如下图:
二、高斯平滑
高斯平滑是根据当前像素和邻域像素之间,空间距离的不同,计算得出一个高斯核 (邻域像素的加权系数),然后,高斯核从左至右、从上到下遍历输入图像,与输入图像的像素值求卷积和,得到输出图像的各个像素值。
邻域像素距离当前像素越远 (saptial space),则其相应的加权系数越小。
高斯平滑适用于处理随机噪声。图像高斯平滑可通过getRotationMatrix2D()函数来实现。getRotationMatrix2D()函数的定义如下:
void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX,
double sigmaY=0, int borderType=BORDER_DEFAULT )
参数主要含义如下:
src:输入图片,可以使是任意通道数,该函数对通道是独立处理的,但是深度只能是CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.
dst:输出图片,和输入图片相同大小和深度&#x