рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдХрд╛рд░рдг рдХрд┐ рдЖрдкрдХрд╛ рдЪрд╛рд▓рд╛рдХ рдорд╢реАрди рд╡рд┐рдЬрд╝рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛: EXIF тАЛтАЛрдореЗрдВ рдУрд░рд┐рдПрдВрдЯреЗрд╢рди

рдореИрдВрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрд╝рди рдФрд░ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕, рдЬреИрд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд░рд┐рдХреЙрдЧреНрдирд┐рд╢рди рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдлреЗрд╕ рд░рд┐рдХрдЧреНрдирд┐рд╢рди рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рд▓рд┐рдЦрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдкрд╛рдпрдерди рдлреЗрд╕ рд░рд┐рдХрдЧреНрдирд┐рд╢рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рднреА рд╣реИ, рдЬрд┐рд╕рдиреЗ рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕реЗ рдЬреАрдердм рдкрд░ рд╢реАрд░реНрд╖ 10 рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛ рджрд┐рдпрд╛ ред рдЗрд╕ рд╕рдм рдиреЗ рдореБрдЭреЗ рдмрд╣реБрдд рд╕реЗ рдкреНрд░рд╢реНрди рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рд▓реЛрдЧреЛрдВ рдХреЛ рдкрд╛рдпрдерди рдФрд░ рдорд╢реАрди рд╡рд┐рдЬрди рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред



рдЕрдиреБрднрд╡ рд╕реЗ, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрдХрдиреАрдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдХреНрд╕рд░ рднреНрд░рдорд┐рдд рдХрд░рддреА рд╣реИред рдирд╣реАрдВ, рдпрд╣ рдПрдХ рдХрдард┐рди рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдкреНрд░рд╢реНрди рдпрд╛ рдорд╣рдВрдЧреЗ GPU рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд▓рдЧрднрдЧ рд╣рд░ рдХреЛрдИ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдШреБрдорд╛рдП рдЧрдП рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдЬрд╛рдирдиреЗ рдХреЗ рдмрд┐рдирд╛ред рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рддреЗ рд╣реИрдВ рдпрд╛ рдШреБрдорд╛рдП рдЧрдП рдЪрд┐рддреНрд░реЛрдВ рдореЗрдВ рдЪреЗрд╣рд░реЗ рдХреЛ рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВред

рдХреИрд╕реЗ рдбрд┐рдЬрд┐рдЯрд▓ рдХреИрдорд░реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдШреБрдорд╛рддреЗ рд╣реИрдВ


рдЬрдм рдЖрдк рдПрдХ рддрд╕реНрд╡реАрд░ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдХреИрдорд░рд╛ рдлреЛрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдПрдХ рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЪрд┐рддреНрд░ рдХреЛ рд╕рд╣реА рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:



рд▓реЗрдХрд┐рди рдХреИрдорд░рд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ рдкрд┐рдХреНрд╕реЗрд▓ рдбреЗрдЯрд╛ рдХреЛ рдШреБрдорд╛рддрд╛ рдирд╣реАрдВ рд╣реИред рдЪреВрдВрдХрд┐ рдбрд┐рдЬрд┐рдЯрд▓ рдХреИрдорд░реЛрдВ рдореЗрдВ рдЫрд╡рд┐ рд╕реЗрдВрд╕рд░ рд▓рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рдкрд┐рдХреНрд╕реЗрд▓ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдПрдХ рд╕рддрдд рд╕реНрдЯреНрд░реАрдо рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЗрди рд╕реЗ рдкрдврд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХреИрдорд░реЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдХреНрд░рдо рдореЗрдВ рдкрд┐рдХреНрд╕реЗрд▓ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ, рдлреЛрди рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ред



рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдЪрд┐рдВрддрд╛ рд╣реИ - рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рддрд╕реНрд╡реАрд░ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдШреБрдорд╛рдПрдВред рдЫрд╡рд┐ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╣реА, рдХреИрдорд░рд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ - рд▓реЗрдВрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рд╕реНрдерд╛рди рдбреЗрдЯрд╛ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХреИрдорд░реЗ рдХреЗ рд░реЛрдЯреЗрд╢рди рдХреЗ рдХреЛрдг рдХреЛ рднреА рдмрдЪрд╛рддрд╛ рд╣реИред рджрд░реНрд╢рдХ рдХреЛ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рдмрд╕реЗ рдЖрдо рдЫрд╡рд┐ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк рдХреЛ EXIF рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╡рд┐рдирд┐рдореЗрдп рдЫрд╡рд┐ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд╖рд┐рдкреНрдд)ред EXIF рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкреНрд░рддреНрдпреЗрдХ jpeg рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рд╣реИред рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕реНрдХреНрд░реАрди рдкрд░ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рдкрдврд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдХрд╣рд╛рдВ рджреЗрдЦрдирд╛ рд╣реИред

рдпрд╣рд╛рдВ рдПрдХреНрд╕рдлрд╝реЙрд▓ рдЯреВрд▓ рд╕реЗ рд╣рдорд╛рд░реЗ рд╣рдВрд╕ рдХреА JPEG рдЫрд╡рд┐ рдХреЗ рдЕрдВрджрд░ EXIF тАЛтАЛрдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╣реИ:



'рдУрд░рд┐рдПрдВрдЯреЗрд╢рди' рддрддреНрд╡ рджреЗрдЦреЗрдВ? рд╡рд╣ рджрд░реНрд╢рдХ рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рддрд╕реНрд╡реАрд░ рдХреЛ 90 рдбрд┐рдЧреНрд░реА рдкрд░ рджрдХреНрд╖рд┐рдгрд╛рд╡рд░реНрдд рдШреБрдорд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдРрд╕рд╛ рдХрд░рдирд╛ рднреВрд▓ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЫрд╡рд┐ рдЙрд╕рдХреА рддрд░рдл рд╣реЛрдЧреА!



рдпрд╣ рдкрд╛рдпрдерди рдореЗрдВ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рдорд╢реАрди рджреГрд╖реНрдЯрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдХреНрдпреЛрдВ рддреЛрдбрд╝рддрд╛ рд╣реИ?


EXIF рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдореВрд▓ рд░реВрдк рд╕реЗ JPEG рдлреЙрд░реНрдореЗрдЯ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рдерд╛ред TIFF рдкреНрд░рд╛рд░реВрдк рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдЙрдзрд╛рд░ рд▓реЗрддреЗ рд╣реБрдП, рдЙрдиреНрд╣реЗрдВ рдмрд╣реБрдд рдмрд╛рдж рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкрд╢реНрдЪрдЧрд╛рдореА рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ, рдФрд░ рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЗрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

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

рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдкрд╛рдпрдерди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдЫрд╡рд┐ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд░реЛрдЯреЗрд╢рди рдХреЗ рдмрд┐рдирд╛ рдореВрд▓ рдЫрд╡рд┐ рдбреЗрдЯрд╛ рдорд┐рд▓рддрд╛ рд╣реИред рдФрд░ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдПрдВ рдХрд┐ рдЬрдм рдЖрдк рдЕрдкрдиреЗ рдкрдХреНрд╖ рдореЗрдВ рдлреЛрдЯреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдЪреЗрд╣рд░рд╛ рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдореЙрдбрд▓ рдореЗрдВ рдЙрд▓реНрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ? рдбрд┐рдЯреЗрдХреНрдЯрд░ рдлрд╛рдпрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рдЦрд░рд╛рдм рдбреЗрдЯрд╛ рджрд┐рдпрд╛ рд╣реИред

рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╢реБрд░реБрдЖрддреА рдФрд░ рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рд╣реА рд╕рдорд╕реНрдпрд╛рдПрдБ рдЖрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ! рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ Google рдХреЗ рдкреНрд░рдореБрдЦ рд╡рд┐рдЬрд╝рди рдПрдкреАрдЖрдИ рдХрд╛ рдбреЗрдореЛ рд╕рдВрд╕реНрдХрд░рдг рднреА EXIF тАЛтАЛрдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд╣реАрдВ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ:


рдбреЗрдореЛ Google рд╡рд┐рдЬрд╝рди рдПрдкреАрдЖрдИ рдПрдХ рдорд╛рдирдХ рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рд╕реЗ рд▓реА рдЧрдИ рдкреЛрд░реНрдЯреНрд░реЗрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдЗрдореЗрдЬ рдХреЛ рдШреБрдорд╛рдирд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ

рд╣рд╛рд▓рд╛рдБрдХрд┐ Google рд╡рд┐рдЬрд╝рди рдХреБрдЫ рдЬрд╛рдирд╡рд░реЛрдВ рдХреЛ рдЕрдкрдиреА рддрд░рдл рд╕реЗ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд▓реЗрдмрд▓ "рдПрдирд┐рдорд▓" рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдорд╢реАрди рд╡рд┐рдЬрд╝рди рдореЙрдбрд▓ рдХреЛ рдПрдХ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╣рдВрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рд╣рдВрд╕ рдХреЛ рдкрд╣рдЪрд╛рдирдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдкрд░рд┐рдгрд╛рдо рд╣реИ, рдпрджрд┐ рдЖрдк рдореЙрдбрд▓ рдХреЛ рд╕рдмрдорд┐рдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЫрд╡рд┐ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдШреБрдорд╛рддреЗ рд╣реИрдВ:



рд╕рд╣реА рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде, Google рдкрдХреНрд╖рд┐рдпреЛрдВ рдХреЛ рдПрдХ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣рдВрд╕ рдХреЗ рдирд┐рд╢рд╛рди рдФрд░ рдПрдХ рдЙрдЪреНрдЪ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реВрдЪрдХ рдХреЗ рд╕рд╛рде рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИред рдмрд╣реБрдд рдмреЗрд╣рддрд░!

рдпрд╣ рдПрдХ рд╕реБрдкрд░ рд╕реНрдкрд╖реНрдЯ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрдм рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЫрд╡рд┐ рдЗрд╕ рддрд░рдл рд╣реИ , рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рдбреЗрдореЛ рдореЗрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдХрдкрдЯреА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рдЖрдорддреМрд░ рдкрд░ рдЖрдк рдЗрд╕реЗ рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ! рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕рднреА рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рдЫрд╡рд┐ рдХреЛ рд╕рд╣реА рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗ, рди рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбрд┐рд╕реНрдХ рдкрд░ рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬрдм рдЖрдк рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫрд╡рд┐ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдореЙрдбрд▓ рдХреНрдпреЛрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЖрдк рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдореЙрдбрд▓ рдХреНрдпреЛрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ!


рдореИрдХ рдкрд░ рдЦреЛрдЬрдХ рд╣рдореЗрд╢рд╛ EXIF тАЛтАЛрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдШреБрдорд╛рдП рдЧрдП рдлрд╝реЛрдЯреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рджреЗрдЦрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЫрд╡рд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рдХрд┐рдирд╛рд░реЗ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ

рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЬреАрдердм рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЦреБрд▓реЗ рдЯрд┐рдХрдЯреЛрдВ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ: рд▓реЛрдЧ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреВрдЯ рдЧрдП рд╣реИрдВ рдФрд░ рдореЙрдбрд▓ рдмрд╣реБрдд рд╕рдЯреАрдХ рдирд╣реАрдВ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ - рд╡реЗ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдХреЛ рдХреЗрд╡рд▓ рдШреБрдорд╛рдП рдЧрдП рдпрд╛ рдЙрд▓реНрдЯреЗ рдлреЛрдЯреЛ рдЦрд┐рд▓рд╛рддреЗ рд╣реИрдВ!

