рднрдЧреНрди рдЫрд╡рд┐ рд╕рдВрдкреАрдбрд╝рди

рдЫрд╡рд┐

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

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

рд╕рд┐рджреНрдзрд╛рдВрдд


рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рдХрд╛рдлреА рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдХреЛрдб рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рдВрдкреАрдбрд╝рди рдореИрдкрд┐рдВрдЧ


рдЪрд▓реЛ (рдИ,рдбреА)рдИрдбреА рдкреВрд░реНрдг рдореАрдЯреНрд░рд┐рдХ рд╕реНрдерд╛рди рд╣реИ , рдФрд░ f:E rightarrowE - рдореИрдкрд┐рдВрдЧ рд╕реЗ рдИрдИ рдкрд░ рдИрдИ ред

рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЪрдЪ рдпрджрд┐ рдореМрдЬреВрдж рд╣реИ рддреЛ рдПрдХ рдХрдВрдкреНрд░реЗрд╕рд┐рд╡ рдореИрдкрд┐рдВрдЧ рд╣реИ 01s<1 рдРрд╕рд╛ рд╣реИ рдХрд┐:

 forallx,y EрдореЗрдВ,d(f(x),f(y)) leqsd(x,y)

рдореЗрдВ


рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЪрдЪ рдПрдХ рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдкреАрдбрд╝рди рдорд╛рдирдЪрд┐рддреНрд░рдг рдХреЛ рдирд┐рд░реВрдкрд┐рдд рдХрд░реЗрдЧрд╛ рдПрд╕рдПрд╕ ред

рдореИрдкрд┐рдВрдЧ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдкрд░ рджреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рдореЗрдп рд╣реИрдВ: рдмрд╛рдирд╛рдЪ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рдкреНрд░рдореЗрдп рдФрд░ рдХреЛрд▓рд╛рдЬ рдкреНрд░рдореЗрдп ред

рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рдкреНрд░рдореЗрдп : рдЪрдЪ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рд╣реИ x0 ред

рдкреНрд░рдорд╛рдг рджрд┐рдЦрд╛рдУ
рдкрд╣рд▓реЗ рд╣рдо рд╕рд╛рдмрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЕрдиреБрдХреНрд░рдо (un) рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ $ рдЗрдирд▓рд╛рдЗрди $ \ рдмрд╛рдИрдВ \ {\ _ рд╢реБрд░реВ рдХрд░реЗрдВ {рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░реЗрдВ}} {2} u_0 & = x \\ u_ {n + 1} & = f (u_n) \ рдЕрдВрдд {рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░реЗрдВ}} рд╕рд╣реАред $ рдЗрдирд▓рд╛рдЗрди $ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЕрднрд┐рд╕рд░рдг рд╣реИ рдИ $ рдо $ x \ _ ред

рд╕рднреА рдХреЗ рд▓рд┐рдП m<n in mathbbN :

\ start {alignat *} {2} d (u_m, u_n) & = d (f ^ m (x), f ^ n (x)) \\ & \ leq s ^ md (x, f ^ {n}) (x)) \ text {рдЪреВрдВрдХрд┐} f \ text {рдПрдХ рд╕рдВрдХреБрдЪрди рдорд╛рдирдЪрд┐рддреНрд░ рд╣реИ} \\ & \ leq s ^ m \ left (\ sum_ {i = 0} ^ {nm-1} {d (f ^ i) (x ), f ^ {i + 1} (x))} рджрд╛рдИрдВ рдУрд░) \ text {рддреНрд░рд┐рдХреЛрдг рдЕрд╕рдорд╛рдирддрд╛ рд╕реЗ} \\ & \ leq s ^ m \ left (\ sum_ {i = 0} ^ {nm-1} {s ^ рдЖрдИрдбреА (x, f (x))} \ рд╕рд╣реА) \ text {рдЪреВрдВрдХрд┐} f \ text {рдПрдХ рд╕рдВрдХреБрдЪрди рдорд╛рдирдЪрд┐рддреНрд░ рд╣реИ} \\ & s ^ m \ left (\ frac {1 - s ^ {nm}} {1 - s} d (x, f (x)) \ right) \\ & \ leq \ frac {s ^ m} {1 - s} d (x, f (x)) \ underset {m \ rightarrow \ infty} {[рджрд╛рдИрдВ}} 0 \ end {рд╕рдВрд░реЗрдЦрд┐рдд *}


