Bit exact gaussian blur for 16bit unsigned int
* bit-exact gaussian kernel for CV_16U
* SIMD optimization
* template GaussianBlurFixedPoint
* remove template specialization
* simd support for h3N121 uint16
* test for u16 gaussian blur
* remove unnecessary comments
* fix return type of raw()
* add typedef of native internal type in fixedpoint
* update return type of raw()
Bit-exact Nearest Neighbor Resizing
* bit exact resizeNN
* change the value of method enum
* add bitexact-nn to ResizeExactTest
* test to compare with non-exact version
* add perf for bit-exact resizenn
* use cvFloor-equivalent
* 1/3 scaling is not stable for floating calculation
* stricter test
* bugfix: broken data in case of 6 or 12bytes elements
* bugfix: broken data in default pix_size
* stricter threshold
* use raw() for floor
* use double instead of int
* follow code reviews
* fewer cases in perf test
* center pixel convention
* Fix ONNX loading in issues opencv#17516, opencv#17531
* Add tests for Linear and Matmul layers
* Disable tests for IE versions lower than 20.4
* Skip unstable tests with OpenCL FP16 on Intel GPU
* Add correct test filtering for OpenCL FP16 tests
Remove obsolete FFMPEG versions support
* refactor: removed obsolete FFMPEG version support
- Oldest available version via official FFMPEG repository mirror has tag v.0.5
LIBAVFORMAT version for this tag is 52.31.0
* refactor: prefer std::min function to MIN macro
* refactor: use appropriate macro instead of manual version calculation
* refactor: remove macros for versions prior 0.5.15 release
* refactor: remove libavcodec macros for versions < 54.35.1 (default to Ubuntu 14.04)
* refactor: remove libavformat macro for versions < 54.20.4 (default ubuntu 14.04)
* refactor: remove libavutil macro for versions < 52.3.0 (default ubuntu 14.04)
* refactor: remove missed macros for libavcodec and libavformat
* refactor: remove unused _opencv_ffmpeg_free function
* build: add FFMPEG libraries versions checks
- Add verbose message about what FFMPEG libraries are missing.
- Add minimal versions check set to libav 9.20 release (default ubuntu 14.04) and FFMPEG 1.1.16 release.
If the check is failed CMake produces user-friendly message instead of build error.
* fix: libavcodec version guard for AVDISCARD_NONINTRA
* fix: libav check of libavcodec version guard for AVDISCARD_NONINTRA
* fix: version check for AV_CODEC_FLAG_GLOBAL_HEADER
* fix: missing FFMPEG libraries output
[G-API]: Fluid Core kernels performance tests
* Add performance tests for a list of Fluid Core kernels
* Update gapi_core_perf_tests_fluid.cpp
Addressing a comment
- OpenCL kernel cleanup processing is asynchronous and can be called even after forced clFinish()
- buffers are released later in asynchronous mode
- silence these false positive cases for asynchronous cleanup
reformatting
Improve initialization performance of Brisk
fix formatting
Improve initialization performance of Brisk
formatting
Improve initialization performance of Brisk
make a lookup table for ring
use cosine/sine lookup table for theta in brisk and utilize trig identity
fix ring lookup table
use cosine/sine lookup table for theta in brisk and utilize trig identity
formatting
use cosine/sine lookup table for theta in brisk and utilize trig identity
move scale radius product to ring loop to ensure it's not recomputed for each rot
revert change
move scale radius product to ring loop to ensure it's not recomputed for each rot
remove rings lookup table
move scale radius product to ring loop to ensure it's not recomputed for each rot
fix formatting of for loop
move scale radius product to ring loop to ensure it's not recomputed for each rot
use sine/cosine approximations for brisk lookup table.
add documentation for sine/cosine lookup tables
Improve initialization performance of BRISK
changed OpenCV license from BSD to Apache 2 license
* as discussed and announced earlier, changed OpenCV license from BSD to Apache 2. Many files still contain old-style copyrights though
* changed wording a bit; preserve the original OpenCV BSD license
* 8-bit SIFT descriptors
* use clearer parameter
* update docs
* propagate type info
* overload function for avoiding ABI-break
* bugfix: some values are undefined when CV_SIMD is absent
revise default proto to match the filename in documentations
fix a bug
beautify python codes
fix bug
beautify codes
add test samples with larger/smaller size
remove unless code
using bytearray without creating tmp file
remove useless codes
* hopefully, eliminated compile warnings, errors, as well as failure in one test
* * fixed a few typos
* decreased buffer size in some cases
* added more optimal im2row branch in the case of 1x1 convolutions
* tuned fastConv to reduce the number of passes over arrays
backport of commit 77b01deb80
add relu option
add relu as activation option in darknet
simplify the setParams if-else ladder
add relu as activation option in darknet
correct activation_param type
format
format
add relu as activation option in darknet
spacing
spacing
add relu as activation option in darknet
* Possibility to set more than one tree for the hierarchical KMeans (default is still 1 tree).
This particularly improves NN retrieval results with binary vectors, allowing better quality
compared to LSH for similar processing time when speed is the criterium.
* Add explanations on the FLANN's hierarchical KMeans for binary data.
* Fix trees parsing behavior in hierarchical_clustering_index:
Before, when maxCheck was reached in the first descent of a tree, time was still wasted parsing
the next trees till their best leaf, just to skip the points stored there.
Now we can choose either to keep this behavior, and so we skip parsing other trees after reaching
maxCheck, or we choose to do one descent in each tree, even if in one tree we reach maxCheck.
* Apply the same change to kdtree.
As each leaf contains only 1 point (unlike hierarchical_clustering), difference is visible if trees > maxCheck
* Add the new explore_all_trees parameters to miniflann
* Adapt the FlannBasedMatcher read_write test to the additional search parameter
* Adapt java tests to the additional parameter in SearchParams
* Fix the ABI dumps failure on SearchParams interface change
* Support of ctor calling another ctor of the class is only fully supported from C+11
DNN: OpenCL/slice update
* dnn(ocl/slice): make slice kernel VTune friendly
- more unique names
- inline code of copy functions
* dnn(ocl/slice): prefer to spawn more work groups
- even in case with 1D copy
- perf improvement up to 2x of kernel time (due to changed configuration 128x1x1 => 128x32x1)
* dnn(ocl/slice): cache kernel exec info
* Implement ASIFT in C++
* '>>' should be '> >' within a nested template
* add a sample for asift usage
* bugfix empty keypoints cause crash
* simpler initialization for mask
* suppress the number of lines
* correct tex document
* type casting
* add descriptorsize for asift
* smaller testdata for asift
* more smaller test data
* add OpenCV short license header
- Added cross compile cmake file for target riscv64-clang
- Extended cmake for RISC-V and added instruction checks
- Created intrin_rvv.hpp with C++ version universal intrinsics
* added depth-wise convolution; gives ~20-30% performance improvement in MobileSSD networks
* hopefully, eliminated compile warnings, errors, as well as failure in one test
* * fixed a few typos
* decreased buffer size in some cases
* added more optimal im2row branch in the case of 1x1 convolutions
* tuned fastConv to reduce the number of passes over arrays
libjasper has recently changed `jas_matrix_get` from a macro to an inline function
(389951d071 in https://github.com/jasper-software/jasper), causing the build to fail.
* add findEssentialMat for two different cameras
* added smoke test for the newly added variant of findEssentialMatrix
Co-authored-by: tompollok <tom.pollok@gmail.com>
* Implement G-API python bindings
* Fix hdr_parser
* Drop initlization with brackets using regexp
* Handle bracket initilization another way
* Add test for core operations
* Declaration and definition of View constructor now in different files
* Refactor tests
* Remove combine decorator from tests
* Fix comment to review
* Fix test
* Fix comments to review
* Remove GCompilerArgs implementation from python
Co-authored-by: Pinaev <danil.pinaev@intel.com>
* Added overload for `GArray<GMat>` ProtoParam in `gtyped.hpp`
* Tests+compile_args
- added tests for GArray<GMat> as an input and an output of GComputationT
- added possibility to give the compile_args to GComputationT.apply()
* Fix win errors
- Added test for automated rotation for MP4 videos with metadata
- Fix 180 degrees rotation bug
- Moved rotation logic to cv::VideoCapture implementation for FFmpeg and restore binary compatibility with FFmpeg wrapper.
- Add VideoCapture camera orientation property for mp4 videos with camera orientation meta.
- Add auto rotation for 90, 180, 270 degrees using cv::rotate
GAPI: Migration to IE Core API
* Migration to IE Core API
- both versions are maintained
- checked building with all the OpenVINO versions (2019.R1, R2, R3, 2020.4 (newest))
* commit to awake builders
* Addressing comments
- migrated to Core API in 'gapi_ie_infer_test.cpp'
- made Core a singleton object
- dropped redundant steps
* Addressing comments
- modified Mutex locking
* Update
* Addressing comments
- remove getInitMutex()
- reduce amount of #ifdef by abstracting into functions
* return to single IE::Core
* Divide functions readNet and loadNet to avoid warnings on GCC
* Fix deprecated code warnings
* Fix deprecated code warnings on CMake level
* Functions wrapped
- All the functions depended on IE version wrapped into a cv::gapi::ie::wrap namesapace
- All this contained to a new "giebackend/gieapi.hpp" header
- The header shared with G-API infer tests to avoid code duplications
* Addressing comments
- Renamed `gieapi.hpp` -> `giewrapper.hpp`, `cv::gapi::ie::wrap` -> `cv::gimpl::ie::wrap`
- Created new `giewrapper.cpp` source file to avoid potential "multiple definition" problems
- removed unnecessary step SetLayout() in tests
* Enabling two NN infer teest
* Two-NN infer test change for CI
- deleted additional network
- inference of two identical NN used instead
* Fix CI fileNotFound
* Disable MYRIAD test not to fail Custom CI runs
[G-API] Allow building graphs with a dynamic number of inputs and outputs
* Add dinamic graph feature and tests
* Remove unnecessary file
* Review response
* Add implementation of operator += for GRunArgs
And test for that case
* Tests refactoring
* Add doxygen
Review response
* Fix docs
* A small documentation fix
* Review response
* Add tests for more entities
* Add typed tests
* Another typed tests
* Doc fix
* Documentation fix
* Build fix
* Commit for rebuild
* The last one
* G-API: Introduce a new gapi::infer2 overload + gaze estimation sample
* G-API/infer2: Introduced static type checking for infer2
- Also added extra tests on the type check routine
* G-API/infer2: Addressed self-review comments in the sample app
- Also fix build on Linux;
* G-API/infer2: Remove incorrect SetLayout(HWC) + dead code
- Also fixed comments in the backend
* G-API/infer2: Continue with self-review
- Fix warnings/compile errors in gaze estimation
- Dropped the use of RTTI (VectorRef::holds()) from the giebackend
- Replaced it with a trait-based enums for GArray<T> and std::vector<T>
- The enums and traits are temporary and need to be unified with
the S11N when it comes
* G-API/infer2: Final self-review items
- Refactored ROIList test to cover 70% for infer<> and infer2<>;
- Fixed the model data discovery routine to be compatible with new
OpenVINO;
- Hopefully fixed the final issues (warnings) with the sample.
* G-API/infer2: address review problems
- Fixed typo in comments;
- Fixed public (Doxygen) comment on GArray<GMat> input case for infer2;
- Made model lookup more flexible to allow new & old OMZ dir layouts.
* G-API/infer2: Change the model paths again
* G-API/infer2: Change the lookup path for test data
* G-API/infer2: use randu instead of imread. CI war is over
G-API args serialization
* args serialization
* GRunArgP draft
* UMat added
* bind added
* DmitryM's review addressed. Code clean up required.
* fix android build
* bind test added
* more comments addressed
* try to fix Mac build
* clean up
* header-based generic implementation (GRunArg)
* clang again
* one more attempt for clang
* more clean up
* More Dmitry's comments addressed.
* monostate removed
* Top level functions and some other comments addressed.
* fix warnings
* disable warning
Pev binary kmeans
* Ongoing work transposing kmeans clustering method for bitfields: the computeClustering method
Ongoing work transposing kmeans clustering method for bitfields: interface computeBitfieldClustering
Fix genericity of computeNodeStatistics
Ongoing work transposing kmeans clustering method for bitfields: adapt computeNodeStatistics()
Ongoing work transposing kmeans clustering method for bitfields: adapt findNN() method
Ongoing work transposing kmeans clustering method for bitfields: allow kmeans with Hamming distance
Ongoing work transposing kmeans clustering method for bitfields: adapt distances code
Ongoing work transposing kmeans clustering method for bitfields: adapt load/save code
Ongoing work transposing kmeans clustering method for bitfields: adapt kmeans hierarchicalClustring()
PivotType -> CentersType Renaming
Fix type casting for ARM SIMD implementation of Hamming
Fix warnings with Win32 compilation
Fix warnings with Win64 compilation
Fix wrong parenthesis position on rounding
* Ensure proper rounding when CentersType is integral
double area = moms.m00;
is same as
double area = contourArea(contours[contourIdx]);
Not to mention
"moms" already calculated here,"contourArea" should not apply