Project
ImgMixer
A real-time image convolution playground built with C++ and SDL3
Overview
Convolution kernels, applied live
ImgMixer loads an image into a software framebuffer and lets you apply classic image-processing kernels in real time, watching the pixel buffer update as you switch effects.
The project is built on SDL3 for windowing and rendering, with a custom FRAME abstraction for the pixel buffer and a KERNEL module that implements each convolution filter. Keyboard shortcuts toggle between blur, Gaussian blur, emboss, Laplacian, Sobel edge detection, ridge detection, sharpen, and color inversion — with the option to reset or save the current frame at any time.
Approach
A pixel buffer and a kernel library
Rather than relying on an existing image-processing library, each convolution kernel is implemented directly against the raw frame buffer, giving full control over how the matrix is applied per pixel.
Load image → framebuffer → convolution kernel pass → SDL texture update → optional save
Gallery
Same source image, different kernels



8
Convolution kernels implemented
C++17
Core implementation
SDL3
Real-time rendering
Live
Keyboard-driven effect switching
Project details
Timeline
Role
Platform
Tools
Effects