Four image processing filters implemented in pure C and in OpenCL to compare their performances.
Edge Detection with Canny's algorithm
| Raw | Processed |
|---|---|
![]() |
![]() |
Line Detection with Hough's transform
| Raw | Processed |
|---|---|
![]() |
![]() |
Dense Optical Flow with Lucas-Kanade
| Raw | Processed |
|---|---|
![]() |
![]() |
Region Filling via exemplar-based image inpainting
| Raw | Processed |
|---|---|
![]() |
![]() |
Filters are implemented using OpenCL 1.2. To download needed headers and libraries (linux) for compilation run:
sudo apt install ocl-icd-libopencl1
sudo apt install opencl-headers
sudo apt install clinfoWe've also used the C++ bindings, which are included in the repo.
A device that supports OpenCL is needed to run the program. Drivers installation varies. These are some devices in which the program ran and how to install their drivers:
NVIDIA GeForce 940m
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-355 nvidia-prime
sudo rebootFor camera input only. Central algorithms are not implemented using this library.
To get eveything needed to compile run:
sudo apt-get install libopencv-devFor an advanced GUI only, not actually needed to run the bascis. More information at gui/readme.md










