import cv2,OpenEXR,Imath
import numpy as β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™
from edt import edt

β΅™α—±α—΄α™α—©Π˜Nγ€‡α—±α—΄α™κ–΄κ—³γ€‡π–§·α‘Žί¦Π˜Nκ–΄β΅™γ€‡β΅™γ€‡β΅™κ–΄Π˜Nί¦α‘Žπ–§·γ€‡κ—³κ–΄α™α—±α—΄γ€‡Π˜Nᗩᙏᗱᗴ⡙='κ“¨Π˜κŸΌ..π–£ βšͺα—±α—΄α•€α•¦α—©α™β΅™π–£“βœ€α”“α”•α—±α—΄βœ€βšͺπ”—’βšͺπŸž‹βšͺπ”—’βšͺβœ€α—±α—΄α”“α”•βœ€π–£“β΅™α™α—©α•€α•¦α—±α—΄βšͺπ–£ ..PNG'
β΅™α—±α—΄α•€α•¦α—©α™κ–΄γ€‡π–§·α‘Žί¦Π˜Nκ–΄β΅™γ€‡β΅™γ€‡β΅™κ–΄Π˜Nί¦α‘Žπ–§·γ€‡κ–΄α™α—©α•€α•¦α—±α—΄β΅™=cv2.imdecode(β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.fromfile(β΅™α—±α—΄α™α—©Π˜Nγ€‡α—±α—΄α™κ–΄κ—³γ€‡π–§·α‘Žί¦Π˜Nκ–΄β΅™γ€‡β΅™γ€‡β΅™κ–΄Π˜Nί¦α‘Žπ–§·γ€‡κ—³κ–΄α™α—±α—΄γ€‡Π˜Nᗩᙏᗱᗴ⡙,β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.uint8),cv2.IMREAD_COLOR)
⡙ᗱᗴᙁᗩᑐᑕᔓᔕ人ᗩα΄₯ᕀᕦ〇Oπ–§·γ€‡β†€α—±α—΄π–§·α—±α—΄α±Π˜NOα‘α‘•γ€‡α—±α—΄α•€α•¦α—©α™κ–΄γ€‡π–§·α‘Žί¦Π˜Nκ–΄β΅™γ€‡β΅™γ€‡β΅™κ–΄Π˜Nί¦α‘Žπ–§·γ€‡κ–΄α™α—©α•€α•¦α—±α—΄γ€‡α‘α‘•OИNᐱᗱᗴ𖧷ᗱᗴↀ〇𖧷O〇ᕀᕦα΄₯ᗩ人ᔓᔕᑐᑕᗩᙁᗱᗴ⡙=cv2.cvtColor(β΅™α—±α—΄α•€α•¦α—©α™κ–΄γ€‡π–§·α‘Žί¦Π˜Nκ–΄β΅™γ€‡β΅™γ€‡β΅™κ–΄Π˜Nί¦α‘Žπ–§·γ€‡κ–΄α™α—©α•€α•¦α—±α—΄β΅™,cv2.COLOR_BGR2GRAY)

β΅™Π˜Nα΄₯α‘Žπ–§·α—±α—΄α΄₯⡙〇⡙〇⡙α΄₯α—±α—΄π–§·α‘Žα΄₯ИNβ΅™,⡙ↀᙁOμ˜·α”“α”•α—±α—΄α΄₯μ˜·π–§·β΅™γ€‡β΅™γ€‡β΅™π–§·μ˜·α΄₯α—±α—΄α”“α”•μ˜·Oᙁↀ⡙=cv2.threshold(⡙ᗱᗴᙁᗩᑐᑕᔓᔕ人ᗩα΄₯ᕀᕦ〇Oπ–§·γ€‡β†€α—±α—΄π–§·α—±α—΄α±Π˜NOα‘α‘•γ€‡α—±α—΄α•€α•¦α—©α™κ–΄γ€‡π–§·α‘Žί¦Π˜Nκ–΄β΅™γ€‡β΅™γ€‡β΅™κ–΄Π˜Nί¦α‘Žπ–§·γ€‡κ–΄α™α—©α•€α•¦α—±α—΄γ€‡α‘α‘•OИNᐱᗱᗴ𖧷ᗱᗴↀ〇𖧷O〇ᕀᕦα΄₯ᗩ人ᔓᔕᑐᑕᗩᙁᗱᗴ⡙,127,255,cv2.THRESH_BINARY)

β΅™α΄₯α—±α—΄8α™α‘ŽΠ˜N〇ᙁᗱᗴ8ᗩᙁ⡙〇⡙〇⡙ᙁᗩ8α—±α—΄α™γ€‡Π˜Nα‘Žα™8α—±α—΄α΄₯β΅™,⡙ᔓᔕᙁᗱᗴᑐᑕ〇ᗱᗴᕀᕦᗩᙏꖴ〇ↀᗱᗴᙁᗱᗴ8ᗩᙁ⡙〇⡙〇⡙ᙁᗩ8ᗱᗴᙁᗱᗴↀ〇ꖴᙏᗩᕀᕦᗱᗴ〇ᑐᑕᗱᗴᙁᔓᔕ⡙,⡙ᔓᔕᑐᑕꖴ𖧷ᔓᔕꖴ𖧷ᗩ𖧷ᔓᔕ〇ᔓᔕᙁᗱᗴᑐᑕ〇ᗱᗴᕀᕦᗩᙏꖴ〇ↀᗱᗴᙁᗱᗴ8ᗩᙁ⡙〇⡙〇⡙ᙁᗩ8ᗱᗴᙁᗱᗴↀ〇ꖴᙏᗩᕀᕦᗱᗴ〇ᑐᑕᗱᗴᙁᔓᔕ〇ᔓᔕ𖧷ᗩ𖧷ꖴᔓᔕ𖧷ꖴᑐᑕᔓᔕ⡙,⡙ᔓᔕↀꖴOα΄₯π–§·Π˜Nᗱᗴᑐᑕ〇ᔓᔕᙁᗱᗴᑐᑕ〇ᗱᗴᕀᕦᗩᙏꖴ〇ↀᗱᗴᙁᗱᗴ8ᗩᙁ⡙〇⡙〇⡙ᙁᗩ8α—±α—΄α™α—±α—΄β†€γ€‡κ–΄α™α—©α•€α•¦α—±α—΄γ€‡α‘α‘•α—±α—΄α™α”“α”•γ€‡α‘α‘•α—±α—΄Π˜Nπ–§·α΄₯Oꖴↀᔓᔕ⡙=cv2.connectedComponentsWithStats(⡙ↀᙁOμ˜·α”“α”•α—±α—΄α΄₯μ˜·π–§·β΅™γ€‡β΅™γ€‡β΅™π–§·μ˜·α΄₯α—±α—΄α”“α”•μ˜·Oᙁↀ⡙)

