Quellcode durchsuchen

add a file with an example of working with masks for images

Kugot Ekaterina vor 1 Jahr
Ursprung
Commit
42f1e0aefb
2 geänderte Dateien mit 26 neuen und 2 gelöschten Zeilen
  1. 24 0
      mask.py
  2. 2 2
      nominal.py

+ 24 - 0
mask.py

@@ -0,0 +1,24 @@
+import matplotlib.pyplot as plt
+import numpy as np
+from scipy.misc import face
+
+def convolve(image, mask):
+    ret = np.zeros_like(image).astype("f4")
+    for y in range(1, image.shape[0]-1):
+        for x in range(1, image.shape[1]-1):
+            ret[y, x] = (image[y-1:y+2, x-1:x+2] * mask).sum()
+    return ret[1:-1, 1:-1]
+
+image = face(gray=True)
+mask = [[-1, -1, -1], [2, 2, 2], [-1, -1, -1]]
+mask = [[-1, 2, -1], [-1, 2, -1], [-1, 2, -1]]
+#mask = np.ones((3, 3)) / 9
+# mask = np.zeros((3, 3))
+
+result = convolve(image, mask)
+
+plt.subplot(121)
+plt.imshow(image)
+plt.subplot(122)
+plt.imshow(result)
+plt.show()

+ 2 - 2
nominal.py

@@ -1,7 +1,7 @@
 # Nominal resolution
 
 for i in range(1, 7):
-    f = open(f"figure{i}.txt", "r")
+    f = open(f"images/figure{i}.txt", "r")
     size_obj = float(f.readline())
     f.readline()
 
@@ -28,7 +28,7 @@ for i in range(1, 7):
 
 x1, y1 = 0, 0
 for k in range(1, 3):   
-    with open(f"img{k}.txt") as f:
+    with open(f"images/img{k}.txt") as f:
         img = f.readlines()
         img.pop(0)
         img.pop(0)