Commit Graph

20288 Commits

Author SHA1 Message Date
Alexander Alekhin
72c5ac37de Merge pull request #16915 from alalek:build_warnings 2020-03-27 16:42:53 +00:00
Alexander Alekhin
1eba7f60c2 Merge pull request #16913 from alalek:gapi_simd_initialization 2020-03-27 16:42:14 +00:00
Moritz Fischer-Gundlach
2740901378 -calib3d updates documentation
backporting commit 99436bb8cf
2020-03-27 16:02:29 +00:00
Alexander Alekhin
0c00d082cf Merge pull request #16860 from FischerGundlach:rework_docu 2020-03-27 16:00:48 +00:00
Alexander Alekhin
e661ad2a67 eliminate build warnings 2020-03-27 11:39:07 +00:00
Anton Potapov
faceb05775 G-API utils - make variant converting constructor and assignment
operator properly forward it's argument
2020-03-27 14:30:16 +03:00
cyy
bdc29cccb6 fix freebsd build 2020-03-27 18:12:10 +08:00
StefanBruens
8d78400052
Merge pull request #16494 from StefanBruens:jpeg2000_openjpeg_port
Jpeg2000 OpenJPEG port

* OpenJPEG based JPEG2000 decoder implementation

Currently, the following input color spaces and depth conversions are
supported:

- 8 bit -> 8 bit
- 16 bit -> 16 bit (IMREAD_UNCHANGED, IMREAD_ANYDEPTH)

- RGB(a) -> BGR
- RGBA -> BGRA (IMREAD_UNCHANGED)
- Y(a) -> Y(a) (IMREAD_ANYCOLOR, IMREAD_GRAY, IMREAD_UNCHANGED))
- YCC -> Y (IMREAD_GRAY)

* Check for OpenJPEG availability

This enables OpenJPEG based JPEG2000 imread support by default, which
can be disabled by -DWITH_OPENJPEG=OFF. In case OpenJPEG is enabled
and found, any checks for Jasper are skipped.

* Implement precision downscaling for precision > 8 without IMREAD_UNCHANGED

With IMREAD_UNCHANGED, values are kept from the input image, without it
components are downscaled to CV_8U range.

* Enable Jpeg2K tests when OpenJPEG is available

* Add support for some more color conversions

Support IMREAD_GRAY when input color space is RGB or unspecified.
Support YUV input color space for BGR output.

* fix: problems with unmanaged memory

* fix: CMake warning - HAVE_OPENJPEG is undefined

Removed trailing whitespaces

* fix: CMake find_package OpenJPEG add minimal version

* Basic JPEG2K encoder

Images with depth CV_8U and CV_16U are supported, with 1 to 4 channels.

* feature: Improved code for OpenJPEG2000 encoder/decoder

 - Removed code duplication
 - Added error handlers
 - Extracted functions

* feature: Update conversion openjpeg array from/to Mat

* feature: Extend ChannelsIterator to fulfill RandomAccessIterator named requirements

 - Removed channels split in copyFromMatImpl. With ChannelsIterator no allocations are performed.
 - Split whole loop into 2 parts in copyToMat -> where std::copy and std::transforms are called.

* fix: Applied review comments.

 - Changed `nullptr` in CV_LOG* functions to `NULL`
 - Added `falls through` comment in decoder color space `switch`
 - Added warning about unsupported parameters for the encoder

* feature: Added decode from in-memory buffers.

Co-authored-by: Vadim Levin <vadim.levin@xperience.ai>
2020-03-27 07:18:58 +00:00
Alexander Alekhin
b4b4d21212 eliminate build warnings 2020-03-26 19:18:09 +00:00
Alexander Alekhin
99502e99cc gapi(simd): initialize accumulator values 2020-03-26 16:48:21 +00:00
Moritz Fischer-Gundlach
99436bb8cf -calib3d updates documentation 2020-03-26 15:22:39 +01:00
Anatoliy Talamanov
c303aaa94d
Merge pull request #16841 from TolyaTalamanov:at/warp-perspective
G-API: Implement WarpPerspective

* Implement WarpPerspective kernel

