Support downloading 3rdparty resources from Gitcode & Gitlab-style mirrors
* replace github.com with gitcode.net for ocv_download
* replace raw.githubusercontent.com with gitcode.net for ocv_download
* rename funtions and remove some comments
* add options for custom mirrors, which simply replace domain github.com & githubusercontent.com
* run ocv_init_download once; replace DL_URL with mirrored one when calling ocv_download
* fix for empty download links when not using mirror
* fix bugs: set(.. .. PARENT_SCOPE) for ocv_init_download; correct macro names for replace github archives and raw githubusercontent
* adjusted mirror swapping impl: replace with mirrored link before each ocv_download; update md5sum for archives
* fix a bug: macro invoked with incorrect arguments by non-set vars
* enclose if statement
* workable impl
* shorten the var names of two key options
* scalable implementation of downloading from mirror and using custom mirror
* improve ocv_init_download help message
* fix the different extracted directory name in case of ADE & TBB which are downloaded from release page
* improve help message printing
* Download ADE & TBB using commit ids instead of from release pages
* support custom mirrors on downloading archives
* improve hints
* add missing parentheses
* reset ocv_download calls
* mirror support implementation using ocv_cmake_hook & ocv_cmake_hook_append
* move ocv_init_download into cmake/OpenCVDownload.cmake
* move ocv_cmake_hook before checking CMake cache
* improve hints when not fetching as git repo
* add WORKING_DIRECTORY in execute_process in ocv_init_download
* use OPENCV_DOWNLOAD_MIRROR_ID
* add custom.cmake for custom mirror
* detect github origin
* fix broken var name
* download from github by default if custom tbb is set
* add checksum checks for gitcode.cmake before replacing urls and checksums
* add checksum checks for custom.cmake before replacing urls and checkusms
* use description specify instead of set for messages in custom.cmake; use warning message for warnings
* updates and fixes
* better accuracy of _rotatedRectangleIntersection
instead of just migrating to double-precision (which would work), some computations are scaled by a factor that depends on the length of the smallest vectors.
There is a better accuracy even with floats, so this is certainly better for very sensitive cases
* Update intersection.cpp
use L2SQR norm to tune the numeric scale
* Update intersection.cpp
adapt samePointEps with L2 norm
* Update intersection.cpp
move comment
* Update intersection.cpp
fix wrong numericalScalingFactor usage
* added tests
* fixed warnings returned by buildbot
* modifications suggested by reviewer
renaming numericalScaleFctor to normalizationScale
refactor some computations
more "const"
* modifications as suggested by reviewer
Add 10-12-14bit (integer) TIFF decoding support
* Add 12bit (integer) TIFF decoding support
An (slow) unpacking step is inserted when the native bpp is not equal to the dst_bpp
Currently, I do not know if there can be several packing flavours in TIFF data.
* added tests
* move sample files to opencv_extra
* added 10b and 14b unpacking
* fix compilation for non MSVC compilers by using more standard typedefs
* yet another typdef usage change to fix buildbot Mac compilation
* fixed unpacking of partial packets
* fixed warnings returned by buildbot
* modifications as suggested by reviewer
* add apply softmax option to ClassificationModel
* remove default arguments of ClassificationModel::setSoftMax()
* fix build for python
* fix docs warning for setSoftMax()
* add impl for ClassficationModel()
* fix failed build for docs by trailing whitespace
* move to implement classify() to ClassificationModel_Impl
* move to implement softmax() to ClassificationModel_Impl
* remove softmax from public method in ClassificationModel
### Critical bugs fixed:
- `seam_finder.find()` returns None and overwrites `masks_warped`
- `indices` is only 1-dimensional
### Nice-to-have bugs fixed:
- avoid invalid value in sqrt and subsequent runtime warning
- avoid printing help string on each run (use argparse builtin behavior)
### New features:
- added graphcut seam finder support
### Test Summary:
Tested on Ubuntu 20.04 with python 3.8.10 and opencv-python-contrib 4.5.5.62
All classes are registered in the scope that corresponds to C++
namespace or exported class.
Example:
`cv::ml::Boost` is exported as `cv.ml.Boost`
`cv::SimpleBlobDetector::Params` is exported as
`cv.SimpleBlobDetector.Params`
For backward compatibility all classes are registered in the global
module with their mangling name containing scope information.
Example:
`cv::ml::Boost` has `cv.ml_Boost` alias to `cv.ml.Boost` type
Optimize cv::applyColorMap() for simple case
* Optimize cv::applyColorMap() for simple case
PR for 21640
For regular cv::Mat CV_8UC1 src, applying the colormap is simpler than calling the cv::LUT() mechanism.
* add support for src as CV_8UC3
src as CV_8UC3 is handled with a BGR2GRAY conversion, the same optimized code being used afterwards
* code style
rely on cv::Mat.ptr() to index data
* Move new implementation to ColorMap::operator()
Changes as suggested by reviewer
* style
improvements suggsted by reviewer
* typo
* tune parallel work
* better usage of parallel_for_
use nstripes parameter of parallel_for_
assume _lut is continuous to bring faster pixel indexing
optimize src/dst access by contiguous rows of pixels
do not locally copy the LUT any more, it is no more relevant with the new optimizations
* Added NEON support in builds for Windows on ARM
* Fixed `HAVE_CPU_NEON_SUPPORT` display broken during compiler test
* Fixed a build error prior to Visual Studio 2022
4.x: submodule or a class scope for exported classes
* feature: submodule or a class scope for exported classes
All classes are registered in the scope that corresponds to C++
namespace or exported class.
Example:
`cv::ml::Boost` is exported as `cv.ml.Boost`
`cv::SimpleBlobDetector::Params` is exported as
`cv.SimpleBlobDetector.Params`
For backward compatibility all classes are registered in the global
module with their mangling name containing scope information.
Example:
`cv::ml::Boost` has `cv.ml_Boost` alias to `cv.ml.Boost` type
* refactor: remove redundant GAPI aliases
* fix: use explicit string literals in CVPY_TYPE macro
* fix: add handling for class aliases