Commit Graph

748 Commits

Author SHA1 Message Date
Alexander Alekhin
94dbc35d92 features2d(test): more AKAZE tests 2017-08-03 22:54:45 +00:00
Alexander Alekhin
ad2e864a9a akaze: more fixes
- boundary checks
- div by zero guard
- fixed bilinear interpolation (another case)
- reduce memory allocation
2017-08-03 21:45:35 +00:00
Alexander Alekhin
e0489cb4a6 akaze: fix T-API interfaces, disable OpenCL code
- OpenCL kernels don't handle matrices properly. Assumptions are not checked.
- OpenCL/T-API integration is not correct.
2017-08-03 20:35:06 +00:00
Alexander Alekhin
2a8322ddbb akaze: uninitialized field 2017-08-03 20:04:21 +03:00
Alexander Alekhin
73c3d14a66 akaze: fRound -> cvRound, fix bilinear interpolation 2017-08-03 19:51:46 +03:00
Alexander Alekhin
f6ceeaa2e5 akaze: getAngle() -> fastAtan2() 2017-08-03 19:51:46 +03:00
Alexander Alekhin
6847cc9f1c akaze: remove usage of int8_t / uint8_t 2017-08-03 19:51:46 +03:00
Alexander Alekhin
43e0912516 akaze: resolve issue with using of uninitialized memory 2017-08-03 19:51:45 +03:00
Alexander Alekhin
64533009b3 akaze: optimize allocations 2017-08-03 19:51:45 +03:00
Alexander Alekhin
8aca8d90d6 akaze: replace ceil()
- integer division => divUp()
- cast to 'int' => cvCeil()
2017-08-03 19:51:45 +03:00
Alexander Alekhin
15aa0df23c Merge pull request #9297 from alalek:akaze_remove_rand 2017-08-03 09:21:22 +00:00
Jiri Horner
3166d0c667 Merge pull request #9249 from hrnr:akaze_part3
[GSOC] Speeding-up AKAZE, part #3 (#9249)

* use finding of scale extremas from fast_akaze

* incorporade finding of extremas and subpixel refinement from Hideaki Suzuki's fast_akaze (https://github.com/h2suzuki/fast_akaze)
* use opencv parallel framework
* do not search for keypoints near the border, where we can't compute sensible descriptors (bugs fixed in ffd9ad99f4, 2c5389594b), but the descriptors were not 100% correct. this is a better solution

this version produces less keypoints with the same treshold. It is more effective in pruning similar keypoints (which do not bring any new information), so we have less keypoints, but with high quality. Accuracy is about the same.

* incorporate bugfix from upstream

* fix bug in subpixel refinement
* see commit db3dc22981e856ca8111f2f7fe57d9c2e0286efc in Pablo's repo

* rework finding of scale space extremas

* store just keypoints positions
* store positions in uchar mask for effective spatial search for neighbours
* construct keypoints structs at the very end

* lower inlier threshold in test

* win32 has lower accuracy
2017-08-03 08:35:07 +00:00
Alexander Alekhin
8be1ba708e features2d: don't use rand(), because it is not thread-safe
Results are not stable with srand()
2017-08-02 23:48:54 +03:00
Jiri Horner
bb6496d9e5 Merge pull request #8951 from hrnr:akaze_part2
[GSOC] Speeding-up AKAZE, part #2 (#8951)

* feature2d: instrument more functions used in AKAZE

* rework Compute_Determinant_Hessian_Response

* this takes 84% of time of Feature_Detection
* run everything in parallel
* compute Scharr kernels just once
* compute sigma more efficiently
* allocate all matrices in evolution without zeroing

* features2d: add one bigger image to tests

* now test have images: 600x768, 900x600 and 1385x700 to cover different resolutions

* explicitly zero Lx and Ly

* add Lflow and Lstep to evolution as in original AKAZE code

* reworked computing keypoints orientation

integrated faster function from https://github.com/h2suzuki/fast_akaze

* use standard fastAtan2 instead of getAngle

* compute keypoints orientation in parallel

* fix visual studio warnings

* replace some wrapped functions with direct calls to OpenCV functions

* improved readability for people familiar with opencv
* do not same image twice in base level

* rework diffusity stencil

* use one pass stencil for diffusity from https://github.com/h2suzuki/fast_akaze
* improve locality in Create_Scale_Space

* always compute determinat od hessian and spacial derivatives

* this needs to be computed always as we need derivatives while computing descriptors
* fixed tests of AKAZE with KAZE descriptors which have been affected by this

Currently it computes all first and second order derivatives together and the determiant of the hessian. For descriptors it would be enough to compute just first order derivates, but it is not probably worth it optimize for scenario where descriptors and keypoints are computed separately, since it is already very inefficient. When computing keypoint and descriptors together it is faster to do it the current way (preserves locality).

* parallelize non linear diffusion computation

* do multiplication right in the nlp diffusity kernel

* rework kfactor computation

* get rid of sharing buffers when creating scale space pyramid, the performace impact is neglegible

* features2d: initialize TBB scheduler in perf tests

* ensures more stable output
* more reasonable profiles, since the first call of parallel_for_ is not getting big performace hit

