рд╣рдо рдЦреЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЙрдЯ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ "рдЕрдВрддрд░ рдЦреЛрдЬреЗрдВ"


рдмрд╣реБрдд рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдореИрдВ рдПрдХ рдЦреЗрд▓ рдореЗрдВ рдЖрдпрд╛ рдерд╛ рдЬреЛ рдореИрдВрдиреЗ рдХрдИ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЦреЗрд▓рд╛ рдерд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорддрднреЗрджреЛрдВ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдХрдИ рд▓реЛрдЧ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЕрдкрдиреА рдЖрдБрдЦреЗрдВ рддреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВред рдЖрдЬ рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд┐рд░ рд╕реЗ рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдХрд╣реВрдВ, рддреЛ рдореИрдВ 0 рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рдерд╛ред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рд╕рд╣рд╛рдпрдХ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд▓реЗрдЦ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдЧрд╛, рди рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛, рд▓реЗрдХрд┐рди рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдпред рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ рдЕрдЬрдЧрд░ 2.7 рдореЗрдВ рд╕рдм рдХреБрдЫ рд▓рд┐рдЦрд╛
рдкреАрдЖрдИрдПрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

from PIL import Image, ImageDraw 


рдЗрд╕рдХреЗ рдмрд╛рдж, рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдЖрдЧреЗ рдХреЗ рдХреЛрдб рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗред

 image1 = Image.open("1.jpg") 

рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдкрдиреА рдЬрд░реВрд░рдд рдХреА рдлрд╛рдЗрд▓ рдЦреЛрд▓рддреЗ рд╣реИрдВред

 pix1 = image1.load() 

рд╣рдо рдкрд┐рдХреНрд╕ 1 рдореЗрдВ рдкрд┐рдХреНрдЪрд░ рдХреЗ рд╕рднреА рдкрд┐рдХреНрд╕рд▓реНрд╕ рдХреЗ рд░рдВрдЧ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдЕрдм, рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рд╕рдордиреНрд╡рдп рд╕реЗ, рд╣рдо рдЗрд╕рдХрд╛ рд░рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 draw = ImageDraw.Draw(ANS) 

рдбреНрд░реЙрдЗрдВрдЧ рдЯреВрд▓ рдмрдирд╛рдПрдВред

 image1.size 

рдПрдХ рдЬреЛрдбрд╝реА рд▓реМрдЯрд╛рддрд╛ рд╣реИ (рдЪрд┐рддреНрд░ рдХреА рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ)ред

 draw.ellipse((x, y), (255, 255, 255)) 

рджрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдкрд░ рдПрдХ рд╕рдлреЗрдж рдмрд┐рдВрджреБ рдЦреАрдВрдЪрдирд╛ред

 ANS.save("ans.png", "PNG") 

рдкреАрдПрдирдЬреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрдЪрдд рдЫрд╡рд┐ред рдпрджрд┐ рдкреВрд░реНрдг рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред

 del draw 

рдбреНрд░реЙ рдЯреВрд▓ рдХреЛ рд╣рдЯрд╛рдирд╛ред

рдЪрд▓рд┐рдП рдореБрдЦреНрдп рдмрд╛рдд рдкрд░ рдЖрддреЗ рд╣реИрдВ ...

рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрд▓реЗрдВ рдЬрд┐рдирдХреА рд╣рдо рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
 from PIL import Image, ImageDraw image1 = Image.open("1.jpg") #  тДЦ 1 image2 = Image.open("2.jpg") #  тДЦ 2 ANS = Image.open("1.jpg") #  


рдЕрдм рдПрдХ рдмреНрд░рд╢ рдмрдирд╛рдПрдВ рдФрд░ рддрд╕реНрд╡реАрд░реЛрдВ рд╕реЗ рд╕рднреА рдкрд┐рдХреНрд╕реЗрд▓ рд░рдВрдЧ рдбреЗрдЯрд╛ рдЕрдирд▓реЛрдб рдХрд░реЗрдВред
 from PIL import Image, ImageDraw image1 = Image.open("1.jpg") #  тДЦ 1 image2 = Image.open("2.jpg") #  тДЦ 2 ANS = Image.open("1.jpg") #  draw = ImageDraw.Draw(ANS) pix1 = image1.load() pix2 = image2.load() 


рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЪреВрдВрдХрд┐ рд╡реЗ рдереЛрдбрд╝рд╛ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо рдЙрдирдореЗрдВ рд╕реЗ рдиреНрдпреВрдирддрдо рд▓реЗрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдЧреИрд░-рдореМрдЬреВрдж рдкрд┐рдХреНрд╕реЗрд▓ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рди рдХрд░реЗрдВред
 from PIL import Image, ImageDraw image1 = Image.open("1.jpg") #  тДЦ 1 image2 = Image.open("2.jpg") #  тДЦ 2 ANS = Image.open("1.jpg") #  draw = ImageDraw.Draw(ANS) pix1 = image1.load() pix2 = image2.load() width = min(image1.size[0], image2.size[0]) height = min(image1.size[1], image2.size[1]) 


рдпрд╣ рдЖрдЦрд┐рд░реА рд░рд╣рддрд╛ рд╣реИред рд╣рдо рдкрд┐рдХреНрд╕реЗрд▓ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЙрдирдХреЗ рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рдЕрдВрддрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
 from PIL import Image, ImageDraw image1 = Image.open("2_1.jpg") image2 = Image.open("2_2.jpg") ANS = Image.open("2_1.jpg") draw = ImageDraw.Draw(ANS) pix1 = image1.load() pix2 = image2.load() width = min(image1.size[0], image2.size[0]) height = min(image1.size[1], image2.size[1]) eps = 30 for i in range(width): for j in range(height): dx1 = pix1[i, j][0] - pix2[i, j][0] dx2 = pix1[i, j][1] - pix2[i, j][1] dx3 = pix1[i, j][2] - pix2[i, j][2] draw.point((i, j), (abs(dx1), abs(dx2), abs(dx3))) #        . ANS.save("ans.jpg", "JPEG") del draw 





















рдпрджрд┐ рдЖрдк рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВред

Source: https://habr.com/ru/post/In163565/


All Articles