рдореЛрдЬрд╝реЗрдХ рдЪрд┐рддреНрд░ рдмрдирд╛рдирд╛

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдиреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдРрд╕реА рддрд╕реНрд╡реАрд░реЗрдВ рдмрд╛рд░-рдмрд╛рд░ рджреЗрдЦреА рд╣реИрдВ:

рдЫрд╡рд┐

рдореИрдВрдиреЗ рдРрд╕реА рдЫрд╡рд┐рдпрд╛рдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╣рд┐рд╕реНрд╕рд╛


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

рдЗрд╕рд╕реЗ рдпрд╣ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдореЗрдВ рдХрд┐рд╕ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд╖реЗрддреНрд░ рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдмреЗрд╢рдХ, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЖрджрд░реНрд╢ рдЯрд╛рдЗрд▓рд┐рдВрдЧ рдПрдХ рд╣реА рдХреНрд╖реЗрддреНрд░ рд╣реЛрдЧрд╛ред рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЖрдХрд╛рд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдмрд╛рд░рдЧреБрдирд╛рдореАрд╕рдВрдЦреНрдпрд╛ (рдпрд╣рд╛рдБ, рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓ рддреАрди рд╕рдВрдЦреНрдпрд╛рдУрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ - рдЗрд╕рдХреЗ R, G рдФрд░ B рдШрдЯрдХ)ред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖реЗрддреНрд░ рдХреЛ рддреНрд░рд┐-рдЖрдпрд╛рдореА рдЯреЗрдВрд╕рд░ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдм рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдПрдХ рдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рде рдЯрд╛рдЗрд▓рд┐рдВрдЧ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╢рд░реНрддреЗ рдХрд┐ рдЙрдирдХреЗ рдЖрдХрд╛рд░ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдиреБрдХрд╕рд╛рди рдлрд╝рдВрдХреНрд╢рди рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ, рд╣рдо рджреЛ рдЯреЗрдирд░реНрд╕ рдХреЗ MSE рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


рдпрд╣рд╛рдВ рдПрди- рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдВрдХреЗрддреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрд╛рд░рдЧреБрдирд╛рдореАред

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

рдореИрдВ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╛рдзрд╛рди рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ: рд╣рдо рдереЛрдбрд╝реА рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдмрд▓рд┐рджрд╛рди рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЕрдм рд╣рдо рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЫрд╡рд┐ рдХреЛ рдХреЗрд╡рд▓ 3 рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВрдЧреЗ: рдЫрд╡рд┐ рдореЗрдВ рдФрд╕рдд рдЖрд░рдЬреАрдмреАред рдмреЗрд╢рдХ, рдЗрд╕рд╕реЗ рдХрдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рд╣реЛрддреА рд╣реИрдВ: рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЕрдм рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЖрджрд░реНрд╢ рдЯрд╛рдЗрд▓рд┐рдВрдЧ рди рдХреЗрд╡рд▓ рд╕реНрд╡рдпрдВ рд╣реИ, рдмрд▓реНрдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЙрд▓реНрдЯрд╛ рднреА рд╣реИ (рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рдЯрд╛рдЗрд▓рд┐рдВрдЧ рдкрд╣рд▓реЗ рд╕реЗ рднреА рдмрджрддрд░ рд╣реИ), рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдФрд╕рдд рд░рдВрдЧ рдХреА рдЧрдгрдирд╛ рдХреЗ рдмрд╛рдж, рд╣рдо рд╣рдо рдРрд╕реЗ R, G рдФрд░ B рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЫрд╡рд┐ рдореЗрдВ рдРрд╕реЗ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд┐рдХреНрд╕реЗрд▓ рднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ (рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрд╣ рдХрд╣рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рдЖрдВрдЦ рдЫрд╡рд┐ рдХреЛ рдЕрдкрдиреЗ рд╕рднреА рд░рдВрдЧреЛрдВ рдХреЗ рдорд┐рд╢реНрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддреА рд╣реИ)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдирд╣реАрдВ рдЖрдпрд╛ред

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

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

рдорд┐рдирдЯ

рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдбреЗрдЯрд╛рд╕реЗрдЯ


рдЖрдк рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдЪрд┐рддреНрд░ рдбреЗрдЯрд╛рд╕реЗрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдФрд░ рдХреБрддреНрддреЛрдВ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рдПрдХ рдорд░реНрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рд▓рд┐рдЦрд╛ рдерд╛, рд╣рдо рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдФрд╕рдд рдЖрд░рдЬреАрдмреА рдореВрд▓реНрдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ:

import os import cv2 import numpy as np import pickle items = {} # cv2      BGR,   RGB,     for path in os.listdir('dogs_images_dataset'): #      ,    for file in os.listdir(os.path.join('dogs_images_dataset', path)): file1 = os.path.join('dogs_images_dataset', path + '/' + file) img = np.array(cv2.cvtColor(cv2.imread(file1), cv2.COLOR_BGR2RGB)) r = round(img[:, :, 0].mean()) g = round(img[:, :, 1].mean()) b = round(img[:, :, 2].mean()) items[file1] = (r, g, b,) for file in os.listdir('cats_images_dataset'): #      ,          file1 = os.path.join('cats_images_dataset', file) img = np.array(cv2.cvtColor(cv2.imread(file1), cv2.COLOR_BGR2RGB)) r = round(img[:, :, 0].mean()) g = round(img[:, :, 1].mean()) b = round(img[:, :, 2].mean()) items[file1] = (r, g, b,) with open('data.pickle', 'wb') as f: pickle.dump(items, f) 

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

