Pick centers in KMeans++ with a probability proportional to their distance^2, instead of simple distance, to previous centers
Apply to KMeansIndex KMeanspp the same modification as in HierarchicalClusteringIndex
As some processed distances are already ^2, use template to select whether or not we have to ^2 in KMeanspp
Move templates in dist.h in order to share them between KMeansIndex and HierarchicalClusteringIndex classes.
New KNN code -should compile now
function code
some fixes
modified BackgroundSubtractorMOG2::getBackgroundImage so that it can now work with gray-level images.
Optimizations to OpenCL bilateral filter.
Python typdef fixed. Reverted the example to MOG2. Not time to make the command line switch for now.
Prototype OCL version of gaussian blur with integer arithmetic
perf report: summary.py: added custom --regressions map
Added integer arithmetic to sepFilter2D
Use GTK_VERSION_MAJOR to switch between  GTK+ version two and three
specific code. As a result of this, HAVE_GTK3 no longer needs to be
exposed.

The use of HAVE_GTK, and HAVE_ GTK3 have been changed to mirror the
method used by HAVE_QT and HAVE_QT5.
 On branch gtk3
 Changes to be committed:
        modified:   CMakeLists.txt
        modified:   cmake/OpenCVFindLibsGUI.cmake
        modified:   cmake/templates/cvconfig.h.in
        modified:   modules/highgui/src/window.cpp
        modified:   modules/highgui/src/window_gtk.cpp
Improve GTK+ library selection logic.

The new logic will select GTK+3 by default if WITH_GTK is selected. If
the GTK+3 libraries are not found, then GTK+2 libraries will be selected
if found.
This can be overridden by using WITH_GTK_2_X to force selection of GTK+2
(if found).
Small refactoring
Enabled integer arithmetic for row_filter_C1_D0
Enabled integer arithmetic for filterSepSinglePass
KAZE and AKAZE integration initial commit
Prepare KAZE and AKAZE sources for integration