#!/usr/bin/env python3
import numpy as np
from PIL import Image

im = Image.open('/root/.hermes/image_cache/zrd_cutouts/item_r2c2.png').convert('RGBA')
a = np.array(im)
rgb, al = a[:, :, :3].astype(np.int16), a[:, :, 3]
h, w = al.shape
interior = al > 250
transp = al < 10
edge = np.zeros((h, w), bool)
for dy, dx in ((1, 0), (-1, 0), (0, 1), (0, -1)):
    sy = slice(max(0, dy), h + min(0, dy))
    sx = slice(max(0, dx), w + min(0, dx))
    ty = slice(max(0, -dy), h + min(0, -dy))
    tx = slice(max(0, -dx), w + min(0, -dx))
    edge[ty, tx] |= transp[sy, sx]
edge &= interior
print('edge px:', int(edge.sum()))
vals = rgb[edge]
print('edge mean RGB:', vals.mean(axis=0).round(1))
print('edge max RGB:', vals.max(axis=0))
bright = int((vals.sum(axis=1) / 3 > 100).sum())
print('bright(>100) edge px:', bright)
ii = interior & ~edge
print('interior mean RGB:', rgb[ii].mean(axis=0).round(1))
# alpha stats
print('alpha min on edge:', int(al[edge].min()), 'mean:', int(al[edge].mean()))
