platform/upstream/opencv.git
6 years agocmake: CMP0026 NEW
Alexander Alekhin [Wed, 16 Aug 2017 22:49:17 +0000 (22:49 +0000)]
cmake: CMP0026 NEW

6 years agocmake: CMP0046 NEW
Alexander Alekhin [Wed, 16 Aug 2017 22:33:27 +0000 (22:33 +0000)]
cmake: CMP0046 NEW

6 years agocmake: CMP0022 NEW
Alexander Alekhin [Wed, 16 Aug 2017 21:23:06 +0000 (21:23 +0000)]
cmake: CMP0022 NEW

6 years agocmake: CMP0020 NEW
Alexander Alekhin [Wed, 16 Aug 2017 21:22:35 +0000 (21:22 +0000)]
cmake: CMP0020 NEW

6 years agoMerge pull request #9400 from sovrasov:videoio_fix_warn
Alexander Alekhin [Fri, 18 Aug 2017 16:03:50 +0000 (16:03 +0000)]
Merge pull request #9400 from sovrasov:videoio_fix_warn

6 years agovideoio: remove throw lists since they are deprecated in cxx11 (and gcc7 produces...
Vladislav Sovrasov [Fri, 18 Aug 2017 09:07:24 +0000 (12:07 +0300)]
videoio: remove throw lists since they are deprecated in cxx11 (and gcc7 produces a warning)

6 years agoMerge pull request #9397 from alalek:memcpy_null_guard
Alexander Alekhin [Fri, 18 Aug 2017 08:47:17 +0000 (08:47 +0000)]
Merge pull request #9397 from alalek:memcpy_null_guard

6 years agoMerge pull request #9369 from alalek:cpp_refactor_gtk
Alexander Alekhin [Thu, 17 Aug 2017 20:05:56 +0000 (20:05 +0000)]
Merge pull request #9369 from alalek:cpp_refactor_gtk

6 years agoMerge pull request #8847 from Cartucho:java_highgui
Alexander Alekhin [Thu, 17 Aug 2017 20:04:33 +0000 (20:04 +0000)]
Merge pull request #8847 from Cartucho:java_highgui

6 years agoMerge pull request #9210 from whizzzkid/fixing-cuda
Nishant Arora [Thu, 17 Aug 2017 16:32:53 +0000 (10:32 -0600)]
Merge pull request #9210 from whizzzkid/fixing-cuda

Fixing explicitly call download method for cuda::GpuMat object

6 years agocore: fix memcpy with zero size
Alexander Alekhin [Thu, 17 Aug 2017 15:30:31 +0000 (18:30 +0300)]
core: fix memcpy with zero size

6 years agoMerge pull request #9330 from hrnr:akaze_ocl
Jiri Horner [Wed, 16 Aug 2017 16:46:11 +0000 (18:46 +0200)]
Merge pull request #9330 from hrnr:akaze_ocl

[GSOC] Enable OCL for AKAZE (#9330)

* revert e0489cb - reenable OCL for AKAZE

* deal with conversion internally in AKAZE

* pass InputArray directly to AKAZE to allow distiguishing input Mat/UMat. deal with conversion there
* ensure that keypoints orientations are always computed. prevents misuse of internal AKAZE class.

* covert internal AKAZE functions to use InputArray/OutputArray

* make internal functions private in AKAZE

* split OCL and CPU paths in AKAZE

* create 2 separate pyramids, 1 for OCL and 1 for CPU
* template functions that use temporaries to always store them as correct type (UMat/Mat)

* remove variable used only in OCL path

causes unused variable warning

* update AKAZE documentation

* run ocl version only when ocl is enabled

* add tests for OCL path in AKAZE

* relax condition for keypoints angle

6 years agoMerge pull request #9382 from StevenPuttemans:fix_9121
Alexander Alekhin [Wed, 16 Aug 2017 13:56:33 +0000 (13:56 +0000)]
Merge pull request #9382 from StevenPuttemans:fix_9121

6 years agoMerge pull request #9379 from berak:imgproc_hanning
Alexander Alekhin [Wed, 16 Aug 2017 10:28:19 +0000 (10:28 +0000)]
Merge pull request #9379 from berak:imgproc_hanning

6 years agofix_9121
Steven Puttemans [Wed, 16 Aug 2017 09:34:55 +0000 (11:34 +0200)]
fix_9121

6 years agoimgproc:fix winSize in createHanningWindow()
berak [Wed, 16 Aug 2017 06:51:34 +0000 (08:51 +0200)]
imgproc:fix winSize in createHanningWindow()

6 years agoMerge pull request #9366 from martinsey:brisk-detection-parameter-extension
Alexander Alekhin [Tue, 15 Aug 2017 10:48:10 +0000 (10:48 +0000)]
Merge pull request #9366 from martinsey:brisk-detection-parameter-extension

6 years agobrisk add detection threshold for custom sampling pattern
Martin Seyferth [Mon, 14 Aug 2017 07:40:43 +0000 (09:40 +0200)]
brisk add detection threshold for custom sampling pattern

6 years agoMerge pull request #9329 from savuor:softfloat_sincos
Rostislav Vasilikhin [Tue, 15 Aug 2017 09:23:26 +0000 (12:23 +0300)]
Merge pull request #9329 from savuor:softfloat_sincos

SoftFloat: added sin, cos and docs (#9329)

* softfloat: comparison operators made inline, min() max() eps() isSubnormal() added

* softfloat: get/set sign/exp

* softfloat: get/set frac

* softfloat: tests rewritten with new tools

* softfloat: added pi(), sin(), cos()

* softfloat: more comments

* softfloat: updated sincos arg reduction

* softfloat: initial tests for sincos added

* softfloat: test works, code cleanup is pending

* softfloat: sincos argreduce rewritten

* softfloat: sincos refactored and simplified

* softfloat sincos: epsilons calibrated

* softfloat: junk code removed from tests

* softfloat: docs added

* inline comparisons undone; warning fixed

6 years agoMerge pull request #9358 from azatsman:master
Alexander Alekhin [Tue, 15 Aug 2017 09:16:45 +0000 (09:16 +0000)]
Merge pull request #9358 from azatsman:master

6 years agoMerge pull request #9368 from alalek:fix_9361
Alexander Alekhin [Tue, 15 Aug 2017 09:14:40 +0000 (09:14 +0000)]
Merge pull request #9368 from alalek:fix_9361

6 years agohighgui: refactor GTK backend
Alexander Alekhin [Mon, 14 Aug 2017 19:33:00 +0000 (19:33 +0000)]
highgui: refactor GTK backend

- eliminate legacy C code, used fields
- fix mutex synchronization issues
- set trackbar min/max without unnecessary truncation; allow negative values

6 years agoMerge pull request #9367 from StevenPuttemans:fix_doc_9359
Alexander Alekhin [Mon, 14 Aug 2017 15:16:07 +0000 (15:16 +0000)]
Merge pull request #9367 from StevenPuttemans:fix_doc_9359

6 years agocmake: disable HAVE_POSIX_SEMAPHORES on Apple platform
Alexander Alekhin [Mon, 14 Aug 2017 14:19:51 +0000 (17:19 +0300)]
cmake: disable HAVE_POSIX_SEMAPHORES on Apple platform

6 years agofix issue 9359
Steven Puttemans [Mon, 14 Aug 2017 14:16:04 +0000 (16:16 +0200)]
fix issue 9359

6 years agoMerge pull request #9364 from alalek:update_pthread
Alexander Alekhin [Mon, 14 Aug 2017 14:15:23 +0000 (14:15 +0000)]
Merge pull request #9364 from alalek:update_pthread

6 years agoMerge pull request #9317 from sturkmen72:warpPerspective_demo
Alexander Alekhin [Mon, 14 Aug 2017 13:15:48 +0000 (13:15 +0000)]
Merge pull request #9317 from sturkmen72:warpPerspective_demo

6 years agoMerge pull request #9338 from dkurt:fix_ocl
Alexander Alekhin [Mon, 14 Aug 2017 12:56:07 +0000 (12:56 +0000)]
Merge pull request #9338 from dkurt:fix_ocl

6 years agoMerge pull request #9365 from alalek:build_fix_parallel
Alexander Alekhin [Mon, 14 Aug 2017 10:28:53 +0000 (10:28 +0000)]
Merge pull request #9365 from alalek:build_fix_parallel

6 years agocore(build): fix compilation of parallel.cpp (OpenMP configuration)
Alexander Alekhin [Mon, 14 Aug 2017 08:28:21 +0000 (11:28 +0300)]
core(build): fix compilation of parallel.cpp (OpenMP configuration)

6 years agoMerge pull request #9360 from tomoaki0705:suppressCalib3dWarning
Alexander Alekhin [Mon, 14 Aug 2017 08:10:58 +0000 (08:10 +0000)]
Merge pull request #9360 from tomoaki0705:suppressCalib3dWarning

6 years agobuild: HAVE_LIBPTHREAD, HAVE_PTHREAD(S) => HAVE_PTHREAD
Alexander Alekhin [Mon, 14 Aug 2017 07:59:38 +0000 (10:59 +0300)]
build: HAVE_LIBPTHREAD, HAVE_PTHREAD(S) => HAVE_PTHREAD

6 years agosuppress warning message
Tomoaki Teshima [Sun, 13 Aug 2017 23:26:06 +0000 (08:26 +0900)]
suppress warning message

6 years agoChanged NORM_RELATIVE_INF, NORM_RELATIVE_L1 and NORM_RELATIVE_L2 to
Alex Zatsman [Sun, 13 Aug 2017 15:55:35 +0000 (11:55 -0400)]
Changed NORM_RELATIVE_INF, NORM_RELATIVE_L1 and NORM_RELATIVE_L2 to
NORM_RELATIVE | NORM_INF, NORM_RELATIVE | NORM_L1 and NORM_RELATIVE | NORM_L2
respectively in the documentation for cv::norm and cv::NormTypes

6 years agoMerge pull request #9342 from alalek:fix_parallel_for
Alexander Alekhin [Thu, 10 Aug 2017 20:22:44 +0000 (20:22 +0000)]
Merge pull request #9342 from alalek:fix_parallel_for

6 years agoMerge pull request #9331 from tomoaki0705:suppressWarningVS
Alexander Alekhin [Thu, 10 Aug 2017 20:22:25 +0000 (20:22 +0000)]
Merge pull request #9331 from tomoaki0705:suppressWarningVS

6 years agosuppress warnings on Visual Studio 2013 and earlier
Tomoaki Teshima [Thu, 10 Aug 2017 14:03:27 +0000 (23:03 +0900)]
suppress warnings on Visual Studio 2013 and earlier

6 years agoNew example - warpPerspective_demo.cpp
Suleyman TURKMEN [Sat, 5 Aug 2017 18:55:33 +0000 (21:55 +0300)]
New example - warpPerspective_demo.cpp

An example program shows using cv::findHomography and cv::warpPerspective for image warping

6 years agoMerge pull request #9343 from PhilLab:patch-4
Alexander Alekhin [Thu, 10 Aug 2017 10:25:35 +0000 (10:25 +0000)]
Merge pull request #9343 from PhilLab:patch-4

6 years agoMerge pull request #9340 from paroj:stereocalib_cpp
Alexander Alekhin [Thu, 10 Aug 2017 10:24:29 +0000 (10:24 +0000)]
Merge pull request #9340 from paroj:stereocalib_cpp

6 years agoMerge pull request #9339 from johnhany:Fix-SyntaxError-check-tests-py
Alexander Alekhin [Thu, 10 Aug 2017 10:20:05 +0000 (10:20 +0000)]
Merge pull request #9339 from johnhany:Fix-SyntaxError-check-tests-py

6 years agoMerge pull request #9332 from csukuangfj:improve-documentation
Alexander Alekhin [Thu, 10 Aug 2017 10:00:12 +0000 (10:00 +0000)]
Merge pull request #9332 from csukuangfj:improve-documentation

6 years agoMerge pull request #9328 from taketwo:example-superres-fix
Alexander Alekhin [Thu, 10 Aug 2017 09:59:51 +0000 (09:59 +0000)]
Merge pull request #9328 from taketwo:example-superres-fix

6 years agoClarified documentation cv::RotatedRect::points
Philipp Hasper [Thu, 10 Aug 2017 09:06:40 +0000 (11:06 +0200)]
Clarified documentation cv::RotatedRect::points

6 years agocore: fix flag processing for nested regions in cv::parallel_for_()
Alexander Alekhin [Thu, 10 Aug 2017 08:17:14 +0000 (08:17 +0000)]
core: fix flag processing for nested regions in cv::parallel_for_()

6 years agocalib3d: use cpp functions in cvStereoCalibrate to make it more readable
Pavel Rojtberg [Wed, 9 Aug 2017 15:08:37 +0000 (17:08 +0200)]
calib3d: use cpp functions in cvStereoCalibrate to make it more readable

6 years agoFix SyntaxError with print
John Hany [Wed, 9 Aug 2017 13:25:16 +0000 (21:25 +0800)]
Fix SyntaxError with print

6 years agoFixed some OpenCL interface bugs
Dmitry Kurtaev [Wed, 9 Aug 2017 08:54:55 +0000 (11:54 +0300)]
Fixed some OpenCL interface bugs

6 years agofix some typos in the documentation.
KUANG, Fangjun [Tue, 8 Aug 2017 15:32:04 +0000 (17:32 +0200)]
fix some typos in the documentation.

6 years agoMinor update for example-gpu-super_resolution
Sergey Alexandrov [Mon, 7 Aug 2017 19:39:51 +0000 (21:39 +0200)]
Minor update for example-gpu-super_resolution

* Remove "simple" flow estimation from help (because it was disabled by 653bca8b)
* Add `flush` after printing iteration number for better UX

6 years agoMerge tag '3.3.0'
Alexander Alekhin [Fri, 4 Aug 2017 00:00:18 +0000 (00:00 +0000)]
Merge tag '3.3.0'

OpenCV 3.3.0

6 years agoOpenCV version++
Alexander Alekhin [Thu, 3 Aug 2017 23:05:15 +0000 (23:05 +0000)]
OpenCV version++

OpenCV 3.3.0

6 years agoMerge tag '3.3.0-cvsdk'
Alexander Alekhin [Thu, 3 Aug 2017 23:04:38 +0000 (23:04 +0000)]
Merge tag '3.3.0-cvsdk'

OpenCV 3.3.0 for Intel Computer Vision SDK

6 years agoMerge pull request #9308 from alalek:akaze_fixes
Alexander Alekhin [Thu, 3 Aug 2017 22:59:22 +0000 (22:59 +0000)]
Merge pull request #9308 from alalek:akaze_fixes

6 years agofeatures2d(test): more AKAZE tests
Alexander Alekhin [Thu, 3 Aug 2017 22:02:47 +0000 (22:02 +0000)]
features2d(test): more AKAZE tests

6 years agoakaze: more fixes
Alexander Alekhin [Thu, 3 Aug 2017 21:40:25 +0000 (21:40 +0000)]
akaze: more fixes

- boundary checks
- div by zero guard
- fixed bilinear interpolation (another case)
- reduce memory allocation

6 years agoakaze: fix T-API interfaces, disable OpenCL code
Alexander Alekhin [Thu, 3 Aug 2017 20:30:13 +0000 (20:30 +0000)]
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.

6 years agoMerge pull request #9303 from alalek:akaze_update
Alexander Alekhin [Thu, 3 Aug 2017 17:17:03 +0000 (17:17 +0000)]
Merge pull request #9303 from alalek:akaze_update

6 years agoMerge pull request #9235 from sturkmen72:patch-3
Alexander Alekhin [Thu, 3 Aug 2017 17:04:28 +0000 (17:04 +0000)]
Merge pull request #9235 from sturkmen72:patch-3

6 years agoakaze: uninitialized field
Alexander Alekhin [Thu, 3 Aug 2017 17:04:21 +0000 (20:04 +0300)]
akaze: uninitialized field

6 years agostitching(perf): increase test check tolerance
Alexander Alekhin [Thu, 3 Aug 2017 16:23:03 +0000 (19:23 +0300)]
stitching(perf): increase test check tolerance

6 years agoakaze: fRound -> cvRound, fix bilinear interpolation
Alexander Alekhin [Thu, 3 Aug 2017 14:39:05 +0000 (17:39 +0300)]
akaze: fRound -> cvRound, fix bilinear interpolation

6 years agoakaze: getAngle() -> fastAtan2()
Alexander Alekhin [Thu, 3 Aug 2017 14:24:01 +0000 (17:24 +0300)]
akaze: getAngle() -> fastAtan2()

6 years agoakaze: remove usage of int8_t / uint8_t
Alexander Alekhin [Thu, 3 Aug 2017 13:54:23 +0000 (16:54 +0300)]
akaze: remove usage of int8_t / uint8_t

6 years agofeatures2d(test): update descriptor regression test
Alexander Alekhin [Thu, 3 Aug 2017 10:19:51 +0000 (13:19 +0300)]
features2d(test): update descriptor regression test

6 years agofeatures2d(test): enable debug messages
Alexander Alekhin [Thu, 3 Aug 2017 12:22:43 +0000 (15:22 +0300)]
features2d(test): enable debug messages

6 years agoakaze: resolve issue with using of uninitialized memory
Alexander Alekhin [Thu, 3 Aug 2017 11:54:38 +0000 (14:54 +0300)]
akaze: resolve issue with using of uninitialized memory

6 years agoakaze: optimize allocations
Alexander Alekhin [Thu, 3 Aug 2017 10:03:08 +0000 (13:03 +0300)]
akaze: optimize allocations

6 years agoakaze: replace ceil()
Alexander Alekhin [Thu, 3 Aug 2017 09:04:02 +0000 (12:04 +0300)]
akaze: replace ceil()

- integer division => divUp()
- cast to 'int' => cvCeil()

6 years agocore: divUp function
Alexander Alekhin [Thu, 3 Aug 2017 08:57:45 +0000 (11:57 +0300)]
core: divUp function

6 years agoMerge pull request #9306 from alalek:cmake_fix_macro
Alexander Alekhin [Thu, 3 Aug 2017 16:32:13 +0000 (16:32 +0000)]
Merge pull request #9306 from alalek:cmake_fix_macro

cmake: fix __STDC macros for opencv_world build

6 years agoMerge pull request #9248 from alalek:alloc_refactoring
Alexander Alekhin [Thu, 3 Aug 2017 16:25:29 +0000 (16:25 +0000)]
Merge pull request #9248 from alalek:alloc_refactoring

6 years agocmake: fix __STDC macros for opencv_world build
Alexander Alekhin [Thu, 3 Aug 2017 15:40:05 +0000 (18:40 +0300)]
cmake: fix __STDC macros for opencv_world build

6 years agoMerge pull request #9287 from dkurt:tensorflow_unit_tests
Alexander Alekhin [Thu, 3 Aug 2017 12:21:23 +0000 (12:21 +0000)]
Merge pull request #9287 from dkurt:tensorflow_unit_tests

6 years agoMerge pull request #9297 from alalek:akaze_remove_rand
Alexander Alekhin [Thu, 3 Aug 2017 09:21:22 +0000 (09:21 +0000)]
Merge pull request #9297 from alalek:akaze_remove_rand

6 years agoMerge pull request #9249 from hrnr:akaze_part3
Jiri Horner [Thu, 3 Aug 2017 08:35:07 +0000 (10:35 +0200)]
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 ffd9ad99f4946e31508677dab09bddbecb82ae9f2c5389594bb560b62097de3602755ef97e60135f), 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

6 years agoUnit tests for TensorFlow importer
dkurt [Tue, 1 Aug 2017 15:21:47 +0000 (18:21 +0300)]
Unit tests for TensorFlow importer

6 years agofeatures2d: don't use rand(), because it is not thread-safe
Alexander Alekhin [Wed, 2 Aug 2017 20:48:54 +0000 (23:48 +0300)]
features2d: don't use rand(), because it is not thread-safe

Results are not stable with srand()

6 years agoMerge pull request #9296 from dkurt:halide_device_interface
Alexander Alekhin [Wed, 2 Aug 2017 20:26:30 +0000 (20:26 +0000)]
Merge pull request #9296 from dkurt:halide_device_interface

6 years agoMerge pull request #9246 from bragboy:patch-1
Alexander Alekhin [Wed, 2 Aug 2017 20:22:11 +0000 (20:22 +0000)]
Merge pull request #9246 from bragboy:patch-1

6 years agoMerge pull request #9286 from alalek:rect_size_empty
Alexander Alekhin [Wed, 2 Aug 2017 20:20:16 +0000 (20:20 +0000)]
Merge pull request #9286 from alalek:rect_size_empty

6 years agoMerge pull request #9280 from alalek:fix_repo_url
Alexander Alekhin [Wed, 2 Aug 2017 20:19:51 +0000 (20:19 +0000)]
Merge pull request #9280 from alalek:fix_repo_url

6 years agoMerge pull request #9285 from arrybn:issue_9223
Alexander Alekhin [Wed, 2 Aug 2017 17:51:46 +0000 (17:51 +0000)]
Merge pull request #9285 from arrybn:issue_9223

6 years agoReplace halide_opencl_device_interface
dkurt [Wed, 2 Aug 2017 17:38:30 +0000 (20:38 +0300)]
Replace halide_opencl_device_interface

6 years agoMerge pull request #9288 from sensics:honor-fix-principal-point-fisheye
Alexander Alekhin [Wed, 2 Aug 2017 10:05:18 +0000 (10:05 +0000)]
Merge pull request #9288 from sensics:honor-fix-principal-point-fisheye

6 years agoAdded ELU and test for it
Aleksandr Rybnikov [Tue, 1 Aug 2017 13:58:34 +0000 (16:58 +0300)]
Added ELU and test for it

6 years agoHonor fixing principal point in camera calib tutorial.
Ryan Pavlik [Mon, 3 Jul 2017 21:12:37 +0000 (16:12 -0500)]
Honor fixing principal point in camera calib tutorial.

6 years agocore: empty() for Rect/Size templates
Alexander Alekhin [Tue, 1 Aug 2017 14:19:18 +0000 (17:19 +0300)]
core: empty() for Rect/Size templates

Check for empty objects via .area() is not a good practice due overflows

6 years agoMerge pull request #9253 from jbms:fix/image-decoding-tempfile
Alexander Alekhin [Tue, 1 Aug 2017 13:47:15 +0000 (13:47 +0000)]
Merge pull request #9253 from jbms:fix/image-decoding-tempfile

6 years agoMerge pull request #9097 from piotr-semenov:fix/cv_rect_monoid_identity
Alexander Alekhin [Tue, 1 Aug 2017 13:06:37 +0000 (13:06 +0000)]
Merge pull request #9097 from piotr-semenov:fix/cv_rect_monoid_identity

6 years agoMerge pull request #9284 from ipuustin:dnn-opencl-fixes
Alexander Alekhin [Tue, 1 Aug 2017 13:06:00 +0000 (13:06 +0000)]
Merge pull request #9284 from ipuustin:dnn-opencl-fixes

6 years agoMerge pull request #9279 from alalek:ocl_fix_program_cache
Alexander Alekhin [Tue, 1 Aug 2017 13:05:43 +0000 (13:05 +0000)]
Merge pull request #9279 from alalek:ocl_fix_program_cache

6 years agoMerge pull request #8951 from hrnr:akaze_part2
Jiri Horner [Tue, 1 Aug 2017 12:46:01 +0000 (14:46 +0200)]
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 ba81e2a711ae009ce3c5459775627b6423112669.

6 years agodnn: force floating point literals to be float.
Ismo Puustinen [Tue, 1 Aug 2017 11:09:11 +0000 (14:09 +0300)]
dnn: force floating point literals to be float.

In OpenCL code in activations.cl, make the type of floating point
literals to be float. Otherwise the values will be interpreted as
doubles, causing Beignet to have type conversion issues.

6 years agoMerge pull request #9188 from arrybn:mobilenet_ssd_sample
Alexander Alekhin [Tue, 1 Aug 2017 11:12:54 +0000 (11:12 +0000)]
Merge pull request #9188 from arrybn:mobilenet_ssd_sample

6 years agoMobileNet SSD sample
Aleksandr Rybnikov [Fri, 14 Jul 2017 17:47:56 +0000 (20:47 +0300)]
MobileNet SSD sample

6 years agoMerge pull request #9278 from alalek:ts_perf_threads
Alexander Alekhin [Mon, 31 Jul 2017 16:21:51 +0000 (16:21 +0000)]
Merge pull request #9278 from alalek:ts_perf_threads

6 years agoloadsave: check for errors when using temp file
Jeremy Maitin-Shepard [Thu, 27 Jul 2017 20:44:36 +0000 (13:44 -0700)]
loadsave: check for errors when using temp file

Previously, the return value of fwrite and fclose were not properly
checked, leading to possible silent truncation of the data if writing
failed, e.g. due to lack of disk space.

Fixes issue #9251.

6 years agofix OpenCV GitHub repository URL
Alexander Alekhin [Mon, 31 Jul 2017 14:48:57 +0000 (17:48 +0300)]
fix OpenCV GitHub repository URL

6 years agoocl: fix program cache key
Alexander Alekhin [Mon, 31 Jul 2017 14:24:08 +0000 (17:24 +0300)]
ocl: fix program cache key