cat > /workspace/scratch/localfixes.py <<'PY'
import cv2,numpy as np,json,sys
from PIL import Image
boxes=json.load(open('/workspace/scratch/detailboxes.json'));src=json.load(open('/workspace/scratch/sources.json'))
def fix(s,polys):
 p='/workspace/scratch/finalmasks/'+s+'.png';m=cv2.imread(p,0);m=(m>127).astype('uint8')*255;ox,oy=boxes[s][:2]
 for pp in polys:cv2.fillPoly(m,[np.array(pp,'int32')+[ox,oy]],0)
 m=cv2.GaussianBlur(m,(3,3),.4);cv2.imwrite(p,m)
 im=Image.open('/workspace/input/'+src[s]);o=Image.new('RGB',im.size,(15,92,138));o.paste(im,(0,0),Image.fromarray(m));o.crop(boxes[s]).save('/workspace/scratch/check_'+s+'.png')
if __name__=='__main__':
 fix('HH-8205',[
 [[496,500],[550,500],[550,640],[504,640],[501,612],[460,607],[460,598],[464,586],[460,575],[454,568],[452,555],[457,550],[455,544],[471,536],[479,520],[496,510]],
 [[246,784],[274,784],[279,809],[245,810]]])
PY
python /workspace/scratch/localfixes.py