Rapid, Detail-Preserving Image Downscaling

Supplemental Video

Source Code

Version Date Description File
Be advised: The CUDA and Matlab version do not produce equal results caused by floating point accuracy differences!
1.0 September, 20th 2016 SIGGRAPH Asia'16 release [CUDA]


CUDA: dpid <image> <width> <height> <lambda>
Matlab: dpid(<image>, <width>, <height>, <lamdba>)

<weight>: integer value
<height>: integer value (optionally: either width or height can be 0, to keep aspect ratio)
<lamdba>: float value (should be between 0.0 and 1.0)
<image>: filename (can be any format that OpenCV/Matlab is able to read)

Dependencies (only CUDA)

  • Nvidia GPU with Compute Capability 3.0
  • CUDA 6.0
  • OpenCV 2.1
  • CMake 2.8


The code on this website is distributed under both the New BSD License and a commercial license. If you want to license the code for commercial purposes, like incorporating parts of it into a proprietary project or link against our libraries without the restrictions imposed by the New BSD License, please get in contact with us. For further information, please see the LICENSE.txt file which is contained in the code distribution.

The code on this website is free software; you can redistribute it and/or modify it under the terms of the New BSD License. A copy of the New BSD License is available at http://opensource.org/licenses/BSD-3-Clause. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.