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..439c888 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/refactoring-task-at-20.iml b/.idea/refactoring-task-at-20.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/.idea/refactoring-task-at-20.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..4f4547b 100644 --- a/filter.py +++ b/filter.py @@ -2,27 +2,33 @@ import numpy as np img = Image.open("img2.jpg") arr = np.array(img) +size = 10 +gradation = 50 a = len(arr) a1 = len(arr[1]) + + +def findMidValue(i, j, size): + global arr + matrix = arr[i:i + size, j:j + size, ::] + b = list(matrix.reshape(1, matrix.shape[0] * matrix.shape[1] * 3))[0] + b = list(map(lambda x: int(x)/3, b)) + s = int(sum(b)// size**2) + return s + + +def changeColour(i, j, size, gradation): + global arr + s = findMidValue(i, j, size) + arr[i:i + size, j:j + size, ::] = s + + i = 0 -while i < a - 11: +while i <= a - 1: 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 + while j <= a1 - 1: + changeColour(i, j, size, gradation) + j = j + size + i = i + size res = Image.fromarray(arr) res.save('res.jpg') diff --git a/res.jpg b/res.jpg index d8d97ff..d2488a8 100644 Binary files a/res.jpg and b/res.jpg differ