* compute_kfactor: interleave finding of maximum and computing distance

* no need to go twice through the data

* start to use UMats in AKAZE to leverage OpenCl in the future

* fixed bug that prevented computing determinant for scale pyramid of size 1 (just the base image)
* all descriptors now support writing to uninitialized memory
* use InputArray and OutputArray for input image and descriptors, allows to make use UMAt that user passes to us

* enable use of all existing ocl paths in AKAZE

* all parts that uses ocl-enabled functions should use ocl by now

* imgproc: fix dispatching of IPP version when OCL is disabled

* when OCL is disabled IPP version should be always prefered (even when the dst is UMat)

* get rid of copy in DeterminantHessian response

* this slows CPU version considerably
* do no run in parallel when running with OCL

* store derivations as UMat in pyramid

* enables OCL path computing of determint hessian
* will allow to compute descriptors on GPU in the future

* port diffusivity to OCL

* diffusivity itself is not a blocker, but this saves us downloading and uploading derivations

* implement kernel for nonlinear scalar diffusion step

* download the pyramid from GPU just once

we don't want to downlaod matrices ad hoc from gpu when the function in AKAZE needs it. There is a HUGE mapping overhead and without shared memory support a LOT of unnecessary transfers.

This maps/downloads matrices just once.

* fix bug with uninitialized values in non linear diffusion

* this was causing spurious segfaults in stitching tests due to propagation of NaNs
* added new test, which checks for NaNs (added new debug asserts for NaNs)
* valgrind now says everything is ok

* add nonlinear diffusion step OCL implementation

* Lt in pyramid changed to UMat, it will be downlaoded from GPU along with Lx, Ly
* fix bug in pm_g2 kernel. OpenCV mangles dimensions passed to OpenCL, so we need to check for boundaries in each OCL kernel.

* port computing of determinant to OCL

* computing of determinant is not a blocker, but with this change we don't need to download all spatial derivatives to CPU, we only download determinant
* make Ldet in the pyramid UMat, download it from CPU together with the other parts of the pyramid
* add profiling macros

* fix visual studio warning

* instrument non_linear_diffusion

* remove changes I have made to TEvolution

* TEvolution is used only in KAZE now

* Revert "features2d: initialize TBB scheduler in perf tests"

This reverts commit ba81e2a711.
2017-08-01 12:46:01 +00:00
gylns
6d1cdcf601 Merge pull request #8910 from gylns:mser
fix the MSER history's size issue (#8910)

* simplify growHistory and merge

* add assertion for history's size

