Facebook
From Botched Leopard, 4 Years ago, written in Python.
Embed
Download Paste or View Raw
Hits: 248
  1. '''Tutaj sender bedzie przekazywal obrazy. Nastepnie beda wykonywane na nich algorytmy a nastepnie wynik zostanie przekazany do receivera'''
  2. import logging
  3. import numpy as np
  4. from PIL import Image
  5.  
  6.  
  7. class Channel:
  8.  
  9.     '''Inicjaliuje debug'''
  10.     def __init__(self):
  11.         logging.basicConfig(level=logging.DEBUG)
  12.         logging.debug("Channel created")
  13.         self.numpyImg = None
  14.         self.noisyImage = None
  15.  
  16.  
  17.     ''' Przekazuje obraz  receivera'''
  18.     def takeImage(self):
  19.         logging.debug("Przekazanie obrazka przez channel")
  20.         return self.noisyImage
  21.  
  22.     ''' Pobiera obraz z sendera'''
  23.     def receiveImage(self,npyImage):
  24.         logging.debug("Odebranie obrazka przez channel")
  25.         self.numpyImg=npyImage
  26.  
  27.  
  28.     '''Dodaje załucenia do obrazu który znajduje się w kanale'''
  29.     def addNoise(self):
  30.         logging.debug("Dudawanie zakłuceń")
  31.         row,col,ch= self.numpyImg.shape
  32.         mean = 0.0
  33.         var = 0.9
  34.         sigma = var**0.5
  35.         gauss = np.array(self.numpyImg.shape)
  36.         gauss = np.random.normal(mean,sigma,(row,col,ch))
  37.         gauss = gauss.reshape(row,col,ch)
  38.         noisy = self.numpyImg + gauss
  39.         self.noisyImage =  noisy.astype('uint8')
  40.  
  41.     def show(self):
  42.         logging.debug("Konwersja zaszlumionego obrazu do typu Image")
  43.         image = Image.fromarray(self.noisyImage)
  44.         logging.debug("Wyswietlenie obrazu w channelu")
  45.         image.show()
  46.    
  47.  
  48.