рдореЛрдЬрд╝реЗрдХ рдмрдирд╛рдирд╛


рдЕрдВрдд рдореЗрдВ, рдЪрд▓реЛ рдореЛрдЬрд╝реЗрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдЖрдпрд╛рдд рд▓рд┐рдЦреЗрдВрдЧреЗ, рдФрд░ рдХрдИ рд╕реНрдерд┐рд░рд╛рдВрдХ рднреА рдШреЛрд╖рд┐рдд рдХрд░реЗрдВрдЧреЗ:

 import os import cv2 import pickle import numpy as np from math import sqrt PATH_TO_PICTURE = '' #       PICTURE = 'picture.png' #     VERTICAL_SECTION_SIZE = 7 #       HORIZONTAL_SECTION_SIZE = 7 #       

рд╣рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛ рдорд┐рд▓рддрд╛ рд╣реИ:

 with open('data.pickle', 'rb') as f: items = pickle.load(f) 

рд╣рдо рдиреБрдХрд╕рд╛рди рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ:

 def lost_function(r_segm, g_segm, b_segm, arg): r, g, b = arg[1] return sqrt((r - r_segm) ** 2 + (g - g_segm) ** 2 + (b - b_segm) ** 2) 

рдореВрд▓ рдЫрд╡рд┐ рдЦреЛрд▓реЗрдВ:

 file = os.path.join(PATH_TO_PICTURE, PICTURE) img = np.array(cv2.cvtColor(cv2.imread(file), cv2.COLOR_BGR2RGB)) size = img.shape x, y = size[0], size[1] 

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

 img = cv2.resize(img, (y - (y % VERTICAL_SECTION_SIZE), x - (x % HORIZONTAL_SECTION_SIZE))) size = img.shape x, y = size[0], size[1] 

рдЕрдм рд╣рдо рд╕реАрдзреЗ рдЯрд╛рдЗрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ:

 for i in range(x // HORIZONT AL_SECTION_SIZE): for j in range(y // VERTICAL_SECTION_SIZE): sect = img[i * HORIZONTAL_SECTION_SIZE:(i + 1) * HORIZONTAL_SECTION_SIZE, j * VERTICAL_SECTION_SIZE:(j + 1) * VERTICAL_SECTION_SIZE] r_mean, g_mean, b_mean = sect[:, :, 0].mean(), sect[:, :, 1].mean(), sect[:, :, 2].mean() 

рдпрд╣рд╛рдВ, рдкреНрд░рд╛рдпрджреНрд╡реАрдкреАрдп рд░реЗрдЦрд╛ рдореЗрдВ, рд╡рд╛рдВрдЫрд┐рдд рдЫрд╡рд┐ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЗрд╕рдХреЗ рдФрд╕рдд рдЖрд░рдЬреАрдмреА рдШрдЯрдХреЛрдВ рдХреЛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдм рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

 current = sorted(items.items(), key=lambda argument: lost_function(r_mean, g_mean, b_mean, argument))[0] 

рдпрд╣ рд▓рд╛рдЗрди рдЙрдирдХреЗ рд▓рд┐рдП рдиреБрдХрд╕рд╛рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рди рд╕реЗ рдЖрд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреА рд╕рднреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рддреА рд╣реИ рдФрд░ argmin рд╣реЛ рдЬрд╛рддреА рд╣реИред

рдЕрдм рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЫрд╡рд┐ рдХреЛ рдХреНрд░реЙрдк рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЙрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЙрд╕рдХреЗ рд╕рд╛рде рдмрджрд▓рдирд╛ рд╣реИ:

 resized = cv2.resize(cv2.cvtColor(cv2.imread(current[0]), cv2.COLOR_BGR2RGB), (VERTICAL_SECTION_SIZE, HORIZONTAL_SECTION_SIZE,)) img[i * HORIZONTAL_SECTION_SIZE:(i + 1) * HORIZONTAL_SECTION_SIZE, j * VERTICAL_SECTION_SIZE:(j + 1) * VERTICAL_SECTION_SIZE] = resized 

рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╕реНрдХреНрд░реАрди рдкрд░ рдкрд░рд┐рдгрд╛рдореА рдЫрд╡рд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ:

 img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR) cv2.imshow('ImageWindow', img) cv2.waitKey(0) 

рдиреБрдХрд╕рд╛рди рд╕рдорд╛рд░реЛрд╣ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдФрд░


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдиреБрдХрд╕рд╛рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдЙрдирдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдХреЗрд╡рд▓ рдЕрдиреБрднрд╡рдЬрдиреНрдп рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдк рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :)

рдбреЗрд▓реНрдЯрд╛рдЬреА



рдирд┐рд╖реНрдХрд░реНрд╖


рдпрд╣рд╛рдБ рдореЗрд░реЗ рдХреБрдЫ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ:

рдЦреБрд▓рд╛
рдЫрд╡рд┐
рдЫрд╡рд┐

рдореВрд▓
рдЫрд╡рд┐
рдЫрд╡рд┐

рдкреВрд░реНрдг рд╕реНрд░реЛрдд рдХреЛрдб, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧрдгрдирд╛ рдХреА рдЧрдИ data.pickle рдлрд╝рд╛рдЗрд▓, рд╕рд╛рде рд╣реА рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣, рдЖрдк рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

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


All Articles