* MSER: fix merging components' history
2017-07-14 16:58:56 +00:00
Tony Lian
c8783f3e23 Merge pull request #9075 from TonyLianLong:master
Remove unnecessary Non-ASCII characters from source code (#9075)

* Remove unnecessary Non-ASCII characters from source code

Remove unnecessary Non-ASCII characters and replace them with ASCII
characters

* Remove dashes in the @param statement

Remove dashes and place single space in the @param statement to keep
coding style

* misc: more fixes for non-ASCII symbols

* misc: fix non-ASCII symbol in CMake file
2017-07-03 16:14:17 +00:00
Maksim Shabunin
e0393f8557 Fixed some issues found by static analysis (4th round) 2017-06-30 12:26:53 +03:00
Maksim Shabunin
a769d69a9d Fixed several issues found by static analysis 2017-06-28 18:06:18 +03:00
Maksim Shabunin
32d4af36e2 Fixing some static analysis issues 2017-06-27 14:30:26 +03:00
Jiri Horner
5f20e802d2 Merge pull request #8869 from hrnr:akaze_part1
[GSOC] Speeding-up AKAZE, part #1 (#8869)

* ts: expand arguments before stringifications in CV_ENUM and CV_FLAGS

added protective macros to always force macro expansion of arguments. This allows using CV_ENUM and CV_FLAGS with macro arguments.

* feature2d: unify perf test

use the same test for all detectors/descriptors we have.

* added AKAZE tests

* features2d: extend perf tests

* add BRISK, KAZE, MSER
* run all extract tests on AKAZE keypoints, so that the test si more comparable for the speed of extraction

* feature2d: rework opencl perf tests

use the same configuration as cpu tests

* feature2d: fix descriptors allocation for AKAZE and KAZE

fix crash when descriptors are UMat

* feature2d: name enum to fix build with older gcc

* Revert "ts: expand arguments before stringifications in CV_ENUM and CV_FLAGS"

This reverts commit 19538cac1e.

This wasn't a great idea after all. There is a lot of flags implemented as #define, that we don't want to expand.

* feature2d: fix expansion problems with CV_ENUM in perf

* expand arguments before passing them to CV_ENUM. This does not need modifications of CV_ENUM.
* added include guards to `perf_feature2d.hpp`

* feature2d: fix crash in AKAZE when using KAZE descriptors

* out-of-bound access in Get_MSURF_Descriptor_64
* this happened reliably when running on provided keypoints (not computed by the same instance)

* feature2d: added regression tests for AKAZE

* test with both MLDB and KAZE keypoints

* feature2d: do not compute keypoints orientation twice

* always compute keypoints orientation, when computing keypoints
* do not recompute keypoint orientation when computing descriptors

this allows to test detection and extraction separately

* features2d: fix crash in AKAZE

* out-of-bound reads near the image edge
* same as the bug in KAZE descriptors

* feature2d: refactor invariance testing

* split detectors and descriptors tests
* rewrite to google test to simplify debugging
* add tests for AKAZE and one test for ORB

* stitching: add tests with AKAZE feature finder

* added basic stitching cpu and ocl tests
* fix bug in AKAZE wrapper for stitching pipeline causing lots of
! OPENCV warning: getUMat()/getMat() call chain possible problem.
!                 Base object is dead, while nested/derived object is still alive or processed.
!                 Please check lifetime of UMat/Mat objects!
2017-06-21 14:33:09 +03:00
Woody Chow
0f0dea79fc [move sift.cpp] Use TLS instead of mutex in SIFT
original commit: ab43a3b2d9
2017-05-31 15:08:32 +09:00
Woody Chow
b6d636214e [move sift.cpp] Multithreading findScaleSpaceExtremaComputer. Sort the keypoints afterwards to make the output stable
original commit: 6be2945abb
2017-05-31 10:02:09 +09:00
Woody Chow
5a4f2b5d27 Add function to sort keypoints that are calculated in parallel to ensure stable output 2017-05-29 17:59:20 +09:00
Vadim Pisarevsky
ee257ffe9e Merge pull request #8455 from terfendail:ovxhal_skipsmall 2017-05-26 12:10:18 +00:00
n001519
cc3fdd005e fix the mser issue 2017-05-26 16:51:54 +08:00
Vitaly Tuzov
1d62a025b3 Moved size restrictions for OpenVX processed images to corresponding cpp files 2017-05-25 19:25:17 +03:00
remi
8ee8710c02 Modifications to reduce the code through a loop
AKAZE refactoring: fixed indentation and made more minor modifications
2017-05-23 16:36:55 +03:00
Vitaly Tuzov
ee5b5a6b2f Fixed out of bound reading in makeAgastOffsets 2017-05-10 16:21:22 +03:00
Vitaly Tuzov
bf5b7843e8 Extended set of OpenVX HAL calls disabled for small images 2017-04-06 18:17:32 +03:00
Woody Chow
4b64955a12 [move sift.cpp] Parallelize calcDescriptors and buildDoGPyramid. Simplify 2 lines of AVX2 instructions
original commit: 443f68cb71
2017-03-24 16:31:18 +09:00
Woody Chow
546239a3a8 [move sift.cpp] Optimize SIFT with AVX2
original commit: c5e55dfde9
2017-03-08 10:08:50 +09:00
Vitaly Tuzov
9a4b5a4545 OpenVX calls updated to use single common OpenVX context per thread 2017-02-21 16:08:23 +03:00
Tomoaki Teshima
1d01e435ca use universal intrinsic in fast 2017-01-23 19:03:22 +09:00
Suleyman TURKMEN
8be0a3452d [move sift.cpp] Update sift.cpp
original commit: cb7b59f203
2016-12-23 13:21:30 +03:00
Vadim Pisarevsky
c64ac42b27 Merge pull request #7852 from savuor:fix/orb_rotation 2016-12-19 16:19:38 +00:00
Rostislav Vasilikhin
13b9dd3963 fixed segfault at ORB::compute() near image's border 2016-12-16 18:36:37 +03:00
Rostislav Vasilikhin
969c55da58 Merge pull request #7720 from savuor:openvx_FAST
Added OpenVX based processing to FAST (#7720)

* added wrapper for OVX FAST & fixes to IVX wrappers

* fixed type checks in wrappers, array downloading code simplified

* rewritten for new macro use
2016-12-16 13:48:18 +02:00
Alexander Alekhin
fbf2383d5d Merge pull request #7787 from alalek:ocl_explicit_only 2016-12-13 10:22:33 +00:00
Vladislav Sovrasov
4a3da1c4ed Fix missing angles in AKAZE keypoints 2016-12-12 12:28:16 +03:00
Alexander Alekhin
44d9d59f08 ocl: stop using of OpenCL without explicit UMat arguments 2016-12-04 02:34:17 +03:00
Sean McBride
943ac96526 Eliminated use of obsolete 'register' keyword
Fixes clang warnings about uses of this obsolete keyword.
2016-10-20 20:19:14 -04:00
abratchik
adbb1471fc fix regression issues in Feature2D and DescriptorMatcher interfaces 2016-10-16 13:36:40 +04:00
abratchik
789b35d813 improved fix for java wrapper generator (gen_java.py) to avoid generation of java methods with duplicate signatures(v3) 2016-10-11 02:47:02 +04:00
abratchik
be028d0774 fix for #7420, #7421 2016-10-07 23:58:57 +04:00
Alexander Alekhin
8104db2232 Merge pull request #7130 from souch55:Fixed 2016-09-02 12:49:49 +00:00
Pavel Vlasov
30a6cee2fe Instrumentation for OpenCV API regions and IPP functions; 2016-08-19 18:10:03 +03:00
Vadim Pisarevsky
ea1f885be1 Merge pull request #7055 from gylns:master 2016-08-18 13:17:18 +00:00
sourin
ce818dc01f respective changes added 2016-08-18 17:24:43 +05:30
Vitaly Tuzov
62c1a5a152 Replaced quiet return from MSER:detectRegion function with exeption throwing to notify user in case small image is processed 2016-08-15 14:16:13 +03:00
will hunt
ac2d79fd67 MSER: all test passed.
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
2016-08-15 09:25:45 +08:00
Vitaly Tuzov
9db93d773d Fix for MSER::detectRegions crash on images with either dimension less than 3 2016-08-12 10:31:13 +03:00
will hunt
c3d2921971 MSER: grew unnecessary histories.
the merge() calls growHistory() too many times such that:
1. some CompHistory nodes not used have been created
2. some CompHistory node's val equal their parents
2016-08-07 08:28:23 +08:00
will hunt
c2e5418e51 MSER: off-by-one bug 2016-08-06 13:12:50 +08:00
Juan Pablo Aveggio
ba5f9d68c4 Update bagofwords.cpp 2016-08-02 20:53:05 -03:00
Vadim Pisarevsky
b0cc495698 Merge pull request #6822 from saedrna:master 2016-07-19 15:37:31 +00:00
Martin Nowak
99d914ea3b [move sift.cpp] fix overflow issue when computing diagonal
- with big images the int multiplication can overflow

original commit: d4df727d38
2016-06-11 17:51:46 +02:00
Maksim Shabunin
1e667de1f3 HAL math interfaces: fastAtan2, magnitude, sqrt, invSqrt, log, exp 2016-05-31 11:54:52 +03:00
Han Hu
e646f9d2f1 Fix subpixel problem of akaze.
This is found in the original akaze repo. Previous sub pixel localization method assumes the coordinate (0, 0) is the up-left corner of the up-left pixel. But as far as I know, opencv uses the center of the up-left corner, in this case it should be done in this way.

35aeb83a71
db3dc22981
2016-05-20 11:45:46 +08:00
Julien Nabet
a29c814bd8 cppcheck: fix some reports
All of these: (performance) Prefer prefix ++/-- operators for non-primitive types.
[modules/calib3d/src/fundam.cpp:1049] -> [modules/calib3d/src/fundam.cpp:1049]: (style) Same expression on both sides of '&&'.
2016-04-29 15:41:39 +02:00
Ivar Clemens
3287ab386c Fixed typo in BRISK feature detector. 2016-04-18 13:04:04 +01:00
mvukad
695e33b25b Fix missing format when writing Algorithm-based objects
Added a writeFormat() method to Algorithm which must be called by the
write() method of derived classes.
2016-04-07 13:49:42 -07:00
Balint Cristian
f819323296 Fix AGAST keypoint declared size. 2016-03-12 16:49:14 +02:00
Krishnaraj Bhat
9b8013d193 gcc6: fix misleading indentation warning
cosmetic changes to fix this warning.
real bugs not found
2016-03-07 17:06:16 +05:30
Patrick Snape
05cfe28612 Fix parsing of training vecs for FlannBasedMatcher
FlannBasedMatcher::add is overloaded, but the style of parsing the
InputArrayOfArrays does not match the style from
DescriptorMatcher::add. The issue is that InputArrayOfArrays
must be properly marshalled so that the data can be read
correctly. In this case, the method expects the training
descriptors to be either a vector of matrices or a single matrix
(as is shown in DescriptorMatcher::add). These code
replicates that for the case of the FlannBasedMatcher::add.

In fact, a similar commit to this was added by 26d9a7c but was
ultimately not accepted in #4111. This is likely due to the
fact that the input arrays were not parsed properly and the
case of a single matrix was being improperly handled. I believe
this commit to be correct given the logic from
DescriptorMatcher::add.
2016-01-23 15:58:16 +00:00
Patrick Snape
2f5ea3437e Update indentation to match rest of file
Very cosmetic, but was analyzing code and just wanted to make it
consistent.
2016-01-23 15:57:46 +00:00
Alexander Alekhin
3d85e7ac0d features2d agast: clear in/out keypoints container
fixes #5863
2015-12-25 13:49:24 +03:00
Maksim Shabunin
84f37d352f HAL moved back to core 2015-12-17 12:33:23 +03:00
Maksim Shabunin
24284d3d17 [move sift.cpp] Fixed HAL headers location
original commit: f529a1df2b
2015-12-15 18:41:26 +03:00
Balint Cristian
0087c57e0d Fix KAZE/AKAZE descriptors to use angle instead radians. 2015-12-08 22:04:41 +02:00
Vadim Pisarevsky
9d624f82c0 Merge pull request #5670 from askourik:opencv_agast_tree 2015-12-08 16:46:11 +00:00
Vadim Pisarevsky
9c0a5523e4 Merge pull request #5757 from alalek:merge-2.4 2015-12-08 11:51:29 +00:00
Alexander Alekhin
d86d8ed909 Merge 2.4 into master
PR #2968: cce2d99 8578f9c
Fixed bug which caused crash of GPU version of feature matcher in stitcher

The bug caused crash of GPU version of feature matcher in stitcher when
we use ORB features.

PR #3236: 5947519
Check sure that we're not already below required leaf false alarm rate before continuing to get negative samples.

PR #3190
fix blobdetector

PR #3562 (part): 82bd82e
TBB updated to 4.3u2. Fix for aarch64 support.

PR #3604 (part): 091c7a3
OpenGL interop sample reworked not ot use cvconfig.h

PR #3792: afdf319
Add -L for CUDA libs path to pkg-config

Add all dirs from CUDA_LIBS_PATH as -L linker options to
OPENCV_LINKER_LIBS. These will end up in opencv.pc.

PR #3893: 122b9f8
Turn ocv_convert_to_lib_name into a function

PR #5490: ec5244a
fixed memory leak in findHomography tests

PR #5491: 0d5b739
delete video readers

PR #5574

PR #5202
2015-12-08 10:24:54 +03:00
Dominik Kleiser
0c471515fd use float for CV_PI 2015-12-02 17:33:40 +01:00
Dominik Kleiser
c7cb028035 use floats for the calculation 2015-12-02 16:38:44 +01:00
Dominik Kleiser
767bae44ae Fix the unit of angle for AKaze/Kaze KeyPoints
Convert the return value of getAngle from radian to degrees.
2015-12-02 11:51:37 +01:00
askourik
fedf064088 removing code duplicates and replace unsigned long by uint32_t 2015-11-23 23:47:23 +03:00
askourik
b3e8c65e5e removed code duplication for non-intel platforms 2015-11-23 22:41:35 +03:00
askourik
4cf7ddfd87 Added new function definition in AGAST module header for tree-optimized version 2015-11-23 22:11:01 +03:00
Maksim Shabunin
bd53a30e76 Merge pull request #5658 from berak:akaze_fix 2015-11-23 09:51:23 +00:00
askourik
ae66ce9d22 Add treelookups for nonintel 2015-11-19 07:06:20 +03:00
berak
0baf0bdc24 AKAZE: check channels instead of type in detectAndCompute
add same CV_32F and CV_16U support for KAZE
2015-11-12 12:48:03 +01:00
Vadim Pisarevsky
3942b1f362 Merge pull request #5340 from alalek:ocl_off 2015-11-10 16:53:36 +00:00
Maksim Shabunin
6e9d0d9a0c Visual Studio 2015 warning and test fixes 2015-10-20 12:48:37 +03:00
Pavel Vlasov
e837d69f8f IPPInitSingelton was added to contain IPP related global variables;
OPENCV_IPP env var now allows to select IPP architecture level for IPP9+;
IPP initialization logic was unified across modules;
2015-10-01 09:58:48 +03:00
Balint Cristian
fdbed4a473 Speedup AGAST nonmax-suppression. 2015-09-26 04:43:07 +03:00
Alexander Alekhin
7213e5f68a ocl: correct disabling of OpenCL code 2015-09-13 20:28:23 +03:00
Maksim Shabunin
771af4f32d Some changes to support mingw-w64
- IPP is disabled by default when compiler is mingw (couldn't make it
work)
- fixed some warnings
- fixed some `__GNUC__` version checks (for correctness and convenience)
- removed UTF-8 BOM from hough.cpp (fixes #5253)
2015-09-01 00:59:08 +03:00
Roman Donchenko
72ddeea479 FREAK: add missing field initialization 2015-07-22 14:06:39 +03:00
Vadim Pisarevsky
5e095c8fbd Merge pull request #4022 from LaurentBerger:ExampleBLOB_MSER 2015-05-28 15:00:36 +00:00
Niklas Frisk
8138e26163 Fixes #3910, flags in _prepareImgAndDrawKeypoints are now binary OR'ed instead of added.
Conflicts:
	modules/features2d/src/draw.cpp
2015-05-24 13:31:11 +02:00
Vadim Pisarevsky
fede94e979 it's now true MSER algorithm that works well on binary images too 2015-05-21 05:44:14 +03:00
laurentBerger
3a53e726dd example BLOB_MSER and fixed bug in blobdetector 2015-05-07 11:52:06 +02:00
cbalint13
2c6114f58d Force newer build over buildbot. 2015-05-05 12:19:35 +03:00
cbalint13
8ba1ec22e4 Force buildbot to rebuild. 2015-05-04 19:54:08 +03:00
cbalint13
f426778160 Force buildbot rebuild. 2015-05-02 11:25:22 +03:00
cbalint13
9b87c22e01 Fix bugs in non-max suppression routine. 2015-05-01 22:07:08 +03:00
cbalint13
0ded2984b8 Merge remote-tracking branch 'upstream/master' into brisk 2015-04-28 06:48:52 +03:00
Vadim Pisarevsky
ee11a2d266 fully implemented SSE and NEON cases of intrin.hpp; extended the HAL with some basic math functions 2015-04-16 23:00:26 +03:00
Vadim Pisarevsky
9fc872b70b [move sift.cpp] fixed contrib code to match the HAL
original commit: cdddcc8237
2015-04-16 22:52:05 +03:00
cbalint13
dee3a4b528 Add missing opencv_contrib PR #202 patch. 2015-04-11 17:43:28 +03:00
cbalint13
26997f32c6 Fix BRISK detector&descriptor using proper AGAST. 2015-04-11 12:09:13 +03:00
ippei ito
cd42e38013 FlannBasedMatcher(LshIndex) in the feature2d optimization for continuance additional train()
Current implementation of miniflann is releasing the trained index, and
rebuilding the index from the beginning.
But, some indexing algorithms like the LSH are able to add the indexing
data after that.
This branch is implementation of that optimization for LshIndex
FlannBasedMatcher in the feature2d.
2015-03-14 04:38:07 +09:00
Nils Plath
32d56c6b43 Fixed: wrong conversion of float-based Mat input inside the AKAZE. 2015-03-05 23:55:07 +01:00
Vladislav Vinogradov
cda6fed41f move tegra namespace out of cv to prevent conflicts 2015-02-27 12:52:11 +03:00
Vladislav Vinogradov
44e41baffe use new functions before all tegra:: calls 2015-02-26 19:34:58 +03:00
exeltior
b51805e245 Update mser.cpp
Need to initialize boolean variable pass2Only, otherwise the result is not predictable
2015-02-16 18:17:41 +01:00
Vladislav Vinogradov
c120001178 fix -Wsign-compare warnings 2015-01-15 17:17:35 +03:00
Yan Wang
75277bb770 Remove unnecessary global/local dim for radius match.
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2015-01-09 13:37:00 +08:00
Alexander Alekhin
893deb4040 Merge pull request #3483 from wangyan42164:ocl_orb_improve 2014-12-05 12:55:54 +00:00
Yan Wang
2df606f098 Use sincos instead of sin and cos.
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2014-12-04 15:48:23 +08:00
Yan Wang
1c9f956b88 Remove unnecesary operations and calculations in loop body.
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2014-12-04 15:25:18 +08:00
Maksim Shabunin
09fb7512ed Fixed iOS framework compilation warnings 2014-10-27 15:28:21 +03:00
Alexander Alekhin
322593e89f Merge pull request #3256 from vbystricky:oclopt_BFMatcher 2014-10-21 08:59:23 +00:00
Vadim Pisarevsky
dcee883961 fixed MSVC warnings and iOS framework compile error 2014-10-18 21:58:34 +04:00
Vadim Pisarevsky
d2b9dc5530 quickly corrected the previous refactoring of features2d: moved from set(SOME_PROP, val) to setSomeProp(val) 2014-10-18 20:44:26 +04:00
vbystricky
3787388eac Optimize OpenCL version of BFMatcher 2014-10-17 19:48:45 +04:00
Vadim Pisarevsky
cc11a8d183 Merge branch 'refactor_features2d_take4' of https://github.com/vpisarev/opencv into refactor_features2d_take4
Conflicts:
	modules/features2d/src/orb.cpp
2014-10-17 15:13:35 +04:00
Vadim Pisarevsky
54e65598bd fixed error in OpenCL ORB 2014-10-17 15:02:57 +04:00
Vadim Pisarevsky
1176d4ef84 fixed some more compile errors and test failures 2014-10-17 15:02:56 +04:00
Vadim Pisarevsky
9c9ecc22e2 fixed opencv_java build 2014-10-17 14:56:58 +04:00
Vadim Pisarevsky
fa76c634ec ok; all the tests now pass 2014-10-17 14:56:58 +04:00
Vadim Pisarevsky
01d3848f17 all the tests now pass except for MSER 2014-10-17 14:56:58 +04:00
Vadim Pisarevsky
162384a838 fixed several test failures; currently 9 out of 73 tests fail 2014-10-17 14:56:58 +04:00
Vadim Pisarevsky
06d4aa6060 now all the samples and opencv_contrib compile! 2014-10-17 14:56:58 +04:00
Vadim Pisarevsky
09df1a286b OpenCV with the refactored features2d compiles! contrib is broken for now; the tests are not tried yet 2014-10-17 14:56:58 +04:00
Vadim Pisarevsky
2e915026a0 yet another attempt to refactor features2d; the first commit, features2d does not even compile 2014-10-17 14:56:58 +04:00
Vadim Pisarevsky
f6f839eb3c trying to resolve the merge conflict 2014-10-17 14:46:08 +04:00
Vadim Pisarevsky
c5292c2549 fixed error in OpenCL ORB 2014-10-17 14:30:12 +04:00
Vadim Pisarevsky
c422bdc3f8 fixed some more compile errors and test failures 2014-10-17 14:22:02 +04:00
Vadim Pisarevsky
61cddd8b63 fixed opencv_java build 2014-10-16 22:52:04 +04:00
Vadim Pisarevsky
25a7d023dd ok; all the tests now pass 2014-10-16 21:59:38 +04:00
Vadim Pisarevsky
c5261ea3d2 all the tests now pass except for MSER 2014-10-16 20:58:29 +04:00
Vadim Pisarevsky
97a5dd0ead fixed several test failures; currently 9 out of 73 tests fail 2014-10-16 17:00:40 +04:00
Vadim Pisarevsky
d017faa06c now all the samples and opencv_contrib compile! 2014-10-16 16:34:22 +04:00
Vadim Pisarevsky
e3654d5416 [move sift.cpp] refactored xfeatures2d in the same style as features2d
original commit: 0cfd795303
2014-10-16 16:33:21 +04:00
Alexander Alekhin
d92bee821d Merge upstream branch 2020-04-21 06:20:05 +00:00
Alexander Alekhin
df10411e05 features2d(sift): patent expiration note 2020-04-21 06:19:16 +00:00
Alexander Alekhin
44e9fb306d features2d(sift): code from nonfree module 2020-04-21 04:14:18 +00:00
Vadim Pisarevsky
5e667ee53a OpenCV with the refactored features2d compiles! contrib is broken for now; the tests are not tried yet 2014-10-15 22:49:17 +04:00
Pavel Vlasov
45958eaabc Implementation detector and selector for IPP and OpenCL;
IPP can be switched on and off on runtime;

Optional implementation collector was added (switched off by default in CMake). Gathers data of implementation used in functions and report this info through performance TS;

TS modifications for implementations control;
2014-10-15 14:24:41 +04:00
Vadim Pisarevsky
1796a26fc7 yet another attempt to refactor features2d; the first commit, features2d does not even compile 2014-10-13 23:01:45 +04:00
Vadim Pisarevsky
9575a82a9e Merge pull request #3299 from felixendres:orb_keypoint_detector_threshold 2014-10-09 14:52:38 +00:00
Niklas Frisk
af72e6b8f4 Fixes #3910, flags in _prepareImgAndDrawKeypoints are now binary OR'ed instead of added. 2014-10-07 09:40:56 +02:00
Felix Endres
ee6835492c Exposing the FAST detector threshold for ORB
Implemented as a new optional parameter for
the constructor of the ORB detector. The
change of this parameter has been included
in the orb unit test.
2014-10-02 12:17:01 +02:00
Vadim Pisarevsky
df28bb5ccd Merge pull request #3190 from StevenPuttemans:fix_simpleblobdetector 2014-09-23 07:18:01 +00:00
StevenPuttemans
d4ec359f11 Fixing errors 2014-09-22 22:12:27 +02:00
StevenPuttemans
03662c0589 fix blobdetector 2014-09-22 13:58:45 +02:00
Vadim Pisarevsky
3516e14e05 Merge branch 'bug_3172' of https://github.com/elmarb/opencv into bfmatcher_fix;
use different fix for the problem, embedded right into the BFMatcher.
2014-09-19 15:31:21 +04:00
E Braun
d82b918a7b fix for bug 3172 2014-09-19 14:47:43 +04:00
E Braun
bdb82d181f fix for bug 3172 2014-09-02 18:05:23 +02:00
Adrian Clark
fcc481e751 Fixed crash in SSE implementation of FREAK descriptor when number of pairs is set to something other than 512.
See http://code.opencv.org/issues/3889 for more details
2014-09-01 09:37:33 +12:00
Vadim Pisarevsky
2211cfe783 Merge pull request #3151 from PhilLab:orbNoKeypoints 2014-08-25 17:10:45 +00:00
Philipp Hasper
9b1136518c ORB.cl : fixed redefinition of val 2014-08-23 19:07:14 +02:00
PhilLab
92826a0436 ORB crashed with no keypoints present 2014-08-23 14:02:15 +02:00
Vadim Pisarevsky
1efc3cff36 Merge pull request #3124 from f-morozov:optim_pr 2014-08-22 07:04:43 +00:00
f-morozov
0ae89fe2be AKAZE optimizations 2014-08-21 09:34:52 +04:00
Vadim Pisarevsky
a223479107 Merge pull request #3099 from f-morozov:akaze_tutorial 2014-08-19 22:22:23 +00:00
f-morozov
886319c81d AKAZE fixes and tracking tutorial 2014-08-19 16:35:20 +04:00
Adil Ibragimov
8a4a1bb018 Several type of formal refactoring:
1. someMatrix.data -> someMatrix.prt()
2. someMatrix.data + someMatrix.step * lineIndex -> someMatrix.ptr( lineIndex )
3. (SomeType*) someMatrix.data -> someMatrix.ptr<SomeType>()
4. someMatrix.data -> !someMatrix.empty() ( or !someMatrix.data -> someMatrix.empty() ) in logical expressions
2014-08-13 15:21:35 +04:00
Vadim Pisarevsky
31df47b6ea moved nonfree and a part of features2d to opencv_contrib/xfeatures2d 2014-08-11 23:26:39 +04:00
Vadim Pisarevsky
05e7c29de5 fixed various warnings and obvious errors reported by clang compiler and the coverity tool. 2014-08-10 00:10:05 +04:00
Adil Ibragimov
98d5731ad8 some formal changes (generally adding constness) 2014-08-07 15:49:14 +04:00
Alexander Alekhin
55188fe991 world fix 2014-08-05 20:12:35 +04:00
f-morozov
7f82960897 AKAZE fixes, tests and tutorial 2014-07-30 18:02:08 +04:00
Vadim Pisarevsky
8bd1efa523 Merge pull request #2673 from BloodAxe:kaze 2014-05-19 17:35:22 +04:00
Ievgen Khvedchenia
029a8c443a Remove GSURF descriptor from KAZE algorithm 2014-05-10 20:57:37 +03:00
Ievgen Khvedchenia
3a8e15fad9 Fix documentation warnings 2014-05-09 22:21:26 +03:00
Ievgen Khvedchenia
c4e49463a9 Initial commit of the KAZE & AKAZE docs 2014-05-09 19:35:41 +03:00
Ievgen Khvedchenia
1a5fcd715d Refactor of KAZE and AKAZE:
1) Clean-up from the unused code
2) Remove of SURF extraction method
3) Enabled threading for KAZE extraction
4) Exposed new properties for runtime configuration
2014-05-09 18:46:00 +03:00
Ievgen Khvedchenia
220de14077 Clean-up from the dead code 2014-05-05 21:48:54 +03:00
Ievgen Khvedchenia
e7e00201f1 Enabled parallel processing of the nld_step_scalar function 2014-05-02 14:07:30 +03:00
Ievgen Khvedchenia
9fc90f4069 Merged nldiffusion functions into one module with removal of duplicate functions 2014-05-01 22:24:15 +03:00
Ievgen Khvedchenia
2df7242646 Prepare to merge KAZE and AKAZE nldiffusion_functions source files (work in progress). 2014-05-01 18:27:24 +03:00
Ievgen Khvedchenia
30f73623ce Replace runtime checks with assertions 2014-05-01 18:24:13 +03:00
Ievgen Khvedchenia
3e51da38fb Removed Feature_Suppression_Distance function that is not used anywhere. 2014-05-01 10:58:34 +03:00
Ievgen Khvedchenia
ab1ef08f0e Rename file config.h to KAZEConfig.h 2014-04-29 22:17:18 +03:00
Ievgen Khvedchenia
4509fe55c2 Clean-up of getters/setters that are not needed by OpenCV 2014-04-29 21:39:27 +03:00
Ievgen Khvedchenia
2daa14e3c7 Clean-up from dead code. 2014-04-29 21:07:53 +03:00
Ievgen Khvedchenia
a134e068ef Fix wrong checking of returned descriptor type 2014-04-28 22:25:27 +03:00
Ievgen Khvedchenia
c1bf453266 Wrapped nldiffusion functions with details::kaze or details::amaze namespace to avoid collision of function names 2014-04-28 20:41:44 +03:00
Ievgen Khvedchenia
c68cbfced3 Fix size_t to int conversion 2014-04-28 19:32:29 +03:00
Ievgen Khvedchenia
0e3bbd7026 Fix "conditional expression constant" warning 2014-04-28 19:32:04 +03:00
Ievgen Khvedchenia
a941d25f6d Fix size_t to int conversion 2014-04-28 16:46:09 +03:00
Ievgen Khvedchenia
5662294319 Rename KAZE to KAZEFeatures to fix MSVS x64 compiler error (Duplicate file name confused it) 2014-04-28 16:34:35 +03:00
Ievgen Khvedchenia
599bcfb591 Fix size_t to int conversion 2014-04-28 16:24:35 +03:00
Ievgen Khvedchenia
cc0a94c536 Fix "conditional expression constant" warning 2014-04-28 16:23:58 +03:00
Ievgen Khvedchenia
2162aab0e9 Remove AKAZEFeatures desctructor 2014-04-28 15:17:09 +03:00
Ievgen Khvedchenia
f9d3c49023 Bugfix: wrong variable name 2014-04-28 15:14:03 +03:00
Ievgen Khvedchenia
f9422f60a6 Fix Fix casting from/to int/float that caused lot of compiler warnings. 2014-04-28 15:13:42 +03:00
Ievgen Khvedchenia
3c596184e4 Added copyright headers for KAZE and AKAZE wrappers 2014-04-28 15:01:42 +03:00
Ievgen Khvedchenia
f97e38d8a6 Fix casting from/to int/float that caused lot of compiler warnings. 2014-04-28 15:00:14 +03:00
Ievgen Khvedchenia
61f79c2632 Fix line ending at EOF 2014-04-28 10:53:09 +03:00
Ievgen Khvedchenia
3cfc22ae4e Fix initialisation order of parallel loop classes for AKAZE descriptor extraction 2014-04-28 10:52:05 +03:00
Ievgen Khvedchenia
f3f0e06c4d Fix parenthesis in assert statements 2014-04-28 10:51:09 +03:00
Ievgen Khvedchenia
0e243541f9 Fix shadowed variable warnings 2014-04-28 10:50:46 +03:00
Ievgen Khvedchenia
ba5bec1de2 Fix mutable compilation error 2014-04-27 23:07:48 +03:00
Ievgen Khvedchenia
eada0f4b48 Fix shadowed i variable warning 2014-04-27 23:04:31 +03:00
Ievgen Khvedchenia
503bd38963 Enable multithreaded extraction of features using cv::parallel_for_ 2014-04-27 22:28:18 +03:00
Ievgen Khvedchenia
d37220e8ff Clean-up of the iostream manipulator in AKAZEConfig. 2014-04-26 23:34:38 +03:00
Ievgen Khvedchenia
d8c9bb777e Fix return value of descriptorType() 2014-04-26 23:34:07 +03:00