* Use `nth_element()` to find the median instead of `sort()` in `LMeDSPointSetRegistrator::run()`
* Improves performance of this part of LMedS from `n log(n)` to `n` by avoiding doing a full sort.
* Makes LMedS 2x faster for 100 points, 4x faster for 5,000 points in `EstimateAffine2D()`.
* LMedS is now never more than 2x slower than RANSAC and is faster in some cases.
* Added 2-channel ops to match existing 3-channel and 4-channel ops
* v_load_deinterleave() and v_store_interleave()
* Implements float32x4 only on SSE (but all types on NEON and CPP)
* Includes tests
* Will be used to vectorize 2D functions, such as estimateAffine2D()
* expose 2 extra methods from ml::TrainData: getNames() and getVarSymbolFlags(). The first one returns text labels from CSV (if the data has been loaded from CSV); the second one returns a matrix of boolean values; its n-th element is 1 iff the corresponding column in the CSV uses symbolic names, not numbers.
* check that the dynamic_cast succeeds
* Add Grana's connected components algorithm for 8-way connectivity. That algorithm is faster than Wu's one (currently implemented in opencv). For more details see https://github.com/prittt/YACCLAB.
* New functions signature and distance transform compatibility
* Add tests to imgproc/test/test_connectedcomponents.cpp
* Change of test_connectedcomponents.cpp for c++98 support
CvVideoWriter_AVFoundation_Mac had a serious buffer release bug.
Also made writeFrame() block until isReadyForMoreMediaData rather than
return an error.
UIImages with alpha were ending up with garbage pixels in background (random memory values). Need to initialize matrix pixels before drawing UIImage with alpha on it.
Note: didn’t fix Grayscale image with alpha stripping alpha in UIImage -> Mat conversion.
1. if a component's variation is a global minimum than it should be a local minimum
2. for the small image with invert and blur, the MSERs number should be 20