* Fix comment to review
2020-03-25 11:23:32 +00:00
Alexander Alekhin
c920b45fb8 core(persistence): fix resource leaks - force closing files
backporting commit 673eb2b006
2020-03-25 10:49:16 +00:00
Alexander Alekhin
b0563ce368
Merge pull request #16895 from alalek:fix_16823 2020-03-24 16:15:15 +03:00
Alexander Alekhin
673eb2b006 core(persistence): fix resource leaks - force closing files 2020-03-24 11:38:09 +00:00
Alexander Alekhin
ef395c3866 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-03-24 11:12:11 +00:00
Anatoliy Talamanov
4d3d6230c5
Merge pull request #16803 from TolyaTalamanov:at/yuv-to-gray
* Implement NV12toGray

* Snapshot

* Implement NV12toGray as compound kernel

* Update gapi_imgproc_tests_inl.hpp

* Remove YUV2Gray from public API
2020-03-24 10:51:18 +00:00
Maksim Shabunin
0aac17d9f7 calib3d: check input values in dls 2020-03-24 12:22:26 +03:00
Alexander Alekhin
ea34b2fefb Merge pull request #16888 from YashasSamaga:cuda4dnn-redundant-act-fusion-check 2020-03-24 08:41:11 +00:00
Alexander Alekhin
978666c816 Merge pull request #16849 from anton-potapov:ap/variant__assignment_operator_compile_error 2020-03-23 22:04:48 +00:00
Alexander Alekhin
0b4c101e8a Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-03-23 16:54:35 +00:00
Alexander Alekhin
2d63861c09 Merge pull request #16885 from mshabunin:fix-msvc-warn 2020-03-23 16:23:37 +00:00
Alexander Alekhin
e8c7d61752 Merge pull request #16817 from dkurt:dnn_onnx_lstm 2020-03-23 16:22:17 +00:00
YashasSamaga
4e8cd4629c fix CUDNN_STATUS_NOT_SUPPORTED, remove redundant fusion checks 2020-03-23 19:47:00 +05:30
Dmitry Kurtaev
467c3ef0ac Add checks for LSTM initial h and c 2020-03-23 16:28:55 +03:00
Maksim Shabunin
2f665ec589 calib3d: fixed VS2019 warning C4756 2020-03-23 14:46:21 +03:00
Alexander Alekhin
39b64fc7d7
Merge pull request #16864 from alalek:issue_16857 2020-03-22 23:15:57 +03:00
Alexander Alekhin
4dfa798e75 Merge pull request #16868 from YashasSamaga:cuda4dnn-scale-fix_and_improvements 2020-03-22 20:15:11 +00:00
YashasSamaga
2aeb32d2d1 fix segfaults, support bias in untrainable mode, support batches in untrainable mode 2020-03-22 22:18:52 +05:30
Dmitry Kurtaev
8433620295 Bidirectional LSTM 2020-03-22 00:56:48 +03:00
Alexander Alekhin
760e9e0943 Merge pull request #16859 from dmatveev:dm/gapi_android 2020-03-21 17:06:01 +00:00
Alexander Alekhin
d7e839b8c5 objdetect(QR): avoid bug with empty input 2020-03-21 01:35:30 +00:00
Alexander Alekhin
2fb1d9d02e doc: fix misused "see also" doxygen command 2020-03-21 00:25:49 +00:00
Alexander Alekhin
4cdb4652cf Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-03-20 21:41:15 +00:00
Alexander Alekhin
0fb4f2cc9c imgproc: add src.empty() checks in filter operations 2020-03-20 21:04:29 +00:00
Dmitry Matveev
020be63df5 Try to enable G-API build on Android 2020-03-20 17:20:01 +03:00
Alexander Alekhin
377dd04224 core: fix .begin()/.end() of empty Mat 2020-03-20 14:08:45 +00:00
Anton Potapov
31d624f9a8 G-API utils - fix compilation error in variant::operator= 2020-03-20 14:46:13 +03:00
Alexander Alekhin
dbb30134bc Merge pull request #16835 from YashasSamaga:cuda4dnn-hotfix-memory-lock 2020-03-19 16:50:39 +00:00
Alexander Alekhin
847190b5b8 Merge pull request #16828 from paroj:nmspy 2020-03-19 16:43:43 +00:00
Anatoliy Talamanov
8fe9674301
Merge pull request #16768 from TolyaTalamanov:at/add-warp-affine
G-API: Implement WarpAffine

