Skip to content

omaralvarez/GCVL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d41fb9c · Jul 9, 2018
Jun 17, 2015
Jun 26, 2015
Sep 15, 2015
Sep 7, 2015
Sep 10, 2015
Jul 12, 2015
Sep 10, 2015
Sep 3, 2015
Sep 9, 2015
Jun 12, 2015
Jun 8, 2015
Jul 9, 2018

Repository files navigation

GPU Computer Vision Library Build Status Coverage Status

Multi-platform (Windows, Unix and Mac OS) C++/OpenCL/CUDA library with several Computer Vision algorithms.

Building:

cmake -G "Unix Makefiles" -DBUILD_OPENCL=ON -DBUILD_CUDA=ON -DBUILD_TESTS=ON .
make

Example:

#include <gcvl/blockmatching.h>
#include <gcvl/opencl/oclcore.h>
#include <gcvl/opencl/oclblockmatching.h>
#include <gcvl/cuda/cudacore.h>
#include <gcvl/cuda/cudablockmatching.h>

//argv[1] -> path to left image   argv[2] -> path to right image
int main(int argc, char *argv[]) {

  int dim = 5, maxDisp = 16;
  bool norm = true;
  std::unique_ptr<unsigned char[]> output;
  
  gcvl::BlockMatching bmCPU(argv[1], argv[2], output);
  bmCPU.setAggDim(dim);
  bmCPU.setMaxDisp(maxDisp);
  bmCPU.setNormalize(norm);
  bmCPU.compute();
  
  gcvl::opencl::Core coreOCL;
  gcvl::opencl::BlockMatching bmOCL(coreOCL, argv[1], argv[2], output);
  bmOCL.setAggDim(dim);
  bmOCL.setMaxDisp(maxDisp);
  bmOCL.setNormalize(norm);
  bmOCL.compute();
  
  gcvl::cuda::Core coreCUDA;
  gcvl::cuda::BlockMatching bmCUDA(coreCUDA, argv[1], argv[2], output);
  bmCUDA.setAggDim(dim);
  bmCUDA.setMaxDisp(maxDisp);
  bmCUDA.setNormalize(norm);
  bmCUDA.compute();
  
  return 0;
  
}

Documentation:

Doxygen documentation is available for GCVL here.