efi-flicker-test: media de brillo vía %[fx:mean] normalizado (0..1)
El 1er número de identify -verbose varía por quantum (10.99 en PPM vs 0.129 en PNG para la misma imagen); el normalizado 0..1 es fiable. Validado: negro→0, texto→11, umbral 1.5 los separa. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -58,10 +58,10 @@ kill "$QPID" 2>/dev/null || true; wait "$QPID" 2>/dev/null || true
|
||||
|
||||
echo "==> analizando el framebuffer capturado"
|
||||
[ -r "$SHOT" ] || { echo "✗ no se capturó el framebuffer"; exit 1; }
|
||||
# media de brillo normalizada 0..255 (imagemagick reporta en % o 0..1 según versión → forzamos 0..255)
|
||||
MEAN=$(identify -verbose "$SHOT" | awk '/[Mm]ean:/ {gsub(/[()]/,""); print $2; exit}')
|
||||
# si identify reportó fracción 0..1, escalar ×255
|
||||
MEAN255=$(python3 -c "m=float('$MEAN'); print(m*255 if m<=1.0 else m)")
|
||||
# %[fx:mean] = media de brillo NORMALIZADA 0..1 (fiable entre versiones/quantum; el 1er número de
|
||||
# `identify -verbose` varía por quantum). ×255 para expresarla 0..255. Negro ≈ 0; texto de boot ≈ 11.
|
||||
MEANNORM=$(identify -format '%[fx:mean]' "$SHOT")
|
||||
MEAN255=$(python3 -c "print(float('$MEANNORM')*255)")
|
||||
GEO=$(identify -format '%wx%h' "$SHOT")
|
||||
printf " framebuffer %s · media de brillo = %.3f / 255 (umbral cero-parpadeo: < %.1f)\n" "$GEO" "$MEAN255" "$MEAN_MAX"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user