* 'master' of github.com:itseez/opencv: (82 commits)
moved part of video to contrib/{outflow, bgsegm}; moved matlab to contrib
added some basic functionality needed by the new face module (moved from the old "contrib")
moved to the new opencv_contrib/face module
fixed various warnings and obvious errors reported by clang compiler and the coverity tool.
Fixed review comment from Vadim Pisarevsky
modified farneback sample to use T-API
ECC patch by the author (G. Evangelidis); fixed some OCL Farneback optical flow test failures on Mac
small fix for GaussianBlur ocl test
fix binary package build
small fix for ocl_resize
fix IOS framework
fixed test ocl_MatchTemplate for sparse matrix
Fixed typos
fixing error, wrong template method param.
fixing Mac build
some formal changes (generally adding constness)
Fixed choice of kercn and rowsPerWI for non-Intel device.
fixed nDiffs for CalcBackProject
fixed tests for ocl_filter2d, ocl_matchTemplate, ocl_histogram.cpp
Fixed issue: Mat::copyTo(UMat) if device copy is obsolete. Added test.
...
Conflicts:
modules/core/include/opencv2/core/mat.inl.hpp
Add Python 3 support to the Python test.py script.
The print function is used in place of the print statement.
The urlopen function has been moved to urllib.request in Python 3, so
attempt to import it from either location.
TestCase.assert_() has been deprecated in place of
TestCase.assertTrue().
The tests all pass in both Python 2 and 3.
Build the Python 3 cv2 module in lib/python3/, to avoid potential naming
conflicts with the Python 2 bindings.
The Python 2 bindings are placed directly in lib/, where they are
required for the Buildbot to successfully execute the Python tests.
The documentation states, that a NULL or an empty window name can be used
to refer to the control panel. But the string parameters of the C++ frontend
methods cannot be NULL and converting an empty string to a const char* by
c_str() doesn't produce a NULL pointer, but an empty string. Unfortunately,
the const char* pointer is just passed on to the standard C functions in
the QT backend, which doesn't check for the empty string case.
There are two places where the empty string check could have been introduced:
inside the frontend or inside the backend. As long as the documentation only
mentions this as a special case for the QT backend, the best place seems to
be there.