⡙ᗱᗴᕀᕦᗩᙏꖴ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8ᗱᗴᙁᗱᗴↀ〇ꖴᙏᗩᕀᕦᗱᗴ⡙=β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.zeros_like(⡙ᔓᔕᙁᗱᗴᑐᑕ〇ᗱᗴᕀᕦᗩᙏꖴ〇ↀᗱᗴᙁᗱᗴ8ᗩᙁ⡙〇⡙〇⡙ᙁᗩ8ᗱᗴᙁᗱᗴↀ〇ꖴᙏᗩᕀᕦᗱᗴ〇ᑐᑕᗱᗴᙁᔓᔕ⡙)
for i in range(1,β΅™α΄₯α—±α—΄8α™α‘ŽΠ˜N〇ᙁᗱᗴ8ᗩᙁ⡙〇⡙〇⡙ᙁᗩ8α—±α—΄α™γ€‡Π˜Nα‘Žα™8α—±α—΄α΄₯β΅™):⡙ᗱᗴᕀᕦᗩᙏꖴ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8ᗱᗴᙁᗱᗴↀ〇ꖴᙏᗩᕀᕦᗱᗴ⡙[⡙ᔓᔕᙁᗱᗴᑐᑕ〇ᗱᗴᕀᕦᗩᙏꖴ〇ↀᗱᗴᙁᗱᗴ8ᗩᙁ⡙〇⡙〇⡙ᙁᗩ8ᗱᗴᙁᗱᗴↀ〇ꖴᙏᗩᕀᕦᗱᗴ〇ᑐᑕᗱᗴᙁᔓᔕ⡙==i]=i

⡙ᙏα΄₯Oκ—³α”“α”•Π˜Nα—©α΄₯π–§·γ€‡α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€γ€‡Π˜Nα—©α—±α—΄β†€κ–΄α™α‘α‘•α‘Žα—±α—΄β΅™γ€‡β΅™γ€‡β΅™α—±α—΄α‘Žα‘α‘•α™κ–΄β†€α—±α—΄α—©Π˜Nγ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ〇𖧷α΄₯α—©Π˜Nα”“α”•κ—³Oα΄₯ᙏ⡙=edt(⡙ᗱᗴᕀᕦᗩᙏꖴ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8ᗱᗴᙁᗱᗴↀ〇ꖴᙏᗩᕀᕦᗱᗴ⡙.astype(β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.float32))

β΅™α”“α”•α—±α—΄Π˜Nᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8α—±α—΄α™Π˜Nα—±α—΄α”“α”•β΅™='Β·'
β΅™α΄₯Oπ–§·α‘α‘•α—©κ—³β΅™α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€β΅™π–§·Π˜Nᗱᗴꖴↀᗩα΄₯α•€α•¦β΅™α™α‘Žα™κ–΄κ•€α—©α™β΅™γ€‡β΅™γ€‡β΅™α™α—©κ•€κ–΄α™α‘Žα™β΅™α•€α•¦α΄₯α—©β†€κ–΄α—±α—΄Π˜Nπ–§·β΅™β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ⡙ꗳᗩᑐᑕ𖧷Oα΄₯β΅™=2/4.793447 # 2/5.5625 # 1/27**1/β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.cbrt(2)
β΅™π–§·μ˜·α•€α•¦κ–΄α—±α—΄μ˜·β΅™γ€‡β΅™γ€‡β΅™μ˜·α—±α—΄κ–΄α•€α•¦μ˜·π–§·β΅™,β΅™μ˜·π–§·β†€κ–΄α—―β΅™γ€‡β΅™γ€‡β΅™α—―κ–΄β†€π–§·μ˜·β΅™=β΅™α—±α—΄α•€α•¦α—©α™κ–΄γ€‡π–§·α‘Žί¦Π˜Nκ–΄β΅™γ€‡β΅™γ€‡β΅™κ–΄Π˜Nί¦α‘Žπ–§·γ€‡κ–΄α™α—©α•€α•¦α—±α—΄β΅™.shape[:2]
β΅™α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€β΅™π–§·Π˜Nᗱᗴꖴↀᗩα΄₯α•€α•¦β΅™α™α‘Žα™κ–΄κ•€α—©α™β΅™γ€‡β΅™γ€‡β΅™α™α—©κ•€κ–΄α™α‘Žα™β΅™α•€α•¦α΄₯α—©β†€κ–΄α—±α—΄Π˜Nπ–§·β΅™β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ⡙=int(max(β΅™π–§·μ˜·α•€α•¦κ–΄α—±α—΄μ˜·β΅™γ€‡β΅™γ€‡β΅™μ˜·α—±α—΄κ–΄α•€α•¦μ˜·π–§·β΅™,β΅™μ˜·π–§·β†€κ–΄α—―β΅™γ€‡β΅™γ€‡β΅™α—―κ–΄β†€π–§·μ˜·β΅™)*β΅™α΄₯Oπ–§·α‘α‘•α—©κ—³β΅™α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€β΅™π–§·Π˜Nᗱᗴꖴↀᗩα΄₯α•€α•¦β΅™α™α‘Žα™κ–΄κ•€α—©α™β΅™γ€‡β΅™γ€‡β΅™α™α—©κ•€κ–΄α™α‘Žα™β΅™α•€α•¦α΄₯α—©β†€κ–΄α—±α—΄Π˜Nπ–§·β΅™β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ⡙ꗳᗩᑐᑕ𖧷Oα΄₯β΅™)
⡙ↀᙁOμ˜·α”“α”•α—±α—΄α΄₯μ˜·π–§·β΅™π–§·Π˜Nα‘ŽOᑐᑕ⡙ᙁᗱᗴꕀꖴߦ⡙〇⡙〇⡙ߦꖴꕀᗱᗴᙁ⡙ᑐᑕOα‘ŽΠ˜Nπ–§·β΅™π–§·μ˜·α΄₯α—±α—΄α”“α”•μ˜·Oᙁↀ⡙=min(β΅™π–§·μ˜·α•€α•¦κ–΄α—±α—΄μ˜·β΅™γ€‡β΅™γ€‡β΅™μ˜·α—±α—΄κ–΄α•€α•¦μ˜·π–§·β΅™,β΅™μ˜·π–§·β†€κ–΄α—―β΅™γ€‡β΅™γ€‡β΅™α—―κ–΄β†€π–§·μ˜·β΅™)*64

