The image editor used in the Advanced Image Processing course.
The Advanced Image Processor is a simple image editor, which is written in C++20 and runs on Windows, and can be compiled into single executable.
- Supported image file formats:
- open: BMP, GIF, JPEG, PNG, PPM (P5 and P6)
- save: JPG, PNG
- Gray scale and gray histogram
- Gaussian noise (with adjustable sigma)
- Image resizing
- HAAR wavelet transform
- Histogram equalization
- Convolution
- ...and more features in the future
This project uses the following third-party libraries:
- Dear ImGUI (v1.84.2) - interactive GUI
- GLFW (v3.3.4) - window display
- Native File Dialog Extended (master (commit 800e880)) - GUI filesystem dialog
- stb_image, stb_image_write (v2.27, v1.16) - load/save image file
- stb_image_resize (v0.97) - resize image
- clip - clipboard support
- Freetype (v2.11.0) - font rasterization
- Source Han Sans (v2.004R) - CJK font support
The followings are the tested build tools and platform.
- Windows 10 x86-64
- MinGW-w64 from MSYS
- CMake
The dependent libraries are provided in the libs
directory in order to simplify the preparation and explicitly specify the version of dependencies.
- Clone the repository and its submodules.
- Run
build.bat
in the project directory. - Then the single executable file is in the
build/bin
directory.
Or use the following commands:
git clone https://github.com/shangchiwu/advanced-image-processor.git --recursive
cd advanced-image-processor
./build.bat