рдЗрд╕рд▓рд┐рдП, (un) рдПрдХ рдХреМрдЪреА рдЕрдиреБрдХреНрд░рдо рд╣реИ , рдФрд░ рдИ рдкреВрд░реНрдг рд╕реНрдерд╛рди рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ (un) рдЕрднрд┐рд╕рд╛рд░реА рд╣реИред рдЙрд╕реЗ рд╕реАрдорд╛ рд╣реЛрдиреЗ рджреЛ x0 ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЪреВрдВрдХрд┐ рд╕рдВрдХреБрдЪрди рдХрд╛ рдирдХреНрд╢рд╛ рд▓рд┐рдкреНрд╕рд╛рдЪрд┐рдЯреНрдЬрд╝ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░рдВрддрд░ рд╣реИ , рдЗрд╕рд▓рд┐рдП рдпрд╣ рдирд┐рд░рдВрддрд░ рднреА рд╣реИ, рдЕрд░реНрдерд╛рддред f(un) rightarrowf(x0) ред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдПрди рдореЗрдВ рдЕрдирдВрдд рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ un+1=f(un) рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ x0=f(x0) ред рд╡рд╣ рд╣реИ x0 рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рд╣реИ рдЪ ред

рд╣рдордиреЗ рд╡рд╣ рдХрд░ рджрд┐рдЦрд╛рдпрд╛ рд╣реИ рдЪ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рд╣реИред рд╣рдореЗрдВ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕ рджреНрд╡рд╛рд░рд╛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЕрджреНрд╡рд┐рддреАрдп рд╣реИред рдЪрд▓реЛ y0 - рдПрдХ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБред рддрдм:

d(x0,y0)=d(f(x0),f(y0)) leqsd(x0,y0)<d(x0,y0)


рдПрдХ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕ рдерд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣рдо рдирд┐рд░реВрдкрд┐рдд рдХрд░реЗрдВрдЧреЗ x0 рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рдЪ ред

рдХреЛрд▓рд╛рдЬ рдкреНрд░рдореЗрдп : рдпрджрд┐ d(x,f(x))< epsilon рддреЛ d(x,x0)< frac epsilon1тИТs ред

рдкреНрд░рдорд╛рдг рджрд┐рдЦрд╛рдУ
рдкрд┐рдЫрд▓реЗ рдкреНрд░рдорд╛рдг рдореЗрдВ, рд╣рдордиреЗ рд╡рд╣ рджрд┐рдЦрд╛рдпрд╛ d(um,un) leq fracsm1тИТsd(x,f(x))= fracsm1тИТs epsilon ред

рдЕрдЧрд░ рд╣рдо рдареАрдХ рдХрд░реЗрдВ рдПрдо рдореЗрдВ 0 рддреЛ рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ d(x,un) leq frac epsilon1тИТs ред

рдЬрдм рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдПрди рдЕрдирдВрдд рддрдХ рд╣рдо рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред

рджреВрд╕рд░рд╛ рдкреНрд░рдореЗрдп рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рд╣рдо рдПрдХ рд╕рдВрдХреБрдЪрди рдорд╛рдирдЪрд┐рддреНрд░ рдкрд╛рддреЗ рд╣реИрдВ рдЪ рдРрд╕рд╛ рд╣реИ рдЪ(x) рдХреЗ рдХрд░реАрдм рд╣реИ x , рддреЛ рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рдкрд░ рдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЪ рдХреЗ рдХрд░реАрдм рднреА рд╣реИ x ред

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

рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдкреАрдбрд╝рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ


рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрдВрдкреНрд░реЗрд╕рд┐рд╡ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ рддрд╛рдХрд┐ рддрдп рдмрд┐рдВрджреБ рдЫрд╡рд┐ рдХреЗ рдХрд░реАрдм рд╣реЛред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЗрдореЗрдЬ рд╕реЗрдЯ рдФрд░ рджреВрд░реА рд╕реЗрдЯ рдХрд░реЗрдВред рд╣рдо рдЪреБрди рд▓реЗрдВрдЧреЗ E=[0,1]h рдЯрд╛рдЗрдореНрд╕w ред рдИ рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рдореИрдЯреНрд░рд┐рд╕реЗрд╕ рд╣реИ рдЬ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ w рд╕реНрддрдВрдн рдФрд░ рдЕрдВрддрд░рд╛рд▓ рдореЗрдВ рдЧреБрдгрд╛рдВрдХ рдХреЗ рд╕рд╛рде [0,1] ред рдлрд┐рд░ рд╣рдо рд▓реЗрдВрдЧреЗ d(x,y)= left( sumhi=1 sumwj=1(xijтИТyij)2 right)0.5 ред рдб рдлреНрд░реЛрдмреЗрдирд┐рдпрд╕ рдорд╛рдирджрдВрдб рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХреА рдЧрдИ рджреВрд░реА рд╣реИ ред

рдЪрд▓реЛ рдИ $ рдо $ x \ _ рдХреНрдпрд╛ рд╡рд╣ рдЫрд╡рд┐ рдЬрд┐рд╕реЗ рд╣рдо рдХрдВрдкреНрд░реЗрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рд╣рдо рдЫрд╡рд┐ рдХреЛ рджреЛ рдмрд╛рд░ рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВрдЧреЗ:

  • рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЫрд╡рд┐ рдХреЛ рдкрд░рд┐рдорд┐рдд рдпрд╛ рдЕрдВрддрд░рд╛рд▓ рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ R1,...,RL ред рдпреЗ рдмреНрд▓реЙрдХ рдЕрд▓рдЧ рд╣реЛ рдЧрдП рд╣реИрдВ рдФрд░ рдкреВрд░реА рдЫрд╡рд┐ рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВред
  • рдлрд┐рд░ рд╣рдо рдЫрд╡рд┐ рдХреЛ рд╕реНрд░реЛрддреЛрдВ рдпрд╛ рдбреЛрдореЗрди рдХреЗ рдмреНрд▓реЙрдХ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ D1,...,DK ред рдпреЗ рдмреНрд▓реЙрдХ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рдпрд╣ рдкреВрд░реА рдЫрд╡рд┐ рдХреЛ рдХрд╡рд░ рдХрд░реЗред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЫрд╡рд┐ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЦрдВрдбрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рдЕрдВрддрд░рд╛рд▓ рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП Rl рд╣рдо рдПрдХ рдбреЛрдореЗрди рдмреНрд▓реЙрдХ рдЪреБрдирддреЗ рд╣реИрдВ Dkl рдФрд░ рдорд╛рдирдЪрд┐рддреНрд░рдг fl:[0,1]Dkl rightarrow[0,1]Rl ред

рдЖрдЧреЗ рд╣рдо рдПрдХ рдлрдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЪ рдХреЗ рд░реВрдк рдореЗрдВ:

f (x) _ {ij} = f_l (x_ {D_ {k_l}}) _ _ ij} \ text {if} (i, j) \ _ R_l $ рдореЗ


рдЕрдиреБрдореЛрджрди : рдпрджрд┐ fl рдФрд░ рдлрд┐рд░, рдореИрдкрд┐рдВрдЧ рдЕрдиреБрдмрдВрдз рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЪ рдХрдореНрдкреНрд░реЗрд╕рд┐рд╡ рдореИрдкрд┐рдВрдЧ рднреАред

рдкреНрд░рдорд╛рдг рджрд┐рдЦрд╛рдУ
рдЪрд▓реЛ x,y$EрдореЗ рдФрд░ рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╕рдм fl рдПрдХ рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд рдХреЗ рд╕рд╛рде рд╕рдВрдкреАрдбрд╝рди рдореИрдкрд┐рдВрдЧ рд╣реИрдВ sl ред рдлрд┐рд░ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд┐рд▓рддреЗ рд╣реИрдВ:

