윤영준 윤영준 2023-07-12
data cleaning
@4346ed603c6a868f515d028e5d080aa5b7e48063
binary mask map test.py
--- binary mask map test.py
+++ binary mask map test.py
@@ -1,3 +1,4 @@
+import concurrent.futures
 import numpy as np
 import cv2
 import glob
@@ -11,7 +12,7 @@
 
     return shifted
 
-def binary_diff_mask(clean, dirty, thresold=0.2):
+def binary_diff_mask(clean, dirty, thresold=0.3):
     # this parts corrects gamma, and always remember, sRGB values are not in linear scale with lights intensity,
     clean = np.power(clean, 1/2.2)
     dirty = np.power(dirty, 1/2.2)
@@ -24,20 +25,25 @@
 
     return bin_diff
 
-clean = glob.glob("data/source/clean/*.png")
+clean = glob.glob("data/source/Oxford_raindrop_dataset/clean/*.png")
 clean = sorted(clean)
-dirty = glob.glob("data/source/dirty/*.png")
+dirty = glob.glob("data/source/Oxford_raindrop_dataset/dirty/*.png")
 dirty = sorted(dirty)
 
-clean_img = cv2.imread(clean[0])
-dirty_img = cv2.imread(dirty[0])
+clean_img = cv2.imread(clean[34])
+dirty_img = cv2.imread(dirty[34])
 
 binary_diff_mask_img = binary_diff_mask(dirty_img/255, clean_img/255, thresold=0.05)
 
-k = 40
+k = 20
 
-for i in range(k*2):
+def process(i, j):
     print(i)
-    clean_img_copy = shift_img(clean_img, (i-k)/4, 0)
-    binary_diff_mask_img = binary_diff_mask(dirty_img / 255, clean_img_copy / 255, thresold=0.2)
-    cv2.imwrite(f"test/test_img{(i-k)/4}.png", binary_diff_mask_img*255)
+    clean_img_copy = shift_img(clean_img, (i-k)/4, (j-k)/4)
+    binary_diff_mask_img = binary_diff_mask(dirty_img / 255, clean_img_copy / 255, threshold=0.2)
+    cv2.imwrite(f"test/test_img{(i-k)/4}-{(j-k)/4}.png", binary_diff_mask_img*255)
+
+with concurrent.futures.ProcessPoolExecutor() as executor:
+    for i in range(k*2):
+        for j in range(k*2):
+            executor.submit(process, i, j)
Add a comment
List