diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..d56657a --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..d1f0129 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/refactoring-task-at-18.iml b/.idea/refactoring-task-at-18.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/.idea/refactoring-task-at-18.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/filter.py b/filter.py index 4150df2..8fc15a9 100644 --- a/filter.py +++ b/filter.py @@ -1,28 +1,25 @@ from PIL import Image import numpy as np -img = Image.open("img2.jpg") -arr = np.array(img) -a = len(arr) -a1 = len(arr[1]) -i = 0 -while i < a - 11: - j = 0 - while j < a1 - 11: - s = 0 - for n in range(i, i + 10): - for n1 in range(j, j + 10): - n1 = arr[n][n1][0] - n2 = arr[n][n1][1] - n3 = arr[n][n1][2] - M = n1 + n2 + n3 - s += M - s = int(s // 100) - for n in range(i, i + 10): - for n1 in range(j, j + 10): - arr[n][n1][0] = int(s // 50) * 50 - arr[n][n1][1] = int(s // 50) * 50 - arr[n][n1][2] = int(s // 50) * 50 - j = j + 10 - i = i + 10 -res = Image.fromarray(arr) -res.save('res.jpg') + +def Create_color (img_list, i, j, gray_sum, area, step): + for x in range(i, i + area): + for y in range(j, j + area): + for z in range (3): + img_list[x][y][z] = int(gray_sum // step) * step + +def Create_IMG(img, out, area, step): + img_list = np.array(Image.open(img)) + pixels_count = len(img_list) + width = len(img_list[1]) + i = 0 + while i < pixels_count - 9: + j = 0 + while j < width - 9: + section = img_list[i: area + i, j: area + j] + gray_sum = int(np.sum(section) // (area**2)) / 3 + Create_color(img_list, i, j, gray_sum, area, step) + j += 10 + i += 10 + Image.fromarray(img_list).save(out) + +Create_IMG(input("name:"), input("out_name:"), int(input("area:")), int(input("step:"))) \ No newline at end of file