Adds Edge-Preserving Filter (#1690)
* Module EPF - Edge-Preserving Filter added
* Changed name from template to epf
* Removed clang-format file
* Added header Files. Eliminated showWindow function. Used CommandLineParser.
* Moved filter from epf module to ximgproc
* Removed header files from sample
* Minor bug fix in demo. Pointers in demo removed.
* Pointers removed. InputArray/OutputArray added
* License header added
* License header from sample file removed
* Unit test for performance added
* Replaced manual mean computation with cv::mean
* Beautified code via clang-format and https://raw.githubusercontent.com/opencv/opencv_contrib/master/modules/cvv/.clang-format
* Merged historic if... else if statement into one if statement
* Trailing whitespace removed and .. changed into .
* Tabs replaced with 4 spaces.
* Removed subwindow = src(roi);
* Moved type test to beginning of code
* Removed indentation from namespace and added //! @}
* Added name to header
* git cleanup introduced some errors fixed here
* Changed path testdata/perf/320x260.png to perf/320x260.png
* Fixed warning declaration of 'subwindow1' hides previous local declaration
* Fixed warning 'const' qualifier on reference type 'cv::InputArray' (aka 'const cv::_InputArray &') has no effect
* Accuracy test added/
* Renamed void edgepreservingFilter to void edgePreservingFilter
In some case, Discrete Fourier Transform in computeSaliencyImpl() returns
magnitude matrix which contains zero values.
Then, log() returns -inf values and normalization with blur() returns -nan.
When computeBinaryMap() is called double free or corruption exception occurs
because kmeans() fails to compute distance.
Signed-off-by: d.bouron <d.bouron@criteo.com>
* update structured_edge_detection
update structured_edge_detection to read models from updated p. dollar toolbox
* Update structured_edge_detection.cpp
* Update structured_edge_detection.cpp
casting size_t to int