* Add WarpAffine

* Ban BORDER_TRANSPARENT

* Fix doc
2020-03-19 12:12:09 +00:00
Pavel Rojtberg
66cf55ea1f dnn: expose only float variant of NMSBoxes for bindings
the float variant was always shadowed by the int version as
Rect2d is implicitly convertible to Rect.
This swaps things which is fine, as the vector of boxes was always
copied and the computation was done in double.
2020-03-19 12:36:35 +01:00
Alexander Alekhin
4b47c7dbd2 cmake(python): handle PYTHON3_LIMITED_API
- python-3.x => python-3
- config-3.x.py => config-3.py
2020-03-18 23:10:06 +00:00
Pratik Raj
2160f9b20e
Merge pull request #16733 from Rajpratik71:master
Some debian package manager tweaks
2020-03-18 15:19:55 +00:00
Dmitry Kurtaev
11d565ca62 Fix LSTM from ONNX with batch==1 2020-03-18 00:00:24 +03:00
Dmitry Kurtaev
8d69dbdf49 LSTM from ONNX works 2020-03-17 22:05:57 +03:00
Dmitry Kurtaev
14da5ec311 LSTM scalar 2020-03-17 22:01:49 +03:00
Alexander Alekhin
25ab141b93 Merge pull request #16836 from alalek:stitching_avoid_nonfree_by_default 2020-03-17 16:29:44 +00:00
Liubov Batanina
718d7e4b04
Merge pull request #16715 from l-bat:slice_onnx
* Support Slice layer with multiple inputs

* Add test

* Supported Resize from PyTorch

* Rewrite test

