Skip to content

Fabulani/360ip-with-cuda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

360° Image Processing with CUDA and OpenCV

This project was developed in the 3-day sprint for my Real-time image processing with CPUs and GPUs class in University of Jean-Monnet Saint-Étienne (UJM) for my Master program IMLEX. The goal of this project is to experiment with different formats of 360° images and videos, and apply image processing techniques using openCV and CUDA.

Equirectangular Image Cubemap Image

Goals

The following goals were set:

  • implement the following image transformations with OpenCV and CUDA:
    • Equirectangular => Cube map
    • Cube map => Equirectangular
  • apply image processing methods (e.g., gaussian blur) to an equirectangular image and display it with image-360.html
  • apply image processing methods to each face of a cube map and transform the result in its equirectangular representation, then display it with image-360.html
  • apply the cube based method on normal and stereo videos

Prerequisites

  • C++ compiler
  • OpenCV
  • CUDA

Data

Data used is a self-capture of 360° equirectangular images, which were used to generate the cube map images. A 360° video was also used and can be obtained by downloading from here or by using wget:

wget https://drive.google.com/file/d/11EXntJ0xs5AxysyZY65hkW75XnG7FZTw/view?usp=share_link

Folder structure

The project is organized as follows:

  • build: contains generated executables
  • data: contains the data (i.e., images and videos). Program output goes to data/out.
  • docs: contains documentation (mostly for this readme)
  • src: contains source code (.cpp, .cu, .html, etc)

Compiling and executing

To compile, simply run sh compile.sh.

To execute, pass in as an argument the path to the image file:

# Equirectangular to cubemap conversion:
./build/equiToCube ./data/image-360.jpg

# Cubemap to equirectangular conversion:
./build/cubeToEqui ./data/image-360-cubemap.jpg