⡙ᗱᗴᕀᕦᗩᙏꖴ〇ᙏα΄₯Oκ—³α”“α”•Π˜Nα—©α΄₯π–§·γ€‡α—±α—΄α‘α‘•Π˜Nᗩ𖧷ᔓᔕꖴↀ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8α—±α—΄α™α—±α—΄β†€γ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ〇𖧷α΄₯α—©Π˜Nα”“α”•κ—³Oα΄₯ᙏ〇ꖴᙏᗩᕀᕦᗱᗴ⡙=β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.zeros_like(⡙ᗱᗴᕀᕦᗩᙏꖴ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8ᗱᗴᙁᗱᗴↀ〇ꖴᙏᗩᕀᕦᗱᗴ⡙,dtype=β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.float32)

if β΅™α”“α”•α—±α—΄Π˜Nᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8α—±α—΄α™Π˜Nα—±α—΄α”“α”•β΅™=='β΅”':
 for i in range(1,β΅™α΄₯α—±α—΄8α™α‘ŽΠ˜N〇ᙁᗱᗴ8ᗩᙁ⡙〇⡙〇⡙ᙁᗩ8α—±α—΄α™γ€‡Π˜Nα‘Žα™8α—±α—΄α΄₯β΅™):
  β΅™πŠŒα”“α”•α—©α™β΅™γ€‡β΅™γ€‡β΅™α™α—©α”“α”•πŠŒβ΅™=(⡙ᗱᗴᕀᕦᗩᙏꖴ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8ᗱᗴᙁᗱᗴↀ〇ꖴᙏᗩᕀᕦᗱᗴ⡙==i)
  β΅™α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€γ€‡π–§·Π˜Nᗱᗴꖴↀᗩα΄₯ᕀᕦ〇ᙁᗱᗴᑐᑕ〇ↀᗱᗴᙁᗱᗴ8ᗩᙁ⡙〇⡙〇⡙ᙁᗩ8ᗱᗴᙁᗱᗴↀ〇ᑐᑕᗱᗴᙁ〇ᕀᕦα΄₯α—©β†€κ–΄α—±α—΄Π˜Nπ–§·γ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ⡙=⡙ᙏα΄₯Oκ—³α”“α”•Π˜Nα—©α΄₯π–§·γ€‡α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€γ€‡Π˜Nα—©α—±α—΄β†€κ–΄α™α‘α‘•α‘Žα—±α—΄β΅™γ€‡β΅™γ€‡β΅™α—±α—΄α‘Žα‘α‘•α™κ–΄β†€α—±α—΄α—©Π˜Nγ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ〇𖧷α΄₯α—©Π˜Nα”“α”•κ—³Oα΄₯ᙏ⡙[β΅™πŠŒα”“α”•α—©α™β΅™γ€‡β΅™γ€‡β΅™α™α—©α”“α”•πŠŒβ΅™]
  β΅™α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€γ€‡α™α‘Žα™κ–΄κ•€α—©α™γ€‡π–§·Π˜Nᗱᗴꖴↀᗩα΄₯ᕀᕦ〇ᔓᔕᙁᗱᗴᑐᑕ〇ↀᗱᗴᙁᗱᗴ8ᗩᙁ⡙〇⡙〇⡙ᙁᗩ8ᗱᗴᙁᗱᗴↀ〇ᑐᑕᗱᗴᙁᔓᔕ〇ᕀᕦα΄₯α—©β†€κ–΄α—±α—΄Π˜Nπ–§·γ€‡α™α—©κ•€κ–΄α™α‘Žα™γ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ⡙=β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.max(β΅™α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€γ€‡π–§·Π˜Nᗱᗴꖴↀᗩα΄₯ᕀᕦ〇ᙁᗱᗴᑐᑕ〇ↀᗱᗴᙁᗱᗴ8ᗩᙁ⡙〇⡙〇⡙ᙁᗩ8ᗱᗴᙁᗱᗴↀ〇ᑐᑕᗱᗴᙁ〇ᕀᕦα΄₯α—©β†€κ–΄α—±α—΄Π˜Nπ–§·γ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ⡙)
  ⡙ᗱᗴᕀᕦᗩᙏꖴ〇ᙏα΄₯Oκ—³α”“α”•Π˜Nα—©α΄₯π–§·γ€‡α—±α—΄α‘α‘•Π˜Nᗩ𖧷ᔓᔕꖴↀ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8α—±α—΄α™α—±α—΄β†€γ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ〇𖧷α΄₯α—©Π˜Nα”“α”•κ—³Oα΄₯ᙏ〇ꖴᙏᗩᕀᕦᗱᗴ⡙[β΅™πŠŒα”“α”•α—©α™β΅™γ€‡β΅™γ€‡β΅™α™α—©α”“α”•πŠŒβ΅™]=β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.clip(β΅™α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€γ€‡π–§·Π˜Nᗱᗴꖴↀᗩα΄₯ᕀᕦ〇ᙁᗱᗴᑐᑕ〇ↀᗱᗴᙁᗱᗴ8ᗩᙁ⡙〇⡙〇⡙ᙁᗩ8ᗱᗴᙁᗱᗴↀ〇ᑐᑕᗱᗴᙁ〇ᕀᕦα΄₯α—©β†€κ–΄α—±α—΄Π˜Nπ–§·γ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ⡙,0,β΅™α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€β΅™π–§·Π˜Nᗱᗴꖴↀᗩα΄₯α•€α•¦β΅™α™α‘Žα™κ–΄κ•€α—©α™β΅™γ€‡β΅™γ€‡β΅™α™α—©κ•€κ–΄α™α‘Žα™β΅™α•€α•¦α΄₯α—©β†€κ–΄α—±α—΄Π˜Nπ–§·β΅™β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ⡙)/β΅™α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€β΅™π–§·Π˜Nᗱᗴꖴↀᗩα΄₯α•€α•¦β΅™α™α‘Žα™κ–΄κ•€α—©α™β΅™γ€‡β΅™γ€‡β΅™α™α—©κ•€κ–΄α™α‘Žα™β΅™α•€α•¦α΄₯α—©β†€κ–΄α—±α—΄Π˜Nπ–§·β΅™β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ⡙
