# -*- coding:utf-8 -*-
'''
Created on 2017年8月4日
@author: fengj
'''
import numpy as np
from PIL import Image, ImageFilter
import math
imageWidth=151#图片宽度
imageHeight=112#图片高度
#每个点用他旁边的8个点及自己综合平均
def getPixel(image,x,y):
nearDots = image.getpixel((x,y))+image.getpixel((x - 1,y - 1))+image.getpixel((x - 1,y))+image.getpixel((x - 1,y + 1))
+image.getpixel((x,y - 1))+image.getpixel((x,y + 1))+image.getpixel((x + 1,y - 1))+image.getpixel((x + 1,y))
+image.getpixel((x + 1,y + 1))
return nearDots/8
# 降噪
# Z: Integer 降噪次数
def clearNoise(image,Z,data):
for i in range(Z):
for x in range(1,image.size[0] - 1):
for y in range(1,image.size[1] - 1):
data[y-1,x-1] = getPixel(image,x,y) #图像的宽是矩阵的列数
# 旋转图像
#angle 旋转角度,可以为负数
def imageRotate(angle):
im=im.rotate(angle)
im.show()
'''图片缩小和保存'''
def ImageSave(im):
# 获得图像尺寸:
w, h = im.size
print('Original image size: %sx%s' % (w, h))
# 缩放到50%:
im.thumbnail((w//2, h//2))
print('Resize image to: %sx%s' % (w//2, h//2))
# 把缩放后的图像用jpeg格式保存:
im.save('thumbnail.jpg', 'jpeg')
im.show()
'''#膨胀处理'''
def swell():
newdata=data.copy()#不能用newdata=data,那样相当于指针
for i in range(data.shape[0]-1):#shape相当于MATLAB中的size
for j in range(data.shape[1]-1):#1表示抛弃边缘
if(i==0 or j==0):
continue
for n in range(3):#3表示膨胀系数
if(d