在第一章中,我们主要学习一些基本的图像与处理,例如图像的灰度图,直方图,直方图均衡化,高斯滤波。在完成这些操作之前,我们需要在VSCode中安装一些库,例如pillow,matplotlib,PCV,SciPy。这些库的安装在上一篇博客中已经讲述,因此不再赘述。

一、图像灰度图

PIL提供了通用的图像处理功能,以及大量有用的基本图像操作,比如图像缩放、剪裁、旋转、颜色转换等。利用PIL中的函数,我们可以从大多数图像格式的文件中读取数据,然后写入最常见的图像格式文件中。PIL中最重要的模块为Image,要读取一幅图像,可以使用:

python视力训练 python视觉处理_图像处理


图像的颜色转换可以使用convert()方法来实现。要读取一幅图像,并将其转换成灰度图像,只需要加上convert(‘L’),如以下:

python视力训练 python视觉处理_python视力训练_02


关于灰度图像的实验代码为:

python视力训练 python视觉处理_直方图_03


其运行结果为:

python视力训练 python视觉处理_python视力训练_04


二、图像轮廓和直方图

绘制图像的轮廓需要对每个坐标[x,y]的像素值施加同一个阈值,所以首先需要将图像灰度化,用PIL的convert()方法。

图像的直方图用来表征该图像像素值的分布情况,可以使用hist()函数绘制。

这个实验需要用到PIL和matplotlib库。

实验代码为:

python视力训练 python视觉处理_直方图均衡化_05


其运行结果为:

python视力训练 python视觉处理_直方图_06


三、直方图均衡化

直方图均衡化是指将一幅图像的灰度直方图变平,是变换后的图像中每个灰度值的分布概率都相同。

这个实验要用到pcv,但不能通过pip下载,需要下载压缩包。

其实验代码为:

python视力训练 python视觉处理_python视力训练_07

python视力训练 python视觉处理_python视力训练_08


其运行结果为:

python视力训练 python视觉处理_直方图均衡化_09


四、图像模糊与高斯滤波

高斯模糊通常是其它图像处理操作的一部分,比如图像插值操作、兴趣点计算以及很多其它应用。这个实验需要安装SciPy库。

其实验代码为:

python视力训练 python视觉处理_图像处理_10


其运行结果为:

python视力训练 python视觉处理_图像处理_11