elif β΅™α”“α”•α—±α—΄Π˜Nᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8α—±α—΄α™Π˜Nα—±α—΄α”“α”•β΅™=="Β·":
 for i in range(1,β΅™α΄₯α—±α—΄8α™α‘ŽΠ˜N〇ᙁᗱᗴ8ᗩᙁ⡙〇⡙〇⡙ᙁᗩ8α—±α—΄α™γ€‡Π˜Nα‘Žα™8α—±α—΄α΄₯β΅™):
  β΅™πŠŒα”“α”•α—©α™β΅™γ€‡β΅™γ€‡β΅™α™α—©α”“α”•πŠŒβ΅™=(⡙ᗱᗴᕀᕦᗩᙏꖴ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8ᗱᗴᙁᗱᗴↀ〇ꖴᙏᗩᕀᕦᗱᗴ⡙==i)
  if β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.sum(β΅™πŠŒα”“α”•α—©α™β΅™γ€‡β΅™γ€‡β΅™α™α—©α”“α”•πŠŒβ΅™)>⡙ↀᙁOμ˜·α”“α”•α—±α—΄α΄₯μ˜·π–§·β΅™π–§·Π˜Nα‘ŽOᑐᑕ⡙ᙁᗱᗴꕀꖴߦ⡙〇⡙〇⡙ߦꖴꕀᗱᗴᙁ⡙ᑐᑕOα‘ŽΠ˜Nπ–§·β΅™π–§·μ˜·α΄₯α—±α—΄α”“α”•μ˜·Oᙁↀ⡙:
   β΅™α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€γ€‡π–§·Π˜Nᗱᗴꖴↀᗩα΄₯ᕀᕦ〇ↀᗱᗴߦꖴᙁᑐᑕ⡙〇⡙〇⡙ᑐᑕᙁꖴߦᗱᗴↀ〇ᕀᕦα΄₯α—©β†€κ–΄α—±α—΄Π˜Nπ–§·γ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ⡙=β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.clip(⡙ᙏα΄₯Oκ—³α”“α”•Π˜Nα—©α΄₯π–§·γ€‡α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€γ€‡Π˜Nα—©α—±α—΄β†€κ–΄α™α‘α‘•α‘Žα—±α—΄β΅™γ€‡β΅™γ€‡β΅™α—±α—΄α‘Žα‘α‘•α™κ–΄β†€α—±α—΄α—©Π˜Nγ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ〇𖧷α΄₯α—©Π˜Nα”“α”•κ—³Oα΄₯ᙏ⡙[β΅™πŠŒα”“α”•α—©α™β΅™γ€‡β΅™γ€‡β΅™α™α—©α”“α”•πŠŒβ΅™]/β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.max(⡙ᙏα΄₯Oκ—³α”“α”•Π˜Nα—©α΄₯π–§·γ€‡α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€γ€‡Π˜Nα—©α—±α—΄β†€κ–΄α™α‘α‘•α‘Žα—±α—΄β΅™γ€‡β΅™γ€‡β΅™α—±α—΄α‘Žα‘α‘•α™κ–΄β†€α—±α—΄α—©Π˜Nγ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ〇𖧷α΄₯α—©Π˜Nα”“α”•κ—³Oα΄₯ᙏ⡙[β΅™πŠŒα”“α”•α—©α™β΅™γ€‡β΅™γ€‡β΅™α™α—©α”“α”•πŠŒβ΅™]),0,β΅™α΄₯Oπ–§·α‘α‘•α—©κ—³β΅™α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€β΅™π–§·Π˜Nᗱᗴꖴↀᗩα΄₯α•€α•¦β΅™α™α‘Žα™κ–΄κ•€α—©α™β΅™γ€‡β΅™γ€‡β΅™α™α—©κ•€κ–΄α™α‘Žα™β΅™α•€α•¦α΄₯α—©β†€κ–΄α—±α—΄Π˜Nπ–§·β΅™β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ⡙ꗳᗩᑐᑕ𖧷Oα΄₯β΅™)
   ⡙ᗱᗴᕀᕦᗩᙏꖴ〇ᙏα΄₯Oκ—³α”“α”•Π˜Nα—©α΄₯π–§·γ€‡α—±α—΄α‘α‘•Π˜Nᗩ𖧷ᔓᔕꖴↀ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8α—±α—΄α™α—±α—΄β†€γ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ〇𖧷α΄₯α—©Π˜Nα”“α”•κ—³Oα΄₯ᙏ〇ꖴᙏᗩᕀᕦᗱᗴ⡙[β΅™πŠŒα”“α”•α—©α™β΅™γ€‡β΅™γ€‡β΅™α™α—©α”“α”•πŠŒβ΅™]=cv2.normalize(β΅™α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€γ€‡π–§·Π˜Nᗱᗴꖴↀᗩα΄₯ᕀᕦ〇ↀᗱᗴߦꖴᙁᑐᑕ⡙〇⡙〇⡙ᑐᑕᙁꖴߦᗱᗴↀ〇ᕀᕦα΄₯α—©β†€κ–΄α—±α—΄Π˜Nπ–§·γ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ⡙[:,β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.newaxis],None,0,1,cv2.NORM_MINMAX).flatten()
  else:
   ⡙ᗱᗴᕀᕦᗩᙏꖴ〇ᙏα΄₯Oκ—³α”“α”•Π˜Nα—©α΄₯π–§·γ€‡α—±α—΄α‘α‘•Π˜Nᗩ𖧷ᔓᔕꖴↀ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8α—±α—΄α™α—±α—΄β†€γ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ〇𖧷α΄₯α—©Π˜Nα”“α”•κ—³Oα΄₯ᙏ〇ꖴᙏᗩᕀᕦᗱᗴ⡙[β΅™πŠŒα”“α”•α—©α™β΅™γ€‡β΅™γ€‡β΅™α™α—©α”“α”•πŠŒβ΅™]=⡙ᙏα΄₯Oκ—³α”“α”•Π˜Nα—©α΄₯π–§·γ€‡α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€γ€‡Π˜Nα—©α—±α—΄β†€κ–΄α™α‘α‘•α‘Žα—±α—΄β΅™γ€‡β΅™γ€‡β΅™α—±α—΄α‘Žα‘α‘•α™κ–΄β†€α—±α—΄α—©Π˜Nγ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ〇𖧷α΄₯α—©Π˜Nα”“α”•κ—³Oα΄₯ᙏ⡙[β΅™πŠŒα”“α”•α—©α™β΅™γ€‡β΅™γ€‡β΅™α™α—©α”“α”•πŠŒβ΅™]/β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.max(⡙ᙏα΄₯Oκ—³α”“α”•Π˜Nα—©α΄₯π–§·γ€‡α—±α—΄α‘α‘•Π˜Nα—©π–§·α”“α”•κ–΄β†€γ€‡Π˜Nα—©α—±α—΄β†€κ–΄α™α‘α‘•α‘Žα—±α—΄β΅™γ€‡β΅™γ€‡β΅™α—±α—΄α‘Žα‘α‘•α™κ–΄β†€α—±α—΄α—©Π˜Nγ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ〇𖧷α΄₯α—©Π˜Nα”“α”•κ—³Oα΄₯ᙏ⡙[β΅™πŠŒα”“α”•α—©α™β΅™γ€‡β΅™γ€‡β΅™α™α—©α”“α”•πŠŒβ΅™])

