Advertisement
Xlorddx

Untitled

Aug 16th, 2018
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.95 KB | None | 0 0
  1. import random
  2. from PIL import Image
  3. photo = input('Введите путь: ')
  4.  
  5. def one():
  6.     img = Image.open(photo)
  7.     pixels = img.load()
  8.     maxLoad = img.width * img.height
  9.     onePer = maxLoad / 100
  10.     k = 0
  11.     for i in range(img.width):
  12.         for j in range(img.height):
  13.             if(i*j>k*10*onePer):
  14.                 print("Обработано", k*10, "%" )
  15.                 k+=1
  16.             r, g, b = pixels[i, j]
  17.             S = (r + g + b) // 3
  18.             pixels[i, j] = (S, S, S)
  19.        
  20.     img.show()
  21.     img.save('Flash-back.jpg')
  22. def two():
  23.     img = Image.open(photo)
  24.     pixels = img.load()
  25.     maxLoad = img.width * img.height
  26.     onePer = maxLoad / 100
  27.     k = 0
  28.     factor = random.randint(0,100)
  29.     for i in range(img.width):
  30.         for j in range(img.height):
  31.             if(i*j>k*10*onePer):
  32.                 print("Обработано", k*10, "%" )
  33.                 k+=1
  34.             rand = random.randint(-factor, factor)
  35.             r = pixels[i, j][0] + rand
  36.             g = pixels[i, j][1] + rand
  37.             b = pixels[i, j][2] + rand
  38.             a = (r + g + b) // 3
  39.             if (a > 127):
  40.                 r = 255
  41.                 g = 255
  42.                 b = 255
  43.             else:
  44.                 r = 0
  45.                 g = 0
  46.                 b = 0
  47.             pixels[i, j] = (r, g, b)
  48.     img.show()
  49.     img.save('Twocolors.jpg')
  50. def three():
  51.     img = Image.open(photo)
  52.     pixels = img.load()
  53.     maxLoad = img.width * img.height
  54.     onePer = maxLoad / 100
  55.     k = 0
  56.     factor = random.randint(0,100)
  57.     for i in range(img.width):
  58.         for j in range(img.height):
  59.             if(i*j>k*10*onePer):
  60.                 print("Обработано", k*10, "%" )
  61.                 k+=1
  62.             rand = random.randint(-factor, factor)
  63.             a = pixels[i, j][0] + rand
  64.             b = pixels[i, j][1] + rand
  65.             c = pixels[i, j][2] + rand
  66.             if (a < 0):
  67.                 a = 0
  68.             if (b < 0):
  69.                 b = 0
  70.             if (c < 0):
  71.                 c = 0
  72.             if (a > 255):
  73.                 a = 255
  74.             if (b > 255):
  75.                 b = 255
  76.             if (c > 255):
  77.                 c = 255
  78.             pixels[i, j] = (a, b, c)
  79.     img.show()
  80.     img.save("Noise.jpg")
  81. def four():
  82.     img = Image.open(photo)
  83.     pixels = img.load()
  84.     maxLoad = img.width * img.height
  85.     onePer = maxLoad / 100
  86.     k = 0
  87.     for i in range(img.width):
  88.         for j in range(img.height):
  89.             if(i*j>k*10*onePer):
  90.                 print("Обработано", k*10, "%" )
  91.                 k+=1
  92.             r = pixels[i, j][0]
  93.             g = pixels[i, j][1]
  94.             b = pixels[i, j][2]
  95.             if i <= img.width / 2 and j <= img.height / 2:
  96.                 pixels[i,j] = (r + 255, g, b)
  97.             if i <= img.width / 2 and j >= img.height / 2:
  98.                 pixels[i,j] = (r, g + 255,b)
  99.             if i >= img.width / 2 and j <= img.height / 2:
  100.                 pixels[i,j] = (r, g, b + 255)
  101.             if i >= img.width / 2 and j >= img.height / 2:
  102.                 pixels[i,j] = (r, g, b)
  103.         img.show()
  104.         img.save('InFourColors.jpg')
  105. def five():
  106.     img = Image.open(photo)
  107.     pixels = img.load()
  108.     maxLoad = img.width * img.height
  109.     onePer = maxLoad / 100
  110.     k = 0
  111.     for i in range(img.width):
  112.         for j in range(img.height):
  113.             if(i*j>k*10*onePer):
  114.                 print("Обработано", k*10, "%" )
  115.                 k+=1
  116.             r = pixels[i, j][0]
  117.             g = pixels[i, j][1]
  118.             b = pixels[i, j][2]
  119.             if j <= img.height / 2:
  120.                 pixels[i, j] = (r, g, b + 255)
  121.             if j >= img.height / 2:
  122.                 pixels[i, j] = (r + 255, g + 190, b)
  123.     img.show()
  124.     img.save('Украина це Европа.jpg')
  125. def six():
  126.     img = Image.open(photo)
  127.     pixels = img.load()
  128.     maxLoad = img.width * img.height
  129.     onePer = maxLoad / 100
  130.     k = 0
  131.     for i in range(img.width):
  132.         for j in range(img.height):
  133.             if(i*j>k*10*onePer):
  134.                 print("Обработано", k*10, "%" )
  135.                 k+=1
  136.             r = pixels[i, j][0]
  137.             g = pixels[i, j][1]
  138.             b = pixels[i, j][2]
  139.             pixels[i, j] = (r + 255, g + 140, b + 71)
  140.     img.show()
  141.     img.save('Tomato-man.jpg')
  142. def start():
  143.     print('Вы можете выбрать несколько фильтров: Серый Flash-back, Twocolors, Noise, InFourColors.')
  144.     print('1 - Серый Flash-back.')
  145.     print('2 - Twocolors.')
  146.     print('3 - Noise.')
  147.     print('4 - InFourColors.')
  148.     print('5 - Украина це Европа.')
  149.     print('6 - Tomato-man.')
  150.     action = input()
  151.     if action == '1':
  152.         one()
  153.     if action == '2':
  154.         two()
  155.     if action == '3':
  156.         three()
  157.     if action == '4':
  158.         four()
  159.     if action == '5':
  160.         five()
  161.     if action == '6':
  162.         six()
  163. start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement