数字图像处理相关练习

一、前言

10.10数字图像处理作业,对一张图像进行以下操作:
1、 直方图均衡化
2、 用平滑滤波器(均值滤波和中值滤波)过滤图像
3、 用锐化滤波器(梯度算子和拉普拉斯算子)过滤图像

本次作业主要使用Python + OpenCV来实现。

二、 如何安装OpenCV

使用Python自带的pip工具进行下载,一般下载的Python都会绑定pip工具,用来自动拓展Python插件包。
 win+R打开程序之后输入cmd
 在控制台输入【pip install opencv-python】即可自动安装
 如果网速下载过慢,开vpn即可提速,因为资源点在国外所以访问很慢。

三、 直方图均衡化

  1. 简介
     直方图均衡化,是一种对对比度进行调整的图像处理方法。
     目的在于提高图像的全局对比度,使亮的地方更亮,暗的地方更暗。
     常被用于背景和前景都太亮或者太暗的图像,尤其是 X 光中骨骼的显示以及曝光过度或者曝光不足的图片的调整。
     实现原理,尽量将图片的灰度分布,均匀分布在整个0-255的灰度坐标轴上,使其尽可能的占满坐标轴。 在这里插入图片描述

  2. 核心代码
    在这里插入图片描述

  3. 效果图
    在这里插入图片描述

  4. 补充,彩色直方图均衡化
    原理和普通(灰度)直方图均衡化一样,是拉长当前红黄蓝三个色域至整个坐标轴。
    代码及示例图如下:
    在这里插入图片描述
    在这里插入图片描述

四、 平滑滤波器

平滑滤波的目的有两类:
 一类是模糊;
 另一类是消除噪音。
以下使用均值滤波和中值滤波两种方法来测试:

均值滤波

  1. 简介
     均值滤波法的思想是通过一点和邻域内像素点求平均来去除突变的像素点,从而滤掉一定噪声
     其优点是算法简单,计算速度快,其代价会造成图像在一定程度上的模糊。

  2. 核心代码
    在这里插入图片描述

  3. 效果图
    在这里插入图片描述

中值滤波

  1. 简介
     中值滤波属于非线性的的空间滤波器。
     它是将像素(中值计算中包括的原像素值)邻域内灰度的中值代替该像素的值。
     假设窗口内有五点,其值为80、90、200、110和120,那么此窗口内各点的中值则为110。
     中值滤波器的使用非常普遍,这是因为对于一定类型的随机噪声,它提供了优秀的去噪能力,比小尺寸的线性平滑滤波器(就是说均值滤波)的模糊程度明显要低。

  2. 核心代码
    在这里插入图片描述

  3. 效果图
    在这里插入图片描述

备注,下面的是均值滤波,上面的模糊程度更小。
在这里插入图片描述

五、 锐化滤波器

如果说平滑滤波器是用来模糊和去噪,那么锐化滤波器就完全相反,是用来突出图像细节的工具。类似于全能扫描王,手机扫描完图片之后往往要进行锐化处理,让蚊子变得更加清晰可见(但是这个app具体用的什么算法我不知道)。
锐化滤波器主要有两种锐化方法:
 使用一阶微分的图像锐化:梯度锐化
 使用二阶微分的图像锐化:拉普拉斯锐化

梯度算子

  1. 简介
    首先介绍下梯度,梯度并非是一个数值,梯度严格意义上是一个向量。
    梯度算子中,邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同。
    特点:锐化的边缘信息较强

  2. 核心代码
    在这里插入图片描述

  3. 效果图
    以下分别是原图、进行x坐标处理的图、Y坐标处理的图、和最终锐化图
    在这里插入图片描述

看起来边缘新的的锐化效果,确实很强,再看看拉普拉斯。

拉普拉斯算子

  1. 简介
    拉普拉斯算子,是二阶微分线性算子,与一阶微分相比,二阶微分的边缘定位能力更强,锐化效果更好。
    在这里插入图片描述

  2. 核心代码
    在这里插入图片描述

  3. 效果图
    在这里插入图片描述

 相比于梯度算子,有一定的抗干扰性,图像效果比较干净
 之所以像粉笔画,是因为原图像未经过去噪就直接处理了。
 可以先平滑滤波、高斯模糊来先处理一下再用拉普拉斯函数。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_30154571/article/details/109065550