直接上代码
import numpy as np
from matplotlib import pyplot as plt
import matplotlib.cm as cm
import scipy.misc
def read_image(name):
image = scipy.misc.imread(name,flatten=True)
image = scipy.misc.imresize(image,(60,60),'bilinear')
image = np.where(image > 150, 1, -1)
return image
def show_image(image):
image = np.where(image > 0, 255, 0)
plt.imshow(image,cmap=cm.gray)
plt.show()
def add_noise(image, noise_percent=0.10):
rows=image.shape[0]
cols=image.shape[1]
area=rows*cols
loc_flip=np.random.randint(0,area,int(area*noise_percent))
for ii in loc_flip:
locr=int(ii/cols)
locc=(ii%cols)
image[locr,locc]=-1*image[locr,locc]
return image
def ICM(noisy_image):