Demosaic with OpenGL output

We have created high speed demosaic software on GPU to achieve outstanding performance and excellent image quality. Now we have enhanced our solution and can offer realtime rendering for video stream with OpenGL technology. We add OpenGL interface to output data from GPU to monitor and show interoperability for our debayering solution with OpenGL. Application runs two threads, the first thread performs image preprocessing and debayering for input data and the second does rendering. Image data are transferred from CUDA memory to OpenGL texture and then to monitor.

OpenGL rendering pipeline gives opportunity to decrease latency for imaging applications. All data after demosaicing reside in GPU memory and this is the fastest way to send data to monitor via OpenGL interface.

We don't perform image processing on OpenGL because we consider that CUDA is more suitable for that task. OpenGL engine is mostly intended for imaging output and we combine computational power of CUDA together with OpenGL rendering. For camera applications we can get maximum fps with minimum CPU load.

OpenGL logoDemosaicing with OpenGL Rendering and Output

  • All CFA Bayer mosaic patterns for input data supported (RGGB, BGGR, GBRG, GRBG)
  • Read 8/16-bit input CFA image data from HDD/SSD/RAID in PGM format or from PC memory
  • Output format: 24/48-bit RGB image to show on monitor in realtime
  • Minimum latency due to high performance demosaic computations and fast OpenGL output
  • Strong color moire artifacts suppression
  • Timing and performance measurements
  • NVIDIA GPUs (Compute Capability >= 2.0)
  • OpenGL interoperability
  • Command-line application or Qt OpenGL application for Windows-7/8/10 and Linux (32/64)
     Home                   Contacts                 Site Map
GPU Image Processing