* Remove Cast layer (supported in #16735)

* Support ConstantOfShape

* Fix tests

* Fix coments

* Remove useless condition

* Fixed failed tests
2020-03-17 17:31:01 +03:00
Alexander Alekhin
ca68fac4b2 stitching: don't use nonfree by default 2020-03-17 15:09:23 +03:00
YashasSamaga
034a43e7f7 release and relock on wrapper resize 2020-03-17 16:08:04 +05:30
Alexander Alekhin
ca23c0e630 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-03-17 13:23:33 +03:00
Alexander Alekhin
1d7bfcc958 Merge pull request #16827 from alalek:update_buffer_area 2020-03-17 10:12:47 +00:00
Alexander Alekhin
01ea055d79 Merge pull request #16825 from mshabunin:fix-qrcode-tests 2020-03-16 18:52:15 +00:00
Alexander Alekhin
77d1c20fb7 core(buffer_area): handle 'OPENCV_ENABLE_MEMORY_SANITIZER=ON' case 2020-03-16 19:34:08 +03:00
Maksim Shabunin
05d4975619 objdetect: fix QRCode tests with disabled QUIRC 2020-03-16 19:20:34 +03:00
Maksim Shabunin
d4d95bd70d Fixs several problems found by static analysis 2020-03-16 19:15:26 +03:00
Maksim Shabunin
7e7bb3027c Fixs several problems found by static analysis 2020-03-16 19:03:24 +03:00
Alexander Alekhin
8f49b820db Merge pull request #16820 from dkurt:fix_16811 2020-03-16 15:04:49 +00:00
RAJKIRAN NATARAJAN
3b2e409fa7
Merge pull request #16779 from saskatchewancatch:issue-16777
* Fixes issue 16777.

* core: update Concurrency getNumThreads()
2020-03-16 17:12:29 +03:00
Dmitry Kurtaev
7f0d90a525 Fix memory leak in Python custom dnn layers 2020-03-16 16:54:55 +03:00
Alexander Alekhin
71ec112093 Merge pull request #16786 from alalek:issue_16398 2020-03-15 19:49:50 +00:00
Sayed Adel
9ea62bfddb core:vsx reimplement v_broadcast_element()
There's no need to use `vec_perm()` instead of `vec_splat()`,
  since instruction `vperm` is quite heavy compared to `vsplt[b,h,w]`.
2020-03-14 22:54:22 +02:00
Alexander Alekhin
00925ad795 Merge pull request #16809 from alalek:dnn_ie_separate_core_instances 2020-03-14 13:47:50 +00:00
Alexander Alekhin
683910f579 Merge pull request #16760 from dkurt:dnn_mobilenet_v3 2020-03-14 13:38:06 +00:00
Liubov Batanina
2645ee90ca
Merge pull request #16735 from l-bat:flatten_const_onnx
* Supported Flatten for constant nodes

* Added default axis

* Refactoring

* Refactoring

* Added cast layer

* Fix comments

* Add Cast for layers
2020-03-14 11:05:49 +00:00
Alexander Alekhin
9b64eadcb6 dnn(ie): separate IECore for different devices
- HETERO plugin doesn't switch well between devices
2020-03-13 18:49:28 +03:00
Anton Potapov
3af63fe052 GAPI - KW fixes
- avoid overflow in own::Mat::total() and according tests, part 2
2020-03-13 12:46:18 +03:00
Alexander Alekhin
a1230ad0a0 Merge pull request #16796 from anton-potapov:kw_fixes_own_mat_total_overflow 2020-03-12 13:05:52 +00:00
Alexander Alekhin
448a5452d0 Merge pull request #16793 from anton-potapov:kw_fixes_bitwise_op_on_bools 2020-03-12 12:10:32 +00:00
Alexander Alekhin
4cebef9090 Merge pull request #16792 from alalek:fixup_merge_dnn 2020-03-12 12:04:47 +00:00
Alexander Alekhin
7080c783d1 cmake: fix missing project() warning in Python standalone builds 2020-03-12 14:29:31 +03:00
Anton Potapov
d3b68b059b GAPI - KW fixes
- avoid overflow in own::Mat::total() and according tests
2020-03-12 13:29:54 +03:00
Alexander Alekhin
7d1c42afe1 dnn: fix merge mistake in scale_layer.cpp 2020-03-12 13:07:33 +03:00
Alexander Duda
d594e72586 fix: estimateChessboardSharpness triggers out of range test
Problem is that iter1 += tcols, iter2 += tcols are called without check.
row < trows - 1 check is processed after increment in "for" statements.
2020-03-11 22:04:54 +01:00
Alexander Alekhin
4e56c1326f core: adjust type of allocator_stats counter, allow to disable 2020-03-11 20:12:29 +03:00
Anton Potapov
3ba6b41961 GAPI - KW fixes
- replaced bitwise &= on bools, with explicit && to make KW happy
2020-03-11 18:16:56 +03:00
Alexander Alekhin
c1a8fb72b7 Merge pull request #16498 from etrulls:3.4.9-maxIters 2020-03-11 12:35:33 +00:00
Alexander Alekhin
850414a501 Merge pull request #16771 from alalek:update_version_4.3.0-pre 2020-03-11 10:24:56 +00:00
Alexander Alekhin
a560ebf09d Merge pull request #16782 from anton-potapov:kw_fixes 2020-03-11 10:08:55 +00:00
Anton Potapov
72fedbe096 GAPI - KW fixes
- replace "unsafe" memcpy with "safe" :) std::copy_n to make KW happy
2020-03-11 11:23:15 +03:00
Alexander Alekhin
d00e58cdb0 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-03-10 22:49:51 +00:00
Alexander Alekhin
9f82b74788 Merge pull request #16774 from alalek:core_update_cpus_detection 2020-03-10 22:39:30 +00:00
Alexander Alekhin
612746b4e5 Merge pull request #16744 from alalek:fix_mat_aug_operators_use_after_free 2020-03-10 22:02:47 +00:00
Alexander Alekhin
83e1d79403 core: update CPUs detection
- cache value, evaluate once
- better support for MINGW
- anything in 'cv' namespace
- test: dump number of active threads
2020-03-10 21:29:08 +00:00
Alexander Alekhin
4966186e10 Merge pull request #16770 from alalek:update_version_3.4.10-pre 2020-03-10 18:34:39 +00:00
Alexander Alekhin
510a8520c7 Merge pull request #16746 from alalek:dnn_switch_ie_backend_ngraph 2020-03-10 13:52:33 +00:00
Vadim Levin
09fe66e87f
Merge pull request #16713 from VadimLevin:dev/vlevin/ffmpeg_video_capture_bitrate
* feature: Add video capture bitrate read-only property for FFMPEG backend

