Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
from PIL.Image import open import numpy as np import matplotlib.pyplot as plt from scipy.misc import imread from scipy import ndimage f = open('school.png').convert('L') f = (np.asarray(f)).astype(np.double) n_rows, n_cols = f.shape lap = np.empty((n_rows, n_cols), dtype=np.double) # Kernel. h = np.array([[0,1,0], [1,-4,1], [0,1,0]]) for r in range(1, n_rows-1): for c in range(1, n_cols-1): lap[r,c] = np.sum(f[r-1:r+2,c-1:c+2]*h) lap = lap - np.min(lap) lap = 255*(lap/np.max(lap)) # Applying Laplacian. c = -1 simg = f + c*lap # Normaling pixels values to interval [0,1] simg = simg - np.min(simg) simg = 255*(simg/np.max(simg)) # Contrast stretch in interval [60,200]. r1,s1 = 60.0,0.0 r2,s2 = 200.0,255.0 mask1 = simg < r1 mask2 = np.logical_and(simg >= r1, simg <= r2) mask3 = (simg > r2) simg[mask1] = s1/r1 * simg[mask1] simg[mask2] = (s2-s1)/(r2-r1) * (simg[mask2]-r1) + s1 simg[mask3] = (255-s2)/(255-r2)*(simg[mask3]-r2) + s2 # Convert to a byte image (uint8). simg = simg.astype(np.uint8) # Original image. plt.subplot(131) plt.imshow(f, cmap = plt.cm.gray) plt.title('Original image') plt.axis('off') # Sharpenned image. plt.subplot(132) plt.imshow(simg, cmap = plt.cm.gray) plt.title('Sharpenned image') plt.axis('off') # Laplacian. plt.subplot(133) plt.imshow(lap, cmap = plt.cm.gray) #plt.colorbar() plt.title('Laplacian') plt.axis('off') plt.show()
Compartilhar