⡙ᗱᗴᕀᕦᗩᙏꖴ〇ᙏα΄₯Oκ—³α”“α”•Π˜Nα—©α΄₯π–§·γ€‡α—±α—΄α‘α‘•Π˜Nᗩ𖧷ᔓᔕꖴↀ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™γ€‡π–§·κ–΄8γ€‡π“ƒŽΒ·β΅™γ€‡β΅™γ€‡β΅™Β·π“ƒŽγ€‡8κ–΄π–§·γ€‡α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8α—±α—΄α™α—±α—΄β†€γ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ〇𖧷α΄₯α—©Π˜Nα”“α”•κ—³Oα΄₯ᙏ〇ꖴᙏᗩᕀᕦᗱᗴ⡙=(⡙ᗱᗴᕀᕦᗩᙏꖴ〇ᙏα΄₯Oκ—³α”“α”•Π˜Nα—©α΄₯π–§·γ€‡α—±α—΄α‘α‘•Π˜Nᗩ𖧷ᔓᔕꖴↀ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8α—±α—΄α™α—±α—΄β†€γ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ〇𖧷α΄₯α—©Π˜Nα”“α”•κ—³Oα΄₯ᙏ〇ꖴᙏᗩᕀᕦᗱᗴ⡙*65535).astype(β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.uint16)

