准备 导入库
from numpy import *
from scipy.ndimage import filters
from PIL import Image
from pylab import *
from PCV.tools import imtools
一 读入图片
pil_im = Image.open('C:/Users/Administrator/02.jpg')
gray()
subplot(121)
title(u'原图',fontproperties=font)
axis('off')
imshow(pil_im)
pil_im = Image.open('C:/Users/Administrator/02.jpg').convert('L')
subplot(122)
title(u'灰度图',fontproperties=font)
axis('off')
imshow(pil_im)
show()
得到图片
二 图片轮廓图与直方图
im = array(Image.open('C:/Users/Administrator/02.jpg').convert('L')) # 打开图像,并转成灰度图像
figure()
subplot(121)
gray()
contour(im, origin='image')
axis('equal')
axis('off')
title(u'图像轮廓', fontproperties=font)
subplot(122)
hist(im.flatten(), 128)
title(u'图像直方图', fontproperties=font)
plt.xlim([0,260])
plt.ylim([0,11000])
得到图片
三 直方图均衡化
im = array(Image.open('C:/Users/Administrator/02.jpg').convert('L')) # 打开图像,并转成灰度图像
im2, cdf = imtools.histeq(im)
figure()
subplot(2, 2, 1)
axis('off')
gray()
title(u'原始图像', fontproperties=font)
imshow(im)
subplot(2, 2, 2)
axis('off')
title(u'直方图均衡化后的图像', fontproperties=font)
imshow(im2)
subplot(2, 2, 3)
axis('off')
title(u'原始直方图', fontproperties=font)
#hist(im.flatten(), 128, cumulative=True, normed=True)
hist(im.flatten(), 128 )
subplot(2, 2, 4)
axis('off')
title(u'均衡化后的直方图', fontproperties=font)
#hist(im2.flatten(), 128, cumulative=True, normed=True)
hist(im2.flatten(), 128,)
show()
得到图片
四 图像模糊处理
if __name__=='__main__':
im = array(Image.open('C:/Users/Administrator/02.jpg').convert('L'))
gray()
subplot(1,4,1)
axis('off')
title('Original Image')
imshow(im)
for bi, blur in enumerate([3, 7, 15]):
im2 = zeros(im.shape)
im2 = filters.gaussian_filter(im, blur)
im2 = np.uint8(im2)
imNum = str(blur)
subplot(1, 4, 2 + bi)
axis('off')
title('GaussVar = ' + imNum)
imshow(im2)
show()
```
得到结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210707120328954.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNjYwOTg0,size_16,color_FFFFFF,t_70#pic_center)