* Changes delegate property from assign to weak
In modern Objective-C delegate should be weak. In very rare conditions you might want delegate be strong.
Assign for delegate is sign of legacy code.
This change prevents crash when you forget nil delegate in dealloc and makes rush with nilling delegate unnecessary.
This change shouldn't break any existing code.
* Adds implementation for setters and getters for weak delegate properties for non ARC Obj-C files
For whatever reason compiler can't synthesize these.
And yes, it's time to convert all Objective-C stuff to ARC.
* seriously improved performance of blur function, especially 3x3 and 5x5 cases
* trying to fix warnings and test failures
* replaced #if 0 with #if IPP_DISABLE_BLOCK
- calculate ticksTotal instead of ticksMean
- local / global width is based on ticksTotal value
- added instrumentation for OpenCL program compilation
- added instrumentation for OpenCL kernel execution
Minor fix in MatAllocator::upload
Minor fix in MatAllocator::copy
Minor fix in setSize function
Minor fix in Mat::Mat
Minor fix in cvMatNDToMat function
Minor fix in _InputArray::getMatVector
Minor fix in _InputArray::getUMatVector
Minor fix in cv::hconcat
Minor fix in cv::vconcat
Minor fix in cv::setIdentity
Minor fix in cv::trace
Minor fix in transposeI_ template function
Minor fix in reduceC_ template function
Minor fix in sort_ template function
Minor fix in sortIdx_ template function
Minor fix in cvRange function
Minor fix in MatConstIterator::seek
Minor fix in SparseMat::create
Minor fix in SparseMat::copyTo
Minor fix in SparseMat::convertTo
Minor fix in SparseMat::convertTo
Minor fix in SparseMat::ptr
Minor fix in SparseMat::resizeHashTab
Fixes indentation
In cases where the signaure string contains a terminating character,
the std::string member function size returns a smaller value than the
allocated string. In these cases, if you then try to use substr,
you will get an out_of_range exception. This patch remedies the problem.
This patch implements the PAM image format as defined at:
http://netpbm.sourceforge.net/doc/pam.html
The PAM format provides a generic means for storing 2 dimensional information.
This is useful for opencv since there are cases where data gets translated into
non standardized formats, which makes it difficult to store and load this information.
* Improve Canny by using _mm_movemask_epi8 to find next pixel magnitude greater than lower threshold. Added parallelized finalPass to Canny with variable gradients. Little changes in finalPass.
* Some things fixed
* use v_float16x4 (universal intrinsic) instead of raw SSE/NEON implementation
* define v_load_f16/v_store_f16 since v_load can't be distinguished when short pointer passed
* brush up implementation on old compiler (guard correctly)
* add test for v_load_f16 and round trip conversion of v_float16x4
* fix conversion error
* use universal intrinsic for accumulate series using float/double
* accumulate, accumulateSquare, accumulateProduct and accumulateWeighted
* add v_cvt_f64_high in both SSE/NEON
* add test for conversion v_cvt_f64_high in test_intrin.cpp
* improve some existing universal intrinsic by using new instructions in Aarch64
* add workaround for Android build in intrin_neon.hpp
There's no sense to log error messages in user’s locale.
Imagine you’re trying to guess what's going on decrypting logs in hebrew, arabic, slavic. localizedDescription is for end user messages, not for logs.
* 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