Skip to content

Educational-purpose multi-threaded image blurrifier

License

Notifications You must be signed in to change notification settings

xeptore/blurrifier

Repository files navigation

blurrifier

Educational-purpose multi-threaded image blurrifier.

Currently, only jpeg images are supported using libjpeg.

Usage

  1. Configure

    You can configure

    • input image name (INPUT_IMAGE_FILENAME)
    • output images name (OUTPUT_IMAGE_FILENAME)
    • number of worker threads (NUM_THREADS)
    • convolution kernel window radius (KERNEL_RADIUS)

    configuration variables in config.h file.

  2. Build

    cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
    cmake --build build

    Change Release to Debug in order to include debugg symbol files with output executable.

  3. Run

    ./build/blurrifier

Development

You'll need CMake and a C compiler. I used CMake version 3.20.1 and clang version 11.1.0. If you want to use another compiler, set its path in CMakeLists.txt file (CMAKE_C_COMPILER configuration variable).