Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/xeptore/blurrifier

Educational-purpose multi-threaded image blurrifier
https://github.com/xeptore/blurrifier

blur-image-converter blur-images c cmake educational educational-project image image-processing jpeg libjpeg multi-thread multi-threaded multi-threading multi-threads multithread multithreaded multithreading multithreads

Last synced: 26 days ago
JSON representation

Educational-purpose multi-threaded image blurrifier

Awesome Lists containing this project

README

        

# 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`](/config.h) file.

2. Build

```sh
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

```sh
./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).