Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/xeptore/grayscaler-openmp

Simple educational-purpose multi-threaded image grayscaler - OpenMP version
https://github.com/xeptore/grayscaler-openmp

Last synced: 1 day ago
JSON representation

Simple educational-purpose multi-threaded image grayscaler - OpenMP version

Awesome Lists containing this project

README

        

# OpenMP Grayscaler

Simple educational-purpose multi-threaded image grayscaler - OpenMP version

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

configuration parameters 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/grayscale
```

## Development

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