Taddeüs Kroes 14 лет назад
Родитель
Сommit
e1d45d1054
1 измененных файлов с 21 добавлено и 22 удалено
  1. 21 22
      src/GrayscaleImage.py

+ 21 - 22
src/GrayscaleImage.py

@@ -1,5 +1,4 @@
 from pylab import imshow, imread, show
-from scipy.misc import imresize
 from matplotlib.pyplot import hist
 from scipy.misc import imresize, imsave
 
@@ -8,21 +7,21 @@ class GrayscaleImage:
     def __init__(self, image_path = None, data = None):
         if image_path != None:
             self.data = imread(image_path)
-            
+
             extension = image_path.split('.',3)[-1]
-            
+
             if extension == "jpg":
               self.data = self.data[::-1]
-              
+
             self.convert_to_grayscale()
         elif data != None:
             self.data = data
-    
+
     def __iter__(self):
         self.__i_x = -1
         self.__i_y = 0
         return self
-            
+
     def next(self):
         self.__i_x += 1
         if self.__i_x  == self.width:
@@ -30,47 +29,47 @@ class GrayscaleImage:
             self.__i_y += 1
         if self.__i_y == self.height:
             raise StopIteration
-        
+
         return  self.__i_y, self.__i_x, self[self.__i_y, self.__i_x]
-            
+
     def __getitem__(self, position):
         return self.data[position]
-        
+
     def convert_to_grayscale(self):
         if len(self.data.shape) > 2:
           self.data = self.data[:,:,:3].sum(axis=2) / 3
-        
+
     def crop(self, rectangle):
-        self.data = self.data[rectangle.y : rectangle.y + rectangle.height, 
+        self.data = self.data[rectangle.y : rectangle.y + rectangle.height,
                               rectangle.x : rectangle.x + rectangle.width]
-                              
+
     def show(self):
         imshow(self.data, cmap="gray")
         show()
-    
+
     def make_histogram(self):
         return hist(self.data)
-        
+
     def resize(self, size): # size is of type float
         self.data = imresize(self.data, size)
-        
+
     def get_shape(self):
         return self.data.shape
-        
+
     shape = property(get_shape)
-    
+
     def get_width(self):
         return self.get_shape()[1]
-        
+
     width = property(get_width)
-        
+
     def get_height(self):
         return self.get_shape()[0]
-        
+
     height = property(get_height)
-        
+
     def in_bounds(self, y, x):
         return x >= 0 and x < self.width and y >= 0 and y < self.height
-        
+
     def save(self, path):
         imsave(path, self.data)