mirror of
http://CODE.RHODECODE.COM/u/O/O/O
synced 2024-11-29 16:48:40 -05:00
81 lines
21 KiB
Python
81 lines
21 KiB
Python
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Ꭵâµ=(1.65625/128)/4.3393447 # 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áââµ=âµð§·ì·á€áŠêŽá±áŽì·âµãâµãâµì·á±áŽêŽá€áŠì·ð§·âµ*âµì·ð§·âêŽá¯âµãâµãâµá¯êŽâð§·ì·âµ/16
|
||
|
||
âµá±áŽá€áŠá©áêŽãáᎥ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() |