From 807f764071507f42169ee5d7fbc7004ee06b0de8 Mon Sep 17 00:00:00 2001 From: Nekot94 Date: Tue, 6 Sep 2016 13:41:46 +0300 Subject: [PATCH] Create limit_brightness.py --- .../limit_brightness.py" | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 "\320\243\321\200\320\276\320\272\320\270/1/\320\272\320\276\320\264/limit_brightness.py" diff --git "a/\320\243\321\200\320\276\320\272\320\270/1/\320\272\320\276\320\264/limit_brightness.py" "b/\320\243\321\200\320\276\320\272\320\270/1/\320\272\320\276\320\264/limit_brightness.py" new file mode 100644 index 0000000..cdd6546 --- /dev/null +++ "b/\320\243\321\200\320\276\320\272\320\270/1/\320\272\320\276\320\264/limit_brightness.py" @@ -0,0 +1,45 @@ +#Грубая иммитация фотошоп кривой +from PIL import Image +from random import randrange + +def constrain(val, min_val, max_val): + return min(max_val, max(min_val, val)) + + +im = Image.open("CFancy.jpg") +im2 = Image.open("CFancy.jpg") +pixels = im.load() +pixels2 = im2.load() +x, y = im.size + +bX, bY= [], [] + + +print("Введите колличество точек:") +n = int(input()) +for i in range(n): + bX.append(int(input("Точка {} яркость: ".format(i+1)))) + bY.append(int(input("Точка {} предел: ".format(i+1)))) + bY[i] = constrain(bY[i],0,255) + + + + +for i in range(x): + for j in range(y): + + r, g, b = pixels[i, j] + + br = round(0.3*r + 0.5*g + 0.11*b) + for k in range(n): + #меняем яркость пикселя если она ниже значения точки. Для последующих точек проверяем диапазоны + if (br < bY[k] and k == 0) or (br < max(bY[k],bY[k-1]) and br > min(bY[k],bY[k-1])): + r, g, b = r + bX[k], g + bX[k], b + bX[k] + r = constrain(r,0,255) + g = constrain(g,0,255) + b = constrain(b,0,255) + + pixels[i, j] = r, g, b + +im.save("CFancy2.jpg") +im.show()