A terminal based application applying color filters, edge detection, and gaussian blur using parallel algorithms with OpenMP.
- Incorporates an image processing library, OpenCV for matrix construction, pixel channel access, loading, saving and displaying the images.
- Applies parallel algorithm with OpenMP directives: parallel for collapse, num_threads specification, and single parallel region.
- Download and install CMake: https://cmake.org/
- Download and install OpenCV: https://opencv.org/releases/
- Clone this repo, or download the .zip and unzip
- Into the project's directory build:
cmake --build .\build\ --config Release - Run:
.\build\Release\prjname.exe
- Pixel Channel Manipulation - setting opposing channels to 0 or 255 to intensify for the selected color
- Grayscale - Using a single channel and calculating the luma of each pixel with sRGB values
- Gaussian Blur Theory - Using a Gaussian kernel of 7 and sigma of 7 for blur intensity followed by calculating the weight of each neighbioring pixel
- Edge Detection - Using Difference of Gaussians Theory with a sigma of 2 and 9, a kernel of 7 and threshold intensity of 4
