-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
31 lines (22 loc) · 844 Bytes
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from medianfilter import median_filter
from medianfilter_improved import median_filter_improved
from divide import divide_x
from merger import merge_parts
import os
import cv2
import concurrent.futures
def main():
part_number = os.cpu_count() + 1
img = cv2.imread('testimages/salttest.jpg', cv2.IMREAD_GRAYSCALE)
parts = divide_x(img, part_number)
new_parts = []
with concurrent.futures.ProcessPoolExecutor() as executor:
results = [executor.submit(median_filter_improved, part, 3, copy_border=1) for part in parts]
for f in concurrent.futures.as_completed(results):
new_parts.append(f.result())
whole = merge_parts(new_parts)
cv2.imshow("whole", whole)
cv2.waitKey(0)
cv2.destroyAllWindows()
if __name__ == "__main__":
main()