cv图像预处理——逐像素变换

cv图像预处理——逐像素变换

标签:计算机视觉


逐像素变换

对图像中的每个像素逐个进行处理。

  • 白化(类似于标准化)

白化的目的是要为图像的平均亮度水平和对比度提供波动的恒定性。其中每个像素进行如下转换:
p i j − μ σ \frac{p_{ij}-\mu}{\sigma} σpijμ
对于 彩 色 图 像 \color{red}{彩色图像} ,需要对每个通道分别计算 μ \mu μ σ \sigma σ进行计算

  • 直方图均衡化

直方图均衡化(Histogram Equalization)是一种增强图像对比度(ImageContrast)的方法,其主要思想是将一副图像的直方图分布(分布比较集中)变成近似均匀分布(分布比较均匀),从而增强图像的对比度。例如:

cv图像预处理——逐像素变换_第1张图片
原图
cv图像预处理——逐像素变换_第2张图片
原图直方图
cv图像预处理——逐像素变换_第3张图片
处理后的图
cv图像预处理——逐像素变换_第4张图片
处理后的直方图
  • 线性滤波

在对一幅图像进行滤波之后,新的像素值 x i j x_{ij} xij由原始图像P周围区域的像素亮度值的权值和所构成。权值存储于一个滤波器内核F
下面是引用的一位博主总结好的图:

  • 局部二值模式

首先,我们考虑一幅图像上的一个像素点,以及该像素点的八邻域。如下图(左)所示,我们考虑九宫格内的中心像素点,假设为“6”。周围像素点的数值如图上所示。这时,我们将八邻域中,数值大于等于中心像素点的记为“1”,数值小于中心像素点的记为“0”。这时,我们得到下图(右)。这就是基本的局部二值模式(Local Binary Patterns)。之所以叫作“二值”,是因为LBP之后的模式只有0和1两个数值(同理,可以定义三值模式)。

cv图像预处理——逐像素变换_第5张图片

细心的人可能会发现,其实LBP操作相当于:以中心点灰度值做参考,进行局部二值化处理。这时,我们定义左边中心像素为起始点,逆时针方向为正方向,然后按顺序数LBP的输出值,便会得到一个LBP编码。这样,我们就称中心像素点的LBP值为11110001。同样,我们对一幅图像的所有像素点进行LBP处理,每个像素点都有一个LBP值,这个值在十进制下介于0到255之间。这样得到的图像称为LBP特征图。
后来还研究了一些改进的LBP操作,在这就不做过多叙述,有需要可以查看下面链接:
https://blog.csdn.net/ws_20100/article/details/48914071

你可能感兴趣的:(计算机视觉,opencv,算法)