def β΅™α΄₯ꕀᗱᗴ〇ᗱᗴ𖧷ᗩα΄₯α—±α—΄Π˜Nα—±α—΄α•€α•¦β΅™γ€‡β΅™γ€‡β΅™α•€α•¦α—±α—΄Π˜Nα—±α—΄α΄₯ᗩ𖧷ᗱᗴ〇ᗱᗴꕀα΄₯β΅™(β΅™α—±α—΄α™α—©Π˜Nγ€‡α—±α—΄α™κ–΄κ—³β΅™γ€‡β΅™γ€‡β΅™κ—³κ–΄α™α—±α—΄γ€‡Π˜Nᗩᙏᗱᗴ⡙,⡙ᗩ𖧷ᗩↀ⡙〇⡙〇⡙ↀᗩ𖧷ᗩ⡙):
 if ⡙ᗩ𖧷ᗩↀ⡙〇⡙〇⡙ↀᗩ𖧷ᗩ⡙.ndim==2:
  β΅™π–§·μ˜·α•€α•¦κ–΄α—±α—΄μ˜·β΅™γ€‡β΅™γ€‡β΅™μ˜·α—±α—΄κ–΄α•€α•¦μ˜·π–§·β΅™,β΅™μ˜·π–§·β†€κ–΄α—―β΅™γ€‡β΅™γ€‡β΅™α—―κ–΄β†€π–§·μ˜·β΅™=⡙ᗩ𖧷ᗩↀ⡙〇⡙〇⡙ↀᗩ𖧷ᗩ⡙.shape
  β΅™α™α—±α—΄Π˜Nα—©μ˜·α‘α‘•γ€‡α—©μ˜·ί¦α™α—©β΅™γ€‡β΅™γ€‡β΅™α—©α™ί¦μ˜·α—©γ€‡α‘α‘•μ˜·α—©Π˜Nᗱᗴᙁ⡙=⡙ᗩ𖧷ᗩↀ⡙〇⡙〇⡙ↀᗩ𖧷ᗩ⡙/β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.max(⡙ᗩ𖧷ᗩↀ⡙〇⡙〇⡙ↀᗩ𖧷ᗩ⡙)
  ⡙ᗩ𖧷ᗩↀ⡙〇⡙〇⡙ↀᗩ𖧷ᗩ⡙=β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.stack((⡙ᗩ𖧷ᗩↀ⡙〇⡙〇⡙ↀᗩ𖧷ᗩ⡙,)*3+(β΅™α™α—±α—΄Π˜Nα—©μ˜·α‘α‘•γ€‡α—©μ˜·ί¦α™α—©β΅™γ€‡β΅™γ€‡β΅™α—©α™ί¦μ˜·α—©γ€‡α‘α‘•μ˜·α—©Π˜Nᗱᗴᙁ⡙,),axis=-1)
 elif ⡙ᗩ𖧷ᗩↀ⡙〇⡙〇⡙ↀᗩ𖧷ᗩ⡙.ndim==3 and ⡙ᗩ𖧷ᗩↀ⡙〇⡙〇⡙ↀᗩ𖧷ᗩ⡙.shape[2]==4:
  β΅™π–§·μ˜·α•€α•¦κ–΄α—±α—΄μ˜·β΅™γ€‡β΅™γ€‡β΅™μ˜·α—±α—΄κ–΄α•€α•¦μ˜·π–§·β΅™,β΅™μ˜·π–§·β†€κ–΄α—―β΅™γ€‡β΅™γ€‡β΅™α—―κ–΄β†€π–§·μ˜·β΅™,β΅™α”“α”•α™α—±α—΄Π˜Nα—©μ˜·α‘α‘•β΅™γ€‡β΅™γ€‡β΅™α‘α‘•μ˜·α—©Π˜Nᗱᗴᙁᔓᔕ⡙=⡙ᗩ𖧷ᗩↀ⡙〇⡙〇⡙ↀᗩ𖧷ᗩ⡙.shape
 else:
  raise ValueError("")

 ⡙ᗱᗴߦ人𖧷〇ᙁᗱᗴꕀꖴߦ⡙〇⡙〇⡙ߦꖴꕀᗱᗴᙁ〇𖧷人ߦᗱᗴ⡙=Imath.PixelType(Imath.PixelType.FLOAT)
 β΅™α΄₯α—±α—΄β†€α—©α—±α—΄μ˜·β΅™γ€‡β΅™γ€‡β΅™μ˜·α—±α—΄α—©β†€α—±α—΄α΄₯β΅™=OpenEXR.Header(β΅™μ˜·π–§·β†€κ–΄α—―β΅™γ€‡β΅™γ€‡β΅™α—―κ–΄β†€π–§·μ˜·β΅™,β΅™π–§·μ˜·α•€α•¦κ–΄α—±α—΄μ˜·β΅™γ€‡β΅™γ€‡β΅™μ˜·α—±α—΄κ–΄α•€α•¦μ˜·π–§·β΅™)

 β΅™α΄₯α—±α—΄β†€α—©α—±α—΄μ˜·β΅™γ€‡β΅™γ€‡β΅™μ˜·α—±α—΄α—©β†€α—±α—΄α΄₯β΅™['β΅™α”“α”•α™α—±α—΄Π˜Nα—©μ˜·α‘α‘•β΅™γ€‡β΅™γ€‡β΅™α‘α‘•μ˜·α—©Π˜Nᗱᗴᙁᔓᔕ⡙']={
  'R':Imath.Channel(⡙ᗱᗴߦ人𖧷〇ᙁᗱᗴꕀꖴߦ⡙〇⡙〇⡙ߦꖴꕀᗱᗴᙁ〇𖧷人ߦᗱᗴ⡙),
  'G':Imath.Channel(⡙ᗱᗴߦ人𖧷〇ᙁᗱᗴꕀꖴߦ⡙〇⡙〇⡙ߦꖴꕀᗱᗴᙁ〇𖧷人ߦᗱᗴ⡙),
  'B':Imath.Channel(⡙ᗱᗴߦ人𖧷〇ᙁᗱᗴꕀꖴߦ⡙〇⡙〇⡙ߦꖴꕀᗱᗴᙁ〇𖧷人ߦᗱᗴ⡙),
  'A':Imath.Channel(⡙ᗱᗴߦ人𖧷〇ᙁᗱᗴꕀꖴߦ⡙〇⡙〇⡙ߦꖴꕀᗱᗴᙁ〇𖧷人ߦᗱᗴ⡙)
 }

 β΅™α—±α—΄α™κ–΄κ—³γ€‡π–§·α‘Žί¦π–§·α‘ŽO⡙〇⡙〇⡙Oα‘Žπ–§·ί¦α‘Žπ–§·γ€‡κ—³κ–΄α™α—±α—΄β΅™=OpenEXR.OutputFile(β΅™α—±α—΄α™α—©Π˜Nγ€‡α—±α—΄α™κ–΄κ—³β΅™γ€‡β΅™γ€‡β΅™κ—³κ–΄α™α—±α—΄γ€‡Π˜Nᗩᙏᗱᗴ⡙.encode('utf-8'),β΅™α΄₯α—±α—΄β†€α—©α—±α—΄μ˜·β΅™γ€‡β΅™γ€‡β΅™μ˜·α—±α—΄α—©β†€α—±α—΄α΄₯β΅™)

 ⡙ᗩ𖧷ᗩↀ〇𖧷ᗩᙁꗳ⡙〇⡙〇⡙ꗳᙁᗩ𖧷〇ↀᗩ𖧷ᗩ⡙=⡙ᗩ𖧷ᗩↀ⡙〇⡙〇⡙ↀᗩ𖧷ᗩ⡙.reshape(β΅™π–§·μ˜·α•€α•¦κ–΄α—±α—΄μ˜·β΅™γ€‡β΅™γ€‡β΅™μ˜·α—±α—΄κ–΄α•€α•¦μ˜·π–§·β΅™*β΅™μ˜·π–§·β†€κ–΄α—―β΅™γ€‡β΅™γ€‡β΅™α—―κ–΄β†€π–§·μ˜·β΅™,4)

 β΅™α—±α—΄α™κ–΄κ—³γ€‡π–§·α‘Žί¦π–§·α‘ŽO⡙〇⡙〇⡙Oα‘Žπ–§·ί¦α‘Žπ–§·γ€‡κ—³κ–΄α™α—±α—΄β΅™.writePixels({
  'R':⡙ᗩ𖧷ᗩↀ〇𖧷ᗩᙁꗳ⡙〇⡙〇⡙ꗳᙁᗩ𖧷〇ↀᗩ𖧷ᗩ⡙[:,0].tobytes(),
  'G':⡙ᗩ𖧷ᗩↀ〇𖧷ᗩᙁꗳ⡙〇⡙〇⡙ꗳᙁᗩ𖧷〇ↀᗩ𖧷ᗩ⡙[:,1].tobytes(),
  'B':⡙ᗩ𖧷ᗩↀ〇𖧷ᗩᙁꗳ⡙〇⡙〇⡙ꗳᙁᗩ𖧷〇ↀᗩ𖧷ᗩ⡙[:,2].tobytes(),
  'A':⡙ᗩ𖧷ᗩↀ〇𖧷ᗩᙁꗳ⡙〇⡙〇⡙ꗳᙁᗩ𖧷〇ↀᗩ𖧷ᗩ⡙[:,3].tobytes()
 })

