Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- from PIL import Image
- photo = input('Введите путь: ')
- def one():
- img = Image.open(photo)
- pixels = img.load()
- maxLoad = img.width * img.height
- onePer = maxLoad / 100
- k = 0
- for i in range(img.width):
- for j in range(img.height):
- if(i*j>k*10*onePer):
- print("Обработано", k*10, "%" )
- k+=1
- r, g, b = pixels[i, j]
- S = (r + g + b) // 3
- pixels[i, j] = (S, S, S)
- img.show()
- img.save('Flash-back.jpg')
- def two():
- img = Image.open(photo)
- pixels = img.load()
- maxLoad = img.width * img.height
- onePer = maxLoad / 100
- k = 0
- factor = random.randint(0,100)
- for i in range(img.width):
- for j in range(img.height):
- if(i*j>k*10*onePer):
- print("Обработано", k*10, "%" )
- k+=1
- rand = random.randint(-factor, factor)
- r = pixels[i, j][0] + rand
- g = pixels[i, j][1] + rand
- b = pixels[i, j][2] + rand
- a = (r + g + b) // 3
- if (a > 127):
- r = 255
- g = 255
- b = 255
- else:
- r = 0
- g = 0
- b = 0
- pixels[i, j] = (r, g, b)
- img.show()
- img.save('Twocolors.jpg')
- def three():
- img = Image.open(photo)
- pixels = img.load()
- maxLoad = img.width * img.height
- onePer = maxLoad / 100
- k = 0
- factor = random.randint(0,100)
- for i in range(img.width):
- for j in range(img.height):
- if(i*j>k*10*onePer):
- print("Обработано", k*10, "%" )
- k+=1
- rand = random.randint(-factor, factor)
- a = pixels[i, j][0] + rand
- b = pixels[i, j][1] + rand
- c = pixels[i, j][2] + rand
- if (a < 0):
- a = 0
- if (b < 0):
- b = 0
- if (c < 0):
- c = 0
- if (a > 255):
- a = 255
- if (b > 255):
- b = 255
- if (c > 255):
- c = 255
- pixels[i, j] = (a, b, c)
- img.show()
- img.save("Noise.jpg")
- def four():
- img = Image.open(photo)
- pixels = img.load()
- maxLoad = img.width * img.height
- onePer = maxLoad / 100
- k = 0
- for i in range(img.width):
- for j in range(img.height):
- if(i*j>k*10*onePer):
- print("Обработано", k*10, "%" )
- k+=1
- r = pixels[i, j][0]
- g = pixels[i, j][1]
- b = pixels[i, j][2]
- if i <= img.width / 2 and j <= img.height / 2:
- pixels[i,j] = (r + 255, g, b)
- if i <= img.width / 2 and j >= img.height / 2:
- pixels[i,j] = (r, g + 255,b)
- if i >= img.width / 2 and j <= img.height / 2:
- pixels[i,j] = (r, g, b + 255)
- if i >= img.width / 2 and j >= img.height / 2:
- pixels[i,j] = (r, g, b)
- img.show()
- img.save('InFourColors.jpg')
- def five():
- img = Image.open(photo)
- pixels = img.load()
- maxLoad = img.width * img.height
- onePer = maxLoad / 100
- k = 0
- for i in range(img.width):
- for j in range(img.height):
- if(i*j>k*10*onePer):
- print("Обработано", k*10, "%" )
- k+=1
- r = pixels[i, j][0]
- g = pixels[i, j][1]
- b = pixels[i, j][2]
- if j <= img.height / 2:
- pixels[i, j] = (r, g, b + 255)
- if j >= img.height / 2:
- pixels[i, j] = (r + 255, g + 190, b)
- img.show()
- img.save('Украина це Европа.jpg')
- def six():
- img = Image.open(photo)
- pixels = img.load()
- maxLoad = img.width * img.height
- onePer = maxLoad / 100
- k = 0
- for i in range(img.width):
- for j in range(img.height):
- if(i*j>k*10*onePer):
- print("Обработано", k*10, "%" )
- k+=1
- r = pixels[i, j][0]
- g = pixels[i, j][1]
- b = pixels[i, j][2]
- pixels[i, j] = (r + 255, g + 140, b + 71)
- img.show()
- img.save('Tomato-man.jpg')
- def start():
- print('Вы можете выбрать несколько фильтров: Серый Flash-back, Twocolors, Noise, InFourColors.')
- print('1 - Серый Flash-back.')
- print('2 - Twocolors.')
- print('3 - Noise.')
- print('4 - InFourColors.')
- print('5 - Украина це Европа.')
- print('6 - Tomato-man.')
- action = input()
- if action == '1':
- one()
- if action == '2':
- two()
- if action == '3':
- three()
- if action == '4':
- four()
- if action == '5':
- five()
- if action == '6':
- six()
- start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement