This project is aimed at demonstrating the convolution process in images using Modern OpenGL. Convolution is a fundamental operation in image processing, widely used in tasks like blurring, edge detection, and noise reduction. This animation visualizes how convolution works by applying different kernels to an input image.
To build and run this project, you need the following dependencies installed on your system:
- CMake (version 3.0 or later)
- OpenGL (version 3.3 or later)
- GLFW (version 3.3 or later)
- GLAD (OpenGL loader generator)
- GLM (OpenGL math library)
- Any C++ compiler with C++11 support
Cmake
sudo apt install cmake
GLFW
sudo apt-get install libglfw3-dev
GLM
sudo apt-get install libglm-dev
Follow these steps to build the project using CMake:
- Clone the repository to your local machine:
git clone https://github.com/ChirayuGupta2003/Convolution-Animation-OpenGL
- Navigate to the project directory:
cd Convolution-Animation-OpenGL
- Create a build directory:
mkdir build
cd build
- Generate build files using CMake:
cmake ..
- Build the project using your preferred build tool (e.g., make for Unix-based systems, Visual Studio for Windows):
cmake --build .
Once you've successfully built the project, you can run the executable to view the convolution animation.
./convolution_animation
- Upon running the program, you will see the animation window.
- You can change the input image in
main.cpp
- You can modify the kernel size and kernel values by editing the appropriate variables in the source code (
main.cpp
).
This project uses Modern OpenGL and is inspired by various resources and tutorials available online. Special thanks to GLFW and GLAD for making OpenGL development more accessible.
This project is licensed under the MIT License.
Chirayu Gupta
For any inquiries or issues regarding the project, please contact chirayugupta2003@gmail.com.