β΅™α΄₯ꕀᗱᗴ〇ᗱᗴ𖧷ᗩα΄₯α—±α—΄Π˜Nα—±α—΄α•€α•¦β΅™γ€‡β΅™γ€‡β΅™α•€α•¦α—±α—΄Π˜Nα—±α—΄α΄₯ᗩ𖧷ᗱᗴ〇ᗱᗴꕀα΄₯β΅™(f"Π―XƎ.π–£ βšͺ✀ИNᗱᗴ⡙ↀᗩα΄₯α•€α•¦π–£“βœ€β΅™βš­π–£“κž‰β΅ˆβšͺ⊚βšͺ{β΅™α—±α—΄α™α—©Π˜Nγ€‡α—±α—΄α™κ–΄κ—³γ€‡π–§·α‘Žί¦Π˜Nκ–΄β΅™γ€‡β΅™γ€‡β΅™κ–΄Π˜Nί¦α‘Žπ–§·γ€‡κ—³κ–΄α™α—±α—΄γ€‡Π˜Nᗩᙏᗱᗴ⡙}βšͺ⊚βšͺβ΅ˆκž‰π–£“βš­β΅™βœ€π–£“α•€α•¦α΄₯α—©β†€β΅™α—±α—΄Π˜N✀βšͺπ–£ .EXR",1-⡙ᗱᗴᕀᕦᗩᙏꖴ〇ᙏα΄₯Oκ—³α”“α”•Π˜Nα—©α΄₯π–§·γ€‡α—±α—΄α‘α‘•Π˜Nᗩ𖧷ᔓᔕꖴↀ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8α—±α—΄α™α—±α—΄β†€γ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ〇𖧷α΄₯α—©Π˜Nα”“α”•κ—³Oα΄₯ᙏ〇ꖴᙏᗩᕀᕦᗱᗴ⡙)
β΅™α΄₯ꕀᗱᗴ〇ᗱᗴ𖧷ᗩα΄₯α—±α—΄Π˜Nα—±α—΄α•€α•¦β΅™γ€‡β΅™γ€‡β΅™α•€α•¦α—±α—΄Π˜Nα—±α—΄α΄₯ᗩ𖧷ᗱᗴ〇ᗱᗴꕀα΄₯β΅™(f"Π―XƎ.π–£ βšͺα”“α”•α™α—±α—΄α‘α‘•π–£“β†€α—±α—΄α™α—±α—΄βš­α—©α™π–£“α΄₯ⓄᙁⓄᑐᑕβšͺ⊚βšͺ{β΅™α—±α—΄α™α—©Π˜Nγ€‡α—±α—΄α™κ–΄κ—³γ€‡π–§·α‘Žί¦Π˜Nκ–΄β΅™γ€‡β΅™γ€‡β΅™κ–΄Π˜Nί¦α‘Žπ–§·γ€‡κ—³κ–΄α™α—±α—΄γ€‡Π˜Nᗩᙏᗱᗴ⡙}βšͺ⊚βšͺᑐᑕⓄᙁⓄα΄₯π–£“α™α—©βš­α—±α—΄α™α—±α—΄β†€π–£“α‘α‘•α—±α—΄α™α”“α”•βšͺπ–£ .EXR",β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.concatenate([(⡙ᗱᗴᕀᕦᗩᙏꖴ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8ᗱᗴᙁᗱᗴↀ〇ꖴᙏᗩᕀᕦᗱᗴ⡙/β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.max(⡙ᗱᗴᕀᕦᗩᙏꖴ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8ᗱᗴᙁᗱᗴↀ〇ꖴᙏᗩᕀᕦᗱᗴ⡙)).astype(β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.float32)],axis=-1))

