Program written on C++ with OpenGL's GLSL shaders to transform images by applying kernel convolutions.
Application created to process texture with various kernels:
- Edge detecting kernels (Prewitt, Sobel, Scharr)
- Smoothing kernels (Average)
- Denoising kernels (Median)
Created with:
- SDL2 and SDL2_image
- ImGui
- OpenGL
Requirements:
- OpenGL >= 4.2, or otherwise:
- change kOpenGlVersion and kGlslVersion in application_config.h)
- change API version in glad2_loader/CMakeLists.txt
- fix .frag shaders in shaders/
- C++ compiler supporting C++20 standard
- CMake >= 3.15
- otherwise, try change VERSION in CMakeLists.txt
- Installed SDL2 & SDL2_image libraries
Clone project with submodules (choose one of the repositories):
git clone https://github.com/ValeryKameko/image-processor --recurse-submodules
git clone https://gitlab.com/ValeryKameko/image-processor --recurse-submodules
Build CMake project:
cd ./image-processor
mkdir ./cmake-build-release
cd ./cmake-build-release
cmake .. -DCMAKE_BUILD_TYPE=Release
To run application:
cd ./bin
# for WINDOWS
./image-processor.exe
# for Linux
./image-processor
Tested on:
- Windows (GNU GCC 9.0 MinGW, CMake 3.15, OpenGL 4.6)