\ start {alignat *} {2} d (f (x), f (y)) ^ 2 & = \ sum_ {i = 1} ^ {h} {\ sum_ {j = 1} ^ {w} { (f (x) _ {ij} -f (y) _ {ij}) ^ 2}} \ _ {рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ рдкрд╛рда} d \\ & = \ _____ = = 1} ^ L {\ рдпреЛрдЧ _ {(i,) j) \ _ in R_l} {(f (x) _ {ij} -f (y) _ {ij}) ^ 2}} \ text {рдХреЗ рдмрд╛рдж} (R_l) \ text {рдПрдХ рд╡рд┐рднрд╛рдЬрди рд╣реИ} \\ & = sum_} {l = 1} ^ L {\ _ _ _ ({, j) \ _ in R_l} {(f_l (x_ {D_ {k_l}}) _ {ij} -f_l (y_ {D_ / k_l}}) _ {ij }) ^ 2}} \ text {рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ} f \\ & = \ sum_ {l = 1} ^ L {d (f_l (x_ {D_ {k_l}}), f_l (y_ {D_ / k_l}}) ) ^ 2} \ text {рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ} d \\ & \ leq \ sum_ {l = 1} ^ L {s_l ^ 2d (x_ {D_ {k_l}}, y_ {D_ {k_l}}) ^ 2} \ _ рдкрд╛рда {рдЪреВрдБрдХрд┐} (f_l) \ рдкрд╛рда {рд╕рдВрдХреБрдЪрди рдореИрдкрд┐рдВрдЧ рд╣реИрдВ} \\ & \ leq \ underset {l} {\ max} {s_l ^ 2} \ sum_ {l = 1} ^ L {d (x_ {D_ {k_l] }}, y_ {D_ {k_l}}) ^ 2} \\ & = \ underset {l} {\ max} {s_l ^ 2} \ sum_ {l = 1} ^ L {\ sum _ {(i, j) \ _ R_l} {(x_ {ij} -y_ {ij}) ^ 2}}} рдкрд╛рда {рдкрд░рд┐рднрд╛рд╖рд╛ рджреНрд╡рд╛рд░рд╛} d \\ & = \ underset {l} {\ max} {s_l ^ 2} sum_ {i = 1} ^ {h} {\ sum_ {j = 1} ^ {w} {(x_ {ij} -y_ {ij}) ^ 2}} \ text {рдХреЗ рдмрд╛рдж рд╕реЗ (R_l) \ _ рдЯреЗрдХреНрд╕реНрдЯ {рдПрдХ рд╡рд┐рднрд╛рдЬрди рд╣реИ} \\ & = \ underset {l} {\ max} {s_l ^ 2} d (x, y) ^ 2 \ text {рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ} d \\ \ end {alignat *}


рдПрдХ рдкреНрд░рд╢реНрди рд╢реЗрд╖ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрддреНрддрд░ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ: рдХреИрд╕реЗ рдЪреБрдиреЗрдВ Dkl рдФрд░ fl ?

рдХреЛрд▓рд╛рдЬ рдкреНрд░рдореЗрдп рдЙрдиреНрд╣реЗрдВ рдЪреБрдирдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: рдпрджрд┐ xRl рдХреЗ рдХрд░реАрдм рд╣реИ f(xDkl) рд╕рднреА рдХреЗ рд▓рд┐рдП рд▓ рддреЛ x рдХреЗ рдХрд░реАрдм рд╣реИ рдЪ(x) рдФрд░ рдорд╣рд╛рд╡рд┐рджреНрдпрд╛рд▓рдп рдкреНрд░рдореЗрдп рджреНрд╡рд╛рд░рд╛ x рдФрд░ x0 рдкрд╛рд╕ рднреА рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ рд▓ рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╕реЗ рдирд┐рдЪреЛрдбрд╝ рдореИрдкрд┐рдВрдЧ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ Dk рдкрд░ Rl рдФрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЪреБрдиреЗрдВред рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рд╕рднреА рд╡рд┐рд╡рд░рдг рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдореИрдВ рджрд┐рд▓рдЪрд╕реНрдк рдХреЛрдб рдЕрдВрд╢реЛрдВ рдХреА рдирдХрд▓ рдХрд░реВрдВрдЧрд╛, рдФрд░ рдкреВрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╣рд╛рдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ ред

рд╡рд┐рднрд╛рдЬрди


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

рдмреНрд▓реЙрдХреЛрдВ рдХрд╛ рдЖрдХрд╛рд░ рджреЛ рдХреА рд╢рдХреНрддрд┐рдпреЛрдВ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ рдФрд░ рдпрд╣ рдХрд╛рдо рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИред рд╕реЛрд░реНрд╕ рдмреНрд▓реЙрдХ 8 рдмрд╛рдп 8 рдФрд░ рдПрдВрдб рдмреНрд▓реЙрдХ 4 рдмрд╛рдп 4 рд╣реИрдВред

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

рд░реВрдкрд╛рдВрддрд░рдг


рдЗрд╕ рдЦрдВрдб рдореЗрдВ, рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рд╕реЗ рд╕рдВрдкреАрдбрд╝рди рдореИрдкрд┐рдВрдЧ рдмрдирд╛рдПрдВ Dk рдкрд░ Rl ред

рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреА рдореИрдкрд┐рдВрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ fl рдХреЛ f(xDk) рдХреЗ рдХрд░реАрдм рдерд╛ xRl ред рдпрд╣реА рд╣реИ, рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рдореИрдкрд┐рдВрдЧ рд╣рдо рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ, рдЙрддрдирд╛ рд╣реА рдЕрдЪреНрдЫрд╛ рдПрдХ рдЦреЛрдЬрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред

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

рдореИрдВрдиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ fl рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

fl(xDk)=s рдЯрд╛рдЗрдореНрд╕рдШреБрдорд╛рдПрдБ theta(flipd(рдХрдордХрд░реЗрдВ(xDk)))+b


рдЬрд╣рд╛рдБ рдШрдЯ - рдпрд╣ рдмреНрд▓реЙрдХ 8 рд╕реЗ 8 рддрдХ рдмреНрд▓реЙрдХ 4 рд╕реЗ 4 рддрдХ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдлреНрд▓рд┐рдк рдФрд░ $рдШреВрдорддреАрд╣ - рдкрд░рд┐рд╢реЛрдзрди рдкрд░рд┐рд╡рд░реНрддрди, рдПрд╕ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдм - рдЪрдордХред

reduce рдХрд╛рд░реНрдп рдкрд░рд┐рд╡реЗрд╢ рдХреЗ рдФрд╕рдд рд╕реЗ рдЫрд╡рд┐ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ reduce рдХрд░рддрд╛ рд╣реИ:

 def reduce(img, factor): result = np.zeros((img.shape[0] // factor, img.shape[1] // factor)) for i in range(result.shape[0]): for j in range(result.shape[1]): result[i,j] = np.mean(img[i*factor:(i+1)*factor,j*factor:(j+1)*factor]) return result 

rotate рдлрд╝рдВрдХреНрд╢рди рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдХреЛрдг рджреНрд╡рд╛рд░рд╛ рдЫрд╡рд┐ рдХреЛ рдШреБрдорд╛рддрд╛ рд╣реИ:

 def rotate(img, angle): return ndimage.rotate(img, angle, reshape=False) 

рдЫрд╡рд┐ рдХреЛрдг рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП $рдереАрдЯрд╛ рдХреЗрд╡рд▓ рдореВрд▓реНрдп рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ \ {0 ^ {\ circ}, 90 ^ {\ circ}, 180 ^ {\ circ}, 270 ^ {\ circ} \ ред

flip рдлрд╝рдВрдХреНрд╢рди рдЫрд╡рд┐ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ direction -1 рд╣реИ рдФрд░ рдорд╛рди 1 рд╣реЛрдиреЗ рдкрд░ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:

 def flip(img, direction): return img[::direction,:] 

рдкреВрд░реНрдг рд░реВрдкрд╛рдВрддрд░рдг apply_transformation рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 def apply_transformation(img, direction, angle, contrast=1.0, brightness=0.0): return contrast*rotate(flip(img, direction), angle) + brightness 

рдорд┐рд░рд░рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рд░реЛрдЯреЗрд╢рди рдХреЗ рдХреЛрдг рдХреЗ рд▓рд┐рдП 2 рдмрд┐рдЯреНрд╕ рдХреЛ рдпрд╛рдж рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ 1 рдмрд┐рдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рд╣рдо рдмрдЪрд╛рддреЗ рд╣реИрдВ рдПрд╕ рдФрд░ рдм рдкреНрд░рддреНрдпреЗрдХ рдорд╛рди рдХреЗ рд▓рд┐рдП 8 рдмрд┐рдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреЗрд╡рд▓ 11 рдмрд┐рдЯреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдореЗрдВ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпреЗ рдХрд╛рд░реНрдп рд╕рдВрдХреБрдЪрди рдореИрдкрд┐рдВрдЧ рд╣реИрдВред рдЗрд╕рдХрд╛ рдкреНрд░рдорд╛рдг рдереЛрдбрд╝рд╛ рдЙрдмрд╛рдК рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдПред рд╢рд╛рдпрдж рдмрд╛рдж рдореЗрдВ рдореИрдВ рдЗрд╕реЗ рд▓реЗрдЦ рдореЗрдВ рдПрдХ рдкрд░рд┐рд╢рд┐рд╖реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝ рджреВрдВрдЧрд╛ред

рджрдмрд╛рд╡


рд╕рдВрдкреАрдбрд╝рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╕рд░рд▓ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо Gener_all_transformed_blocks рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕рднреА рд╕реНрд░реЛрдд рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд affine рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ generate_all_transformed_blocks рдХрд░рддреЗ рд╣реИрдВ:

 def generate_all_transformed_blocks(img, source_size, destination_size, step): factor = source_size // destination_size transformed_blocks = [] for k in range((img.shape[0] - source_size) // step + 1): for l in range((img.shape[1] - source_size) // step + 1): # Extract the source block and reduce it to the shape of a destination block S = reduce(img[k*step:k*step+source_size,l*step:l*step+source_size], factor) # Generate all possible transformed blocks for direction, angle in candidates: transformed_blocks.append((k, l, direction, angle, apply_transform(S, direction, angle))) return transformed_blocks 

рдлрд┐рд░, рдкреНрд░рддреНрдпреЗрдХ рдЕрдВрддрд┐рдо рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рднреА рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд░реВрдкрд╛рдВрддрд░рд┐рдд рд╕реНрд░реЛрдд рдмреНрд▓реЙрдХреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП, рд╣рдо find_contrast_and_brightness2 рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдВрдЯреНрд░рд╛рд╕реНрдЯ рдФрд░ рдмреНрд░рд╛рдЗрдЯрдиреЗрд╕ рдХреЛ find_contrast_and_brightness2 рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд░реВрдкрд╛рдВрддрд░рдг рдЕрдм рддрдХ рдорд┐рд▓рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕рд╣реЗрдЬреЗрдВ:

 def compress(img, source_size, destination_size, step): transformations = [] transformed_blocks = generate_all_transformed_blocks(img, source_size, destination_size, step) for i in range(img.shape[0] // destination_size): transformations.append([]) for j in range(img.shape[1] // destination_size): print(i, j) transformations[i].append(None) min_d = float('inf') # Extract the destination block D = img[i*destination_size:(i+1)*destination_size,j*destination_size:(j+1)*destination_size] # Test all possible transformations and take the best one for k, l, direction, angle, S in transformed_blocks: contrast, brightness = find_contrast_and_brightness2(D, S) S = contrast*S + brightness d = np.sum(np.square(D - S)) if d < min_d: min_d = d transformations[i][j] = (k, l, direction, angle, contrast, brightness) return transformations 

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

 def find_contrast_and_brightness2(D, S): # Fit the contrast and the brightness A = np.concatenate((np.ones((S.size, 1)), np.reshape(S, (S.size, 1))), axis=1) b = np.reshape(D, (D.size,)) x, _, _, _ = np.linalg.lstsq(A, b) return x[1], x[0] 

unpacking


рд╡рд┐рдШрдЯрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рднреА рд╕рд░рд▓ рд╣реИред рд╣рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЫрд╡рд┐ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдХрдИ рдмрд╛рд░ рдирд┐рдЪреЛрдбрд╝ рдЫрд╡рд┐ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдЪ :

 def decompress(transformations, source_size, destination_size, step, nb_iter=8): factor = source_size // destination_size height = len(transformations) * destination_size width = len(transformations[0]) * destination_size iterations = [np.random.randint(0, 256, (height, width))] cur_img = np.zeros((height, width)) for i_iter in range(nb_iter): print(i_iter) for i in range(len(transformations)): for j in range(len(transformations[i])): # Apply transform k, l, flip, angle, contrast, brightness = transformations[i][j] S = reduce(iterations[-1][k*step:k*step+source_size,l*step:l*step+source_size], factor) D = apply_transformation(S, flip, angle, contrast, brightness) cur_img[i*destination_size:(i+1)*destination_size,j*destination_size:(j+1)*destination_size] = D iterations.append(cur_img) cur_img = np.zeros((height, width)) return iterations 

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

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


test_greyscale рдлрд╝рдВрдХреНрд╢рди рдЫрд╡рд┐ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рд╡рд┐рдШрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡рд┐рдШрдЯрди рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ:


рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рднреА рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ!

рдЖрд░рдЬреАрдмреА рдЪрд┐рддреНрд░


RGB рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рднреЛрд▓реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рднреА рддреАрди рдЪреИрдирд▓реЛрдВ рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ:

 def compress_rgb(img, source_size, destination_size, step): img_r, img_g, img_b = extract_rgb(img) return [compress(img_r, source_size, destination_size, step), \ compress(img_g, source_size, destination_size, step), \ compress(img_b, source_size, destination_size, step)] 

рдФрд░ рдЕрдирдкреИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреЗрд╡рд▓ рддреАрди рдЪреИрдирд▓реЛрдВ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдЕрдирдкреИрдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рддреАрди рдЗрдореЗрдЬ рдЪреИрдирд▓реЛрдВ рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВ:

 def decompress_rgb(transformations, source_size, destination_size, step, nb_iter=8): img_r = decompress(transformations[0], source_size, destination_size, step, nb_iter)[-1] img_g = decompress(transformations[1], source_size, destination_size, step, nb_iter)[-1] img_b = decompress(transformations[2], source_size, destination_size, step, nb_iter)[-1] return assemble_rbg(img_r, img_g, img_b) 

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

рдпрджрд┐ рдЖрдк рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ test_rgb рдлрд╝рдВрдХреНрд╢рди test_rgb :


рдХрд▓рд╛рдХреГрддрд┐рдпрд╛рдБ рджрд┐рдЦрд╛рдИ рджреАрдВред рдпрд╣ рд╡рд┐рдзрд┐ рд╢рд╛рдпрдж рдЕрдЪреНрдЫреЗ рдкрд░рд┐рдгрд╛рдо рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рднреЛрд▓реА рд╣реИред

рдЖрдЧреЗ рдХрд╣рд╛рдБ рдЬрд╛рдирд╛ рд╣реИ


рдпрджрд┐ рдЖрдк рдлреНрд░реИрдХреНрдЯрд▓ рдЗрдореЗрдЬ рдХрдореНрдкреНрд░реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ рд╕реНрдЯреАрдлрди рд╡реЗрд▓рд╕реНрдЯреЗрдб рджреНрд╡рд╛рд░рд╛ рдЖрд░реНрдЯрд┐рдХрд▓ рдлреНрд░реИрдХреНрдЯрд▓ рдФрд░ рд╡реЗрд╡рд▓реЗрдЯ рдЗрдореЗрдЬ рдХрдВрдкреНрд░реИрд╢рди рддрдХрдиреАрдХ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВред рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рддрдХрдиреАрдХреЛрдВ рдХреЛ рдкрдврд╝рдирд╛ рдФрд░ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред

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


All Articles