Skip to content

Arief-AK/OpenCL-Development-Real-time-Image-Processing

Repository files navigation

OpenCL-Development: Real-time Image Processing

Build Release

Application of OpenCL for real-time image processing on embedded hardware. This work demonstrates the development of image processing methods such as grayscale conversion, edge-detection, and Gaussian blur. The outcome of this project is to highlight OpenCL's praticality for real-world scenarios.

Original         Grayscale         Gaussian Blur         Edge-detection

Note

Realtime Preview

Preview gif

OpenCL setup

OpenCL is typically packaged with graphic drivers from vendors like AMD, Intel, and NVIDIA. To ensure that OpenCL is properly installed on your system, install the latest graphic drivers on your device.

Linux

Ubuntu

sudo apt-get install clinfo ocl-icd-opencl-dev

Arch

Please refer to the Arch documentation.

For AMD GPUs

sudo pacman -S clinfo opencl-mesa

For NVIDIA GPUs

sudo pacman -S clinfo opencl-nvidia

For Intel GPUs

sudo pacman -S intel-compute-runtime

OpenCV setup

All applications in this project utilises the OpenCV library. See the official OpenCV website.

Windows

Download the package from the official OpenCV website or its GitHub page.

Linux

Ubuntu

sudo apt install libopencv-dev clinfo

Arch

sudo pacman -S opencv

In addition to opencv, you may require the hdf5 library as well. You can install this using an AUR package manager.

yay -S hdf5

CMake Setup

Note

Ensure that CMake is properly installed and added to the PATH environment variable on your machine. See CMake official documentation.

This project is developed using visual studio code IDE. The CMake Tools extension is used extensively within the project development. It is highly recommended that users develop with VS code with this extension.

Getting Started

Important

Ensure that camera source is available (webcam or USB camera).

To run the RealtimeImageProcessing application, run the following commands. This will build the RealtimeImageProcesing apllication in Release mode.

Build instructions

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make

Running the Real-time application

cd build/src/RealtimeImageProcessing/Release/
./RealtimeImageProcessing

About

Real-time image processing using OpenCL and OpenCV

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •