frigate/frigate/output
ryzendigo 49ffd0b01a
fix: handle custom logo images without alpha channel (#22468)
cv2.imread with IMREAD_UNCHANGED loads the image as-is, but the code
unconditionally indexes channel 3 (birdseye_logo[:, :, 3]) assuming
RGBA format. This crashes with IndexError for:

- Grayscale PNGs (2D array, no channel dimension)
- RGB PNGs without alpha (3 channels, no index 3)
- Fully transparent PNGs saved as grayscale+alpha (2 channels)

Handle all image formats:
- 2D (grayscale): use directly as luminance
- 4+ channels (RGBA): extract alpha channel (existing behavior)
- 3 channels (RGB/BGR): convert to grayscale

Also fixes the shape[0]/shape[1] swap in the array slice that breaks
non-square images (related to #6802, #7863).
2026-03-16 06:46:31 -06:00
..
birdseye.py fix: handle custom logo images without alpha channel (#22468) 2026-03-16 06:46:31 -06:00
camera.py Properly call super() in subclasses (#14124) 2024-10-02 19:35:46 -06:00
output.py Add dynamic configuration for more fields (#22295) 2026-03-06 13:45:39 -07:00
preview.py ffmpeg Preview Segment Optimization for "high" and "very_high" (#21996) 2026-02-26 21:27:56 -07:00