Updating STAR detector and FREAK descriptor to work with large and/or 16-bit images
Don't automatically convert to grayscale (keep previous behavior.)
Merge branch 'master' of https://github.com/Itseez/opencv

Conflicts:
	modules/imgproc/src/sumpixels.cpp
Add a new method for initializing KMeans centers that leads to better clusters and thus better retrieval when final centers have to be existing keypoints instead of clusters barycenters.
converted necessary files for python3 compatibility using 2to3
fixed relative imports in Jinja for python3
explicit string encoding when writing to file in python3
Do not build apple objective-c codes if using gcc
Merged upstream master
modified OpenCL SURF API and the tests in 2.4.x to prove that it gives different from CPU results
made SURF_OCL default constructor parameters the same as SURF
modified SURF's performance test to test OpenCL version as well
fixed doc builder warnings; make sure the tests give reasonable results when OpenCL is not available
Merge branch 'master' of https://github.com/Itseez/opencv

Conflicts:
	modules/features2d/include/opencv2/features2d.hpp
	modules/features2d/src/freak.cpp
	modules/features2d/src/stardetector.cpp
Fix for bug #3599: cv::FileStorage does not work for std::vector of user-defined struct.
performance tests for ORB
made the example consistent with the fuction definition and improved doc

made the example consistent with the fuction definition and improved doc
WriteStructContext treats state of fs
1. fix an error in sample code
2. change an external link to maintain consistency with the previous tutorial
ocl_calcOpticalFlowPyrLK optimizations

1. decrease branch number in CL code by replacing them into weights
2. decrease local mem pressure in reduce operation by using private variables
3. decrease image sampler pressure by caching data into local memory
4. remove unnecessary sync point on the HOST side.