安装:
python 2.7
pythoncharm
anaconda2
课本中要求装PIL库,但是我操作了很多方法也没有装成功,一直提示我缺少安装工具tools,所以我询问助教后他帮我安装了anaconda2。
一.基本的图像操作和处理
原图片:
1.原图—灰度图
在教材的代码中修改图片路径
2.图像轮廓和直方图
图像轮廓线和图线等高线。在画图像轮廓前需要转换为灰度图像,因为轮廓需要获取每个坐标[x,y]位置的像素值。
3.借助numpy对图像进行灰度变换
在前面载入图像中,我们将图像用array()函数转为NumPy数组对象。数组就像列表一样,只不过它规定了数组中的所有元素必须是相同的类型。下面的例子用于说明图像数组表示,运行下面面代码,会给出下面结果:
4.灰度变换
在读入图像到NumPy数组后,就可以对它进行任何我们想要的操作:对图像进行灰度变换。
上面左边灰度变换函数采用的是f(x)=255-x,中间采用的是f(x)=(100/255)x+100,右边采用的是变换函数是f(x)=255(x/255)^2。运行上面代码,可以得到P009 Fig1-5中的结果:
5.调整图像尺寸
NumPy数组将成为我们对图像及数据进行处理的最主要工具,但是调整矩阵大小并没有一种简单的方法。我们可以用PIL图像对象转换写一个简单的图像尺寸调整函数:
上面定义的调整函数,在imtools.py中可以找到。
6.直方图均衡化
一个极其有用的例子是灰度变换后进行直方图均衡化。图像均衡化作为预处理操作,在归一化图像强度时是一个很好的方式,并且通过直方图均衡化可以增加图像对比度。下面是对图像直方图进行均衡化处理的例子:
这里修改了hist()的参数
hist()函数的参数
bins指bin(箱子)的个数,即每张图柱子的个数
figsize指每张图的尺寸大小
7.图像平均
对图像取平均是一种图像降噪的简单方法,经常用于产生艺术效果。假设所有的图像具有相同的尺寸,我们可以对图像相同位置的像素相加取平均,下面是一个演示对图像取平均的例子:
平均后图像
原图像
8.高斯模糊
一个经典的并且十分有用的图像卷积例子是对图像进行高斯模糊。高斯模糊可以用于定义图像尺度、计算兴趣点以及很多其他的应用场合。下面是对图像进行模糊:
上面第一幅图为待模糊图像,第二幅用高斯标准差为2进行模糊,第三幅用高斯标准差为5进行模糊,最后一幅用高斯标准差为10进行模糊。
来源:CSDN
作者:buaixvexi
链接:https://blog.csdn.net/buaixvexi/article/details/104449766