[Python]图像处理——平滑处理
发布时间
阅读量:
阅读量
平滑处理,利用N x N (例如3x3)矩阵对原图像的矩阵进行遍历,计算获取数值,生成新的矩阵图像。
编写程序如下:
#平滑处理 programmed by changhao
from PIL import Image
import matplotlib.pyplot as plt # plt 用于显示图片
import numpy as np
im = Image.open('picture1.png') #读取图片
#im.show()
im = im.convert('L')#convert转化mode,此处转化为灰度图
data = np.array(im)
[m,n]=data.shape
#建立等大小空矩阵
new_data = np.zeros((m,n))
#平滑处理操作
for i in range(1,m-1):
for j in range(1,n-1):
for x in range(-1,2):
for y in range(-1,2):
new_data[i,j] = (data[i+x,j+y])/9 + new_data[i,j]
new_im = Image.fromarray(new_data) #data矩阵转化为二维图片
if new_im.mode == 'F':
new_im = new_im.convert('RGB')
new_im.save('new_im.png') #保存PIL图片
#画图展示
plt.subplot(1,2,1)
plt.imshow(im,cmap='gray')
plt.axis('off') # 不显示坐标轴
plt.show()
plt.subplot(1,2,2)
plt.imshow(new_im,cmap='gray')
plt.axis('off') # 不显示坐标轴
plt.show()
javascript

全部评论 (0)
还没有任何评论哟~