* test: For WIN32 property should be either expected or 0.

Added `IsOneOf` helper function, enabled only for _WIN32.
2020-03-10 16:44:22 +03:00
Alexander Alekhin
3c85745e22 pre: OpenCV 4.3.0 (version++) 2020-03-10 15:00:03 +03:00
Alexander Alekhin
b7ecaceda8 pre: OpenCV 3.4.10 (version++)
- Android Manager version is not increased (stuck on 3.49)
2020-03-10 14:53:43 +03:00
Maxim Pashchenkov
3befdb4ae8
Merge pull request #16604 from Volskig:mp/ocv-gapi-zero-height-mat
G-API: Zero-height mat is cause of crash

* Added check for zero-height Mat case

* Refactoring, added validate_input_arg func

* No bool function now
2020-03-10 14:44:16 +03:00
Alexander Alekhin
db95aec4a7 dnn(ie): switch to nGraph backend by default 2020-03-10 14:33:22 +03:00
Yashas Samaga B L
490908f0ff
Merge pull request #16436 from YashasSamaga:feature-enetb0-yolo
dnn(darknet-importer): add grouped convolutions, sigmoid, swish, scale_channels

* update darknet importer to support enetb0-yolo

* remove dropout (pr16438) and fix formatting

* add test for scale_channels

* disable batch testing for scale channels

* do not set LayerParams::name

* merge all activations into setActivation
2020-03-10 12:45:19 +03:00
Alexander Alekhin
27b71d6368 Merge pull request #16625 from D-Alex:findChessboard 2020-03-09 22:21:29 +00:00
Alexander Alekhin
9b3be01b83 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-03-09 20:27:34 +00:00
NesQl
0bcdf7d03e
Merge pull request #16724 from liqi-c:3.4-tengine
* Add Tengine support .

* Modify printf to CV_LOG_WARNING

* a few minor fixes in the code

* Renew Tengine version

* Add header file for CV_LOG_WARNING

* Add #ifdef HAVE_TENGINE in tengine_graph_convolution.cpp

* remove trailing whitespace

* Remove trailing whitespace

* Modify for compile problem

* Modify some code style error

* remove whitespace

* Move some code style problem

* test

* add ios limit and build problem

* Modified as alalek suggested

* Add cmake 2.8 support

* modify cmake 3.5.1 problem

* test and set BUILD_ANDROID_PROJECTS OFF

* remove some compile error

* remove some extra code in tengine

* close test.

* Test again

* disable android.

* delete ndk version judgement

* Remove setenv() call . and add License information

* Set tengine default OFF. Close test .

Co-authored-by: Vadim Pisarevsky <vadim.pisarevsky@gmail.com>
2020-03-09 14:59:23 +00:00
Alexander Duda
44560c3e50 calib3d: add estimateChessboardSharpness
Image sharpness, as well as brightness, are a critical parameter for
accuracte camera calibration. For accessing these parameters for
filtering out problematic calibraiton images, this method calculates
edge profiles by traveling from black to white chessboard cell centers.
Based on this, the number of pixels is calculated required to transit
from black to white. This width of the transition area is a good
indication of how sharp the chessboard is imaged and should be below
~3.0 pixels.

Based on this also motion blur can be detectd by comparing sharpness in
vertical and horizontal direction. All unsharp images should be excluded
from calibration as they will corrupt the calibration result. The same
is true for overexposued images due to a none-linear sensor response.
This can be detected by looking at the average cell brightness of the
detected chessboard.
2020-03-09 08:58:18 +01:00
Dmitry Kurtaev
b927ce18b2 Support for MobileNetV3-SSD from TensorFlow 2020-03-08 21:09:21 +03:00
Alexander Alekhin
969cc3dd95 Merge pull request #16743 from alalek:ts_dump_exception_content 2020-03-07 19:07:18 +00:00
Alexander Alekhin
198b5096aa
Merge pull request #16754 from alalek:issue_16752
* core(test): FP16 norm test

* core: norm()-FP16 disable OpenCL

* core(norm): fix 16f32f local buffer size
2020-03-07 19:06:47 +00:00