cv2.imencode('.png',cv2.normalize(⡙ↀᙁOμ˜·α”“α”•α—±α—΄α΄₯μ˜·π–§·β΅™γ€‡β΅™γ€‡β΅™π–§·μ˜·α΄₯α—±α—΄α”“α”•μ˜·Oᙁↀ⡙,None,0,255,cv2.NORM_MINMAX))[1].tofile(f"κ“¨Π˜κŸΌ.π–£ βšͺβ†€α™β“„μ˜·α”“α”•α—±α—΄α΄₯옷✀βšͺ⊚βšͺ{β΅™α—±α—΄α™α—©Π˜Nγ€‡α—±α—΄α™κ–΄κ—³γ€‡π–§·α‘Žί¦Π˜Nκ–΄β΅™γ€‡β΅™γ€‡β΅™κ–΄Π˜Nί¦α‘Žπ–§·γ€‡κ—³κ–΄α™α—±α—΄γ€‡Π˜Nᗩᙏᗱᗴ⡙}βšͺ⊚βšͺ✀옷α΄₯α—±α—΄α”“α”•μ˜·β“„α™β†€βšͺπ–£ .PNG")
cv2.imencode('.png',cv2.normalize(255-⡙ᗱᗴᕀᕦᗩᙏꖴ〇ᙏα΄₯Oκ—³α”“α”•Π˜Nα—©α΄₯π–§·γ€‡α—±α—΄α‘α‘•Π˜Nᗩ𖧷ᔓᔕꖴↀ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8α—±α—΄α™α—±α—΄β†€γ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ〇𖧷α΄₯α—©Π˜Nα”“α”•κ—³Oα΄₯ᙏ〇ꖴᙏᗩᕀᕦᗱᗴ⡙*255,None,0,255,cv2.NORM_MINMAX).astype(β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.uint8))[1].tofile(f"κ“¨Π˜κŸΌ.π–£ βšͺ✀ИNᗱᗴ⡙ↀᗩα΄₯α•€α•¦π–£“βœ€β΅™βš­π–£“β‹βšͺ⊚βšͺ{β΅™α—±α—΄α™α—©Π˜Nγ€‡α—±α—΄α™κ–΄κ—³γ€‡π–§·α‘Žί¦Π˜Nκ–΄β΅™γ€‡β΅™γ€‡β΅™κ–΄Π˜Nί¦α‘Žπ–§·γ€‡κ—³κ–΄α™α—±α—΄γ€‡Π˜Nᗩᙏᗱᗴ⡙}βšͺ⊚βšͺβ‹π–£“βš­β΅™βœ€π–£“α•€α•¦α΄₯α—©β†€β΅™α—±α—΄Π˜N✀βšͺπ–£ .PNG")
cv2.imencode('.png',65535-⡙ᗱᗴᕀᕦᗩᙏꖴ〇ᙏα΄₯Oκ—³α”“α”•Π˜Nα—©α΄₯π–§·γ€‡α—±α—΄α‘α‘•Π˜Nᗩ𖧷ᔓᔕꖴↀ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™γ€‡π–§·κ–΄8γ€‡π“ƒŽΒ·β΅™γ€‡β΅™γ€‡β΅™Β·π“ƒŽγ€‡8κ–΄π–§·γ€‡α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8α—±α—΄α™α—±α—΄β†€γ€‡β†€κ–΄α”“α”•π–§·α—©Π˜Nᑐᑕᗱᗴ〇𖧷α΄₯α—©Π˜Nα”“α”•κ—³Oα΄₯ᙏ〇ꖴᙏᗩᕀᕦᗱᗴ⡙)[1].tofile(f"κ“¨Π˜κŸΌ.π–£ βšͺ✀ИNᗱᗴ⡙ↀᗩα΄₯α•€α•¦π–£“βœ€β΅™βš­π–£“β ΏΒ·βšͺ⊚βšͺ{β΅™α—±α—΄α™α—©Π˜Nγ€‡α—±α—΄α™κ–΄κ—³γ€‡π–§·α‘Žί¦Π˜Nκ–΄β΅™γ€‡β΅™γ€‡β΅™κ–΄Π˜Nί¦α‘Žπ–§·γ€‡κ—³κ–΄α™α—±α—΄γ€‡Π˜Nᗩᙏᗱᗴ⡙}βšͺ⊚βšͺΒ·β Ώπ–£“βš­β΅™βœ€π–£“α•€α•¦α΄₯α—©β†€β΅™α—±α—΄Π˜N✀βšͺπ–£ .PNG")
cv2.imencode('.png',cv2.normalize(⡙ᗱᗴᕀᕦᗩᙏꖴ〇ↀᗱᗴᙁᗱᗴ8α—©α™γ€‡α—±α—΄α™ί¦κ–΄π–§·α™α‘Žα™β΅™γ€‡β΅™γ€‡β΅™α™α‘Žα™π–§·κ–΄ί¦α™α—±α—΄γ€‡α™α—©8ᗱᗴᙁᗱᗴↀ〇ꖴᙏᗩᕀᕦᗱᗴ⡙,None,0,255,cv2.NORM_MINMAX).astype(β΅™δΊΊί¦α™α‘ŽΠ˜Nβ΅™γ€‡β΅™γ€‡β΅™Π˜Nα‘Žα™ί¦δΊΊβ΅™.uint8))[1].tofile(f"κ“¨Π˜κŸΌ.π–£ βšͺα”“α”•α™α—±α—΄α‘α‘•π–£“β†€α—±α—΄α™α—±α—΄βš­α—©α™π–£“α΄₯ⓄᙁⓄᑐᑕβšͺ⊚βšͺ{β΅™α—±α—΄α™α—©Π˜Nγ€‡α—±α—΄α™κ–΄κ—³γ€‡π–§·α‘Žί¦Π˜Nκ–΄β΅™γ€‡β΅™γ€‡β΅™κ–΄Π˜Nί¦α‘Žπ–§·γ€‡κ—³κ–΄α™α—±α—΄γ€‡Π˜Nᗩᙏᗱᗴ⡙}βšͺ⊚βšͺᑐᑕⓄᙁⓄα΄₯π–£“α™α—©βš­α—±α—΄α™α—±α—΄β†€π–£“α‘α‘•α—±α—΄α™α”“α”•βšͺπ–£ .PNG")
exit()

Embed on website

To embed this program on your website, copy the following code and paste it into your website's HTML: