/EdgePreserving-Blur

C++ codes of implementation of Edge-preserving Multiscale Image Decomposition based on Local Extrema

Primary LanguageC++

EdgePreserving-Blur

This program creates beautiful blurred images while preserving the edges, texture and details in them.
Basically, it's a c++ implementation of Edge-preserving multiscale image decomposition based on local extrema by Subr, Kartic, Cyril Soler, and Frédo Durand. ACM Transactions on Graphics (TOG) 28.5 (2009): 147.

Input k=5 k=13
alt text
Chihuly Garden and Glass
alt text alt text
alt text
Chihuly Garden and Glass
alt text alt text
alt text Dean Cheng alt text alt text

Dependencies

  • OpenCV
  • Eigen

Building

$ git clone https://github.com/yafangshih/EdgePreserving-Blur.git
$ cd EdgePreserving-Blur
$ mkdir build
$ cd build
$ cmake ..
$ make

Example

$ cd EdgePreserving-Blur
$ ./build/EdgePreservingBlur ./data/input/taipei101.jpg 3

Running Time

It takes 5m51.548s to process a 1463 × 2048 image (data/input/taipei101.jpg) with k=3 on a MacBook Pro 2014.