рд╕реБрдзрд╛рд░


рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реИ рдХрд┐ рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкрд╛рдпрдерди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ EXIF тАЛтАЛрдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдШреБрдорд╛рдПрдВред рдпрд╣ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХреЛрдб рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдЦреЛрдЬрдирд╛ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдХрдард┐рди рд╣реИ рдЬреЛ рдЗрд╕реЗ рд╕рднреА рдЭреБрдХрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣рд╛рдВ рдХрд┐рд╕реА рднреА рдЫрд╡рд┐ рдХреЛ рд╕рд╣реА рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИ:

import PIL.Image import PIL.ImageOps import numpy as np def exif_transpose(img): if not img: return img exif_orientation_tag = 274 # Check for EXIF data (only present on some files) if hasattr(img, "_getexif") and isinstance(img._getexif(), dict) and exif_orientation_tag in img._getexif(): exif_data = img._getexif() orientation = exif_data[exif_orientation_tag] # Handle EXIF Orientation if orientation == 1: # Normal image - nothing to do! pass elif orientation == 2: # Mirrored left to right img = img.transpose(PIL.Image.FLIP_LEFT_RIGHT) elif orientation == 3: # Rotated 180 degrees img = img.rotate(180) elif orientation == 4: # Mirrored top to bottom img = img.rotate(180).transpose(PIL.Image.FLIP_LEFT_RIGHT) elif orientation == 5: # Mirrored along top-left diagonal img = img.rotate(-90, expand=True).transpose(PIL.Image.FLIP_LEFT_RIGHT) elif orientation == 6: # Rotated 90 degrees img = img.rotate(-90, expand=True) elif orientation == 7: # Mirrored along top-right diagonal img = img.rotate(90, expand=True).transpose(PIL.Image.FLIP_LEFT_RIGHT) elif orientation == 8: # Rotated 270 degrees img = img.rotate(90, expand=True) return img def load_image_file(file, mode='RGB'): # Load the image with PIL img = PIL.Image.open(file) if hasattr(PIL.ImageOps, 'exif_transpose'): # Very recent versions of PIL can do exit transpose internally img = PIL.ImageOps.exif_transpose(img) else: # Otherwise, do the exif transpose ourselves img = exif_transpose(img) img = img.convert(mode) return np.array(img) 

рдпрд╣рд╛рдВ рд╕реЗ, рдЖрдк рдХрд┐рд╕реА рднреА рдорд╛рдирдХ рдкрд╛рдпрдерди рдорд╢реАрди рд╡рд┐рдЬрд╝рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЫрд╡рд┐ рдбреЗрдЯрд╛ рдХреА рдПрдХ рд╕рд░рдгреА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЗрдирдкреБрдЯ рд╕рд░рдгреА рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЗрд░рд╕ рдпрд╛ рдЯреЗрдиреНрд╕рд░рдлреНрд▓реЛред

рдЪреВрдВрдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╕рд░реНрд╡рд╡реНрдпрд╛рдкреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ image_to_numpy рдирд╛рдордХ рдкрд╛рдЗрдк рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ред рдЖрдк рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  pip3 рд╕реНрдерд╛рдкрд┐рдд image_to_numpy 

рдпрд╣ рдХрд┐рд╕реА рднреА рдкрд╛рдпрдерди рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЗрдореЗрдЬ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдареАрдХ рдХрд░рдирд╛:

 import matplotlib.pyplot as plt import image_to_numpy # Load your image file img = image_to_numpy.load_image_file("my_file.jpg") # Show it on the screen (or whatever you want to do) plt.imshow(img) plt.show() 

рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рд░реАрдбрдореА рдлрд╝рд╛рдЗрд▓ рджреЗрдЦреЗрдВред

рдЗрд╕рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВ!

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


All Articles