From a3123fa98a41b339e7d5b04da2fd6a98e926e2fd Mon Sep 17 00:00:00 2001 From: Ivan101002 <94450933+Ivan101002@users.noreply.github.com> Date: Tue, 16 Nov 2021 17:45:27 +0500 Subject: [PATCH 01/11] Update filter.py --- filter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/filter.py b/filter.py index 4150df2..2c013c7 100644 --- a/filter.py +++ b/filter.py @@ -14,7 +14,7 @@ n1 = arr[n][n1][0] n2 = arr[n][n1][1] n3 = arr[n][n1][2] - M = n1 + n2 + n3 + M = (n1 + n2 + n3) // 3 s += M s = int(s // 100) for n in range(i, i + 10): From 1d452d9e7218fe0e920b9fabf9e3a2dd661dac2e Mon Sep 17 00:00:00 2001 From: Ivan101002 <94450933+Ivan101002@users.noreply.github.com> Date: Tue, 23 Nov 2021 12:20:02 +0500 Subject: [PATCH 02/11] Update filter.py --- filter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/filter.py b/filter.py index 2c013c7..33fac3f 100644 --- a/filter.py +++ b/filter.py @@ -14,7 +14,7 @@ n1 = arr[n][n1][0] n2 = arr[n][n1][1] n3 = arr[n][n1][2] - M = (n1 + n2 + n3) // 3 + M = (n1 + n2 + n3) s += M s = int(s // 100) for n in range(i, i + 10): From 2b1626d07372c86e475375305c1e78a2e4d8b1c8 Mon Sep 17 00:00:00 2001 From: Ivan101002 <94450933+Ivan101002@users.noreply.github.com> Date: Tue, 23 Nov 2021 12:23:03 +0500 Subject: [PATCH 03/11] Update filter.py --- filter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/filter.py b/filter.py index 33fac3f..2c013c7 100644 --- a/filter.py +++ b/filter.py @@ -14,7 +14,7 @@ n1 = arr[n][n1][0] n2 = arr[n][n1][1] n3 = arr[n][n1][2] - M = (n1 + n2 + n3) + M = (n1 + n2 + n3) // 3 s += M s = int(s // 100) for n in range(i, i + 10): From ead07d3e757a6a64ace3e43ebc54d443a966fb5f Mon Sep 17 00:00:00 2001 From: Ivan101002 <94450933+Ivan101002@users.noreply.github.com> Date: Tue, 23 Nov 2021 13:03:01 +0500 Subject: [PATCH 04/11] Update filter.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Выполнен этап 1 --- filter.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/filter.py b/filter.py index 2c013c7..cb5519c 100644 --- a/filter.py +++ b/filter.py @@ -5,16 +5,16 @@ a = len(arr) a1 = len(arr[1]) i = 0 -while i < a - 11: +while i <= a - 10: j = 0 - while j < a1 - 11: + while j <= a1 - 10: 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) // 3 + red = arr[n][n1][0] + green = arr[n][n1][1] + blue = arr[n][n1][2] + M = (int(red) + int(green) + int(blue)) // 3 s += M s = int(s // 100) for n in range(i, i + 10): From a6ba779372b3754c04bc15c4f0b8588c28534838 Mon Sep 17 00:00:00 2001 From: Ivan101002 <94450933+Ivan101002@users.noreply.github.com> Date: Tue, 23 Nov 2021 14:01:58 +0500 Subject: [PATCH 05/11] Update filter.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Пункт 2: смена названий под PEP8; настройка шагов градаций серого --- filter.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/filter.py b/filter.py index cb5519c..14b4682 100644 --- a/filter.py +++ b/filter.py @@ -1,7 +1,12 @@ from PIL import Image import numpy as np + +def get_color () + img = Image.open("img2.jpg") arr = np.array(img) +STEPS = 50 +SIZE = 10 a = len(arr) a1 = len(arr[1]) i = 0 @@ -9,19 +14,19 @@ j = 0 while j <= a1 - 10: s = 0 - for n in range(i, i + 10): - for n1 in range(j, j + 10): - red = arr[n][n1][0] - green = arr[n][n1][1] - blue = arr[n][n1][2] + for x_axis in range(i, i + 10): + for y_axis in range(j, j + 10): + red = arr[x_axis][y_axis][0] + green = arr[x_axis][y_axis][1] + blue = arr[x_axis][y_axis][2] M = (int(red) + int(green) + int(blue)) // 3 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 + for y_axis in range(j, j + 10): + arr[x_axis][y_axis][0] = int(s // STEPS) * STEPS + arr[x_axis][y_axis][1] = int(s // STEPS) * STEPS + arr[x_axis][y_axis][2] = int(s // STEPS) * STEPS j = j + 10 i = i + 10 res = Image.fromarray(arr) From 8d501492be8929a12f9b9318ad55456cb766a094 Mon Sep 17 00:00:00 2001 From: Ivan101002 <94450933+Ivan101002@users.noreply.github.com> Date: Tue, 23 Nov 2021 14:06:43 +0500 Subject: [PATCH 06/11] Update filter.py --- filter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/filter.py b/filter.py index 14b4682..56f3815 100644 --- a/filter.py +++ b/filter.py @@ -22,7 +22,7 @@ def get_color () M = (int(red) + int(green) + int(blue)) // 3 s += M s = int(s // 100) - for n in range(i, i + 10): + for x_axis in range(i, i + 10): for y_axis in range(j, j + 10): arr[x_axis][y_axis][0] = int(s // STEPS) * STEPS arr[x_axis][y_axis][1] = int(s // STEPS) * STEPS From 69e5090b020cd3d79c235a376d23af66095aa62b Mon Sep 17 00:00:00 2001 From: Ivan101002 <94450933+Ivan101002@users.noreply.github.com> Date: Tue, 23 Nov 2021 14:33:43 +0500 Subject: [PATCH 07/11] =?UTF-8?q?=D0=AD=D1=82=D0=B0=D0=BF=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- filter.py | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/filter.py b/filter.py index 56f3815..3052c8b 100644 --- a/filter.py +++ b/filter.py @@ -1,12 +1,7 @@ from PIL import Image import numpy as np - -def get_color () - img = Image.open("img2.jpg") arr = np.array(img) -STEPS = 50 -SIZE = 10 a = len(arr) a1 = len(arr[1]) i = 0 @@ -14,19 +9,19 @@ def get_color () j = 0 while j <= a1 - 10: s = 0 - for x_axis in range(i, i + 10): - for y_axis in range(j, j + 10): - red = arr[x_axis][y_axis][0] - green = arr[x_axis][y_axis][1] - blue = arr[x_axis][y_axis][2] + for n in range(i, i + 10): + for n1 in range(j, j + 10): + red = arr[n][n1][0] + green = arr[n][n1][1] + blue = arr[n][n1][2] M = (int(red) + int(green) + int(blue)) // 3 s += M s = int(s // 100) for x_axis in range(i, i + 10): - for y_axis in range(j, j + 10): - arr[x_axis][y_axis][0] = int(s // STEPS) * STEPS - arr[x_axis][y_axis][1] = int(s // STEPS) * STEPS - arr[x_axis][y_axis][2] = int(s // STEPS) * STEPS + 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) From 5380d032cd5794f65a4e5f8c9e08602e00912dbf Mon Sep 17 00:00:00 2001 From: Ivan101002 <94450933+Ivan101002@users.noreply.github.com> Date: Tue, 23 Nov 2021 17:31:16 +0500 Subject: [PATCH 08/11] Update filter.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Метод вроде сделан --- filter.py | 56 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/filter.py b/filter.py index 3052c8b..f9aabbe 100644 --- a/filter.py +++ b/filter.py @@ -1,28 +1,44 @@ from PIL import Image import numpy as np + +def get_color (x, y, size_of_part, array): + shade = 0 + for i in range(x, x + size_of_part): + for j in range(y, y + size_of_part): + red = arr[i][j][0] + green = arr[i][j][1] + blue = arr[i][j][2] + col_pix = (int(red) + int(green) + int(blue)) + shade += col_pix + return shade + + img = Image.open("img2.jpg") arr = np.array(img) -a = len(arr) -a1 = len(arr[1]) +STEPS = 50 +SIZE = 10 +width = len(arr) +height = len(arr[1]) i = 0 -while i <= a - 10: +while i < width - SIZE - 1: j = 0 - while j <= a1 - 10: - s = 0 - for n in range(i, i + 10): - for n1 in range(j, j + 10): - red = arr[n][n1][0] - green = arr[n][n1][1] - blue = arr[n][n1][2] - M = (int(red) + int(green) + int(blue)) // 3 - s += M - s = int(s // 100) - for x_axis 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 < height - SIZE - 1: + shade = 0 + """for x_axis in range(i, i + SIZE): + for y_axis in range(j, j + SIZE): + red = arr[x_axis][y_axis][0] + green = arr[x_axis][y_axis][1] + blue = arr[x_axis][y_axis][2] + col_pix = (int(red) + int(green) + int(blue)) + shade += col_pix""" + shade = get_color(i, j, SIZE, arr) + shade = int(shade / 3 // SIZE ** 2) + for x_axis in range(i, i + SIZE): + for y_axis in range(j, j + SIZE): + arr[x_axis][y_axis][0] = int(s // STEPS) * STEPS + arr[x_axis][y_axis][1] = int(s // STEPS) * STEPS + arr[x_axis][y_axis][2] = int(s // STEPS) * STEPS + j = j + SIZE + i = i + SIZE res = Image.fromarray(arr) res.save('res.jpg') From 911cdd8a52c2f1426065ad17826c2003c4a4dfdb Mon Sep 17 00:00:00 2001 From: Ivan101002 <94450933+Ivan101002@users.noreply.github.com> Date: Tue, 23 Nov 2021 17:35:37 +0500 Subject: [PATCH 09/11] Update filter.py --- filter.py | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/filter.py b/filter.py index f9aabbe..aef9a30 100644 --- a/filter.py +++ b/filter.py @@ -23,16 +23,7 @@ def get_color (x, y, size_of_part, array): while i < width - SIZE - 1: j = 0 while j < height - SIZE - 1: - shade = 0 - """for x_axis in range(i, i + SIZE): - for y_axis in range(j, j + SIZE): - red = arr[x_axis][y_axis][0] - green = arr[x_axis][y_axis][1] - blue = arr[x_axis][y_axis][2] - col_pix = (int(red) + int(green) + int(blue)) - shade += col_pix""" - shade = get_color(i, j, SIZE, arr) - shade = int(shade / 3 // SIZE ** 2) + shade = int(get_color(i, j, SIZE, arr) / 3 // SIZE ** 2) for x_axis in range(i, i + SIZE): for y_axis in range(j, j + SIZE): arr[x_axis][y_axis][0] = int(s // STEPS) * STEPS From 6a672df91cfa32d9c9b5fec655090f7d95338d54 Mon Sep 17 00:00:00 2001 From: Ivan101002 <94450933+Ivan101002@users.noreply.github.com> Date: Tue, 23 Nov 2021 18:09:59 +0500 Subject: [PATCH 10/11] Update filter.py --- filter.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/filter.py b/filter.py index aef9a30..9fa53c1 100644 --- a/filter.py +++ b/filter.py @@ -5,14 +5,15 @@ def get_color (x, y, size_of_part, array): shade = 0 for i in range(x, x + size_of_part): for j in range(y, y + size_of_part): - red = arr[i][j][0] - green = arr[i][j][1] - blue = arr[i][j][2] + red = array[i][j][0] + green = array[i][j][1] + blue = array[i][j][2] col_pix = (int(red) + int(green) + int(blue)) shade += col_pix return shade - +#def redraw_mosaic(x, y, ) + img = Image.open("img2.jpg") arr = np.array(img) STEPS = 50 From 3b516066957f604e65ef0667e4b421ef967e7968 Mon Sep 17 00:00:00 2001 From: Ivan101002 <94450933+Ivan101002@users.noreply.github.com> Date: Tue, 23 Nov 2021 18:39:51 +0500 Subject: [PATCH 11/11] Update filter.py --- filter.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/filter.py b/filter.py index 9fa53c1..d28c94f 100644 --- a/filter.py +++ b/filter.py @@ -12,7 +12,8 @@ def get_color (x, y, size_of_part, array): shade += col_pix return shade -#def redraw_mosaic(x, y, ) +"""def redraw_mosaic(x, y, STEPS, size_of_part, array): + shade = int(get_color(i, j, SIZE, arr) / 3 // SIZE ** 2)""" img = Image.open("img2.jpg") arr = np.array(img) @@ -20,17 +21,13 @@ def get_color (x, y, size_of_part, array): SIZE = 10 width = len(arr) height = len(arr[1]) -i = 0 -while i < width - SIZE - 1: - j = 0 - while j < height - SIZE - 1: +for i in range (0, width - SIZE + 1, SIZE): + for j in range (0, height - SIZE + 1, SIZE) shade = int(get_color(i, j, SIZE, arr) / 3 // SIZE ** 2) for x_axis in range(i, i + SIZE): for y_axis in range(j, j + SIZE): - arr[x_axis][y_axis][0] = int(s // STEPS) * STEPS - arr[x_axis][y_axis][1] = int(s // STEPS) * STEPS - arr[x_axis][y_axis][2] = int(s // STEPS) * STEPS - j = j + SIZE - i = i + SIZE + arr[x_axis][y_axis][0] = int(shade // STEPS) * STEPS + arr[x_axis][y_axis][1] = int(shade // STEPS) * STEPS + arr[x_axis][y_axis][2] = int(shade // STEPS) * STEPS res = Image.fromarray(arr) res.save('res.jpg')