Commit Graph

329 Commits

Author SHA1 Message Date
Anatoliy Talamanov
c708f506a4
Merge pull request #17493 from TolyaTalamanov:at/python-bindings-gapi
* 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>
2020-07-29 16:18:52 +03:00
Alexander Alekhin
2cef100303 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-04-16 18:28:27 +00:00
Vadim Levin
1d8c73cf6c feature: Added explicit support to header parser
- It is safe to remove `explicit` keyword for constructors with 1
argument, because it is C++ specific keyword and does not affect any of
the generated binding.
2020-04-15 14:25:39 +03:00
Alexander Alekhin
d4a17da7b2 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-03-04 20:49:09 +00:00
Zach Lowry
0aa5391c4b Use argument value for 'mat' in call to format for vector_mat and vector_mat_template
The hard-coded string value "Mat" was used in the two format strings for vector_mat and vector_mat_template, preventing UMat arguments to functions that have these types from working correctly. as noted in #12231.
2020-03-04 08:14:11 +03:00
Alexander Alekhin
aa2777ed61 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-02-10 19:40:29 +03:00
Pavel Rojtberg
e13a73d084 core: export getCPUFeaturesLine to bindings 2020-02-10 14:06:43 +01:00
Alexander Alekhin
560f85f8e5 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-01-28 14:26:57 +03:00
Alexander Alekhin
4cb9faf6c9 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-01-14 17:04:22 +03:00
Vadim Levin
31289d2f32 Merge pull request #15915 from VadimLevin:dev/norm_fix
Fix implicit conversion from array to scalar in python bindings

* Fix wrong conversion behavior for primitive types

  - Introduce ArgTypeInfo namedtuple instead of plain tuple.
    If strict conversion parameter for type is set to true, it is
    handled like object argument in PyArg_ParseTupleAndKeywords and
    converted to concrete type with the appropriate pyopencv_to function
    call.
  - Remove deadcode and unused variables.
  - Fix implicit conversion from numpy array with 1 element to scalar
  - Fix narrowing conversion to size_t type.

* Fix wrong conversion behavior for primitive types

  - Introduce ArgTypeInfo namedtuple instead of plain tuple.
    If strict conversion parameter for type is set to true, it is
    handled like object argument in PyArg_ParseTupleAndKeywords and
    converted to concrete type with the appropriate pyopencv_to function
    call.
  - Remove deadcode and unused variables.
  - Fix implicit conversion from numpy array with 1 element to scalar
  - Fix narrowing conversion to size_t type.·
  - Enable tests with wrong conversion behavior
  - Restrict passing None as value
  - Restrict bool to integer/floating types conversion

* Add PyIntType support for Python 2

* Remove possible narrowing conversion of size_t

* Bindings conversion update

  - Remove unused macro
  - Add better conversion for types to numpy types descriptors
  - Add argument name to fail messages
  - NoneType treated as a valid argument. Better handling will be added
    as a standalone patch

* Add descriptor specialization for size_t

* Add check for signed to unsigned integer conversion safety

  - If signed integer is positive it can be safely converted
    to unsigned
  - Add check for plain python 2 objects
  - Add check for numpy scalars
  - Add simple type_traits implementation for better code style

* Resolve type "overflow" false negative in safe casting check

 - Move type_traits to separate header

* Add copyright message to type_traits.hpp

* Limit conversion scope for integral numpy types

  - Made canBeSafelyCasted specialized only for size_t, so
    type_traits header became unused and was removed.
  - Added clarification about descriptor pointer
2020-01-13 18:11:34 +03:00
cudawarped
d427cebd12 Fix mistake introcuded in previous PR and increase test coverage to avod this happening again 2019-12-16 18:38:58 +00:00
Alexander Alekhin
8108fb0575 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-12-05 18:27:45 +03:00
cudawarped
b4a3c92867 Merge pull request #15957 from cudawarped:fix_cudacodec_python
Fix cudacodec python

* Add python bindings to cudacodec.

* Allow args with CV_OUT GpuMat& or CV_OUT cuda::GpuMat& to generate python bindings that allow the argument to be an optional output in the same way as OutputArray.

* Add wrapper flag to indicate that an OutputArray is a GpuMat.

* python: drop CV_GPU, extra checks in test

* Remove "cuda::GpuMat" check rom python parser
2019-12-04 18:57:58 +03:00
Alexander Alekhin
4dfa0a0383 bindings: basic support for #if preprocessor directives
- #if 0
- #ifdef __OPENCV_BUILD
2019-12-04 18:42:31 +03:00
Alexander Alekhin
ad0ab4109a Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-11-22 22:47:13 +00:00
Alexander Alekhin
5d96f984b1 python: reduce code size of cv2.cpp 2019-11-19 22:43:28 +00:00
Alexander Alekhin
318cba4ce3 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-11-19 19:48:49 +00:00
Alexander Alekhin
2f636b4456 Merge pull request #15918 from alalek:python_debug_parameter 2019-11-19 18:39:56 +00:00
Alexander Alekhin
7ec91aefc1 python: force using of ArgInfo 2019-11-15 19:16:22 +03:00
Alexander Alekhin
973b367da6 python: emit bindings conversion failures on OPENCV_PYTHON_DEBUG=1 2019-11-15 18:55:24 +03:00
Alexander Alekhin
0d7f770996 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-11-04 09:58:29 +00:00
berak
b7c8e9e874 python: fix type error msg 2019-11-02 08:17:07 +01:00
luz.paz
fcc7d8dd4e Fix modules/ typos
Found using `codespell -q 3 -S ./3rdparty -L activ,amin,ang,atleast,childs,dof,endwhile,halfs,hist,iff,nd,od,uint`

backporting of commit: ec43292e1e
2019-08-16 17:34:29 +03:00
luz.paz
ec43292e1e Fix modules/ typos
Found using `codespell -q 3 -S ./3rdparty -L activ,amin,ang,atleast,childs,dof,endwhile,halfs,hist,iff,nd,od,uint`
2019-08-15 18:02:09 -04:00
Lubov Batanina
778f42ad34 Add high level API (Merge pull request #14780)
* Add high level API

* Fix Model

* Add DetectionModel

* Add ClassificationModel

* Fix classify

* Add python test

* Fix pytest

* Fix comments to review

* Fix detect

* Fix docs

* Modify DetectionOutput postprocessing

* Fix test

* Extract ref boxes

* Fix draw rect

* fix test

* Add rect wrap

* Fix wrap

* Fix detect

* Fix Rect wrap

* Fix OCL_FP16

* Fix MyriadX

* Fix nms

* Fix NMS

* Fix coords
2019-07-30 23:07:37 +03:00
Maksim Shabunin
d60ac98ef2 Limited API support for Python3 2019-06-11 15:20:43 +03:00
Maksim Shabunin
10d61a2b44 Limited API support for Python3 2019-06-11 15:15:49 +03:00
Alexander Alekhin
ddcf388270 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-07 19:02:55 +03:00
Alexander Alekhin
f5ca9d3fe1 python: visibility 2019-06-07 07:23:15 +00:00
Ahmed Ashour
5c56b8ce92 java: generated code to have javadoc 2019-06-05 12:44:03 +02:00
Alexander Alekhin
332c37f332 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-06 11:43:16 +03:00
Alexander Alekhin
030e955db7 python: support Python list for cv::Range 2019-03-01 20:52:35 +00:00
Alexander Alekhin
f5b58e5fc9 bindings: backport generator from OpenCV 4.x
- better handling of enum arguments
- less merge conflicts
2019-03-01 20:18:48 +00:00
Alexander Alekhin
c3cf35ab63 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-02-26 17:34:42 +03:00
Maksim Shabunin
8c1e0537ec Merge pull request #13889 from mshabunin:enable-narrowing-warning
* Enabled -Wnarrowing warning

* Fixed type narrowing issues

* Cast python constants

* Use long long for python constants

* Use int for python constants with fallback to long

* Update cv2.cpp
2019-02-26 13:15:59 +03:00
Dmitry Kurtaev
6bcf0b5519 Merge pull request #13482 from dkurt:fix_python_bindings_without_stitching
* Fix python bindings without stitching module

* stitching: move stitching specific code into modules/stitching/misc
2018-12-19 23:37:55 +03:00
Alexander Alekhin
e093a19c70 Merge pull request #13471 from dkurt:fix_enum_struct_java 2018-12-19 11:53:41 +00:00
Dmitry Kurtaev
6fbcb283b9 Try to fix "enum struct" wrapping for Java 2018-12-19 13:16:43 +03:00
LaurentBerger
2fb409b286 Merge pull request #13267 from LaurentBerger:StitchPython
* Python wrapper for detail

* hide pyrotationwrapper

* copy code in pyopencv_rotationwarper.hpp

* move ImageFeatures MatchInfo and CameraParams in core/misc/

* add python test for detail

* move test_detail in test_stitching

* rename
2018-12-18 21:49:16 +03:00
Alexander Alekhin
c8f934b5b1
Merge pull request #13415 from alalek:issue_13406
* python: add checks for drawKeypoints() symbol

* python: more hacks in hdr_parser.py
2018-12-12 13:26:31 +03:00
Alexander Alekhin
22dbcf98c5 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-11-17 14:17:35 +00:00
Alexander Alekhin
96c71dd3d2 dnn: reduce set of ignored warnings 2018-11-15 13:15:59 +03:00
Alexander Alekhin
687fa6a8ca Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-11-02 05:33:35 +00:00
Diego Barrios Romero
7a884ab6a5 Fix closing input file 2018-10-29 13:05:46 +01:00
Alexander Alekhin
83efde6243 Merge pull request #12678 from cv3d:cleanup/python/enums 2018-09-28 16:07:21 +00:00
Alexander Alekhin
5575171652
Merge pull request #12673 from alalek:fix_build_warnings
* fix build warnings

* python: forbid wrapping of functions with "void*" arguments
2018-09-28 16:53:05 +03:00
Hamdi Sahloul
e104fcc000 Generate enum bindings automatically 2018-09-28 15:39:51 +09:00
Hamdi Sahloul
ef5579dc86 Merge pull request #12310 from cv3d:chunks/enum_interface
* Cleanup macros and enable expansion of `__VA_ARGS__` for Visual Studio

* Macros for enum-arguments backwards compatibility

* Convert struct Param to enum struct

* Enabled ParamType.type for enum types

* Enabled `cv.read` and `cv.write` for enum types

* Rename unnamed enum to AAKAZE.DescriptorType

* Rename unnamed enum to AccessFlag

* Rename unnamed enum to AgastFeatureDetector.DetectorType

* Convert struct DrawMatchesFlags to enum struct

* Rename unnamed enum to FastFeatureDetector.DetectorType

* Rename unnamed enum to Formatter.FormatType

* Rename unnamed enum to HOGDescriptor.HistogramNormType

* Rename unnamed enum to DescriptorMatcher.MatcherType

* Rename unnamed enum to KAZE.DiffusivityType

* Rename unnamed enum to ORB.ScoreType

* Rename unnamed enum to UMatData.MemoryFlag

* Rename unnamed enum to _InputArray.KindFlag

* Rename unnamed enum to _OutputArray.DepthMask

* Convert normType enums to static const NormTypes

* Avoid conflicts with ElemType

* Rename unnamed enum to DescriptorStorageFormat
2018-09-21 18:12:35 +03:00
Alexander Alekhin
808ba552c5 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-09-14 23:44:35 +00:00
Hamdi Sahloul
03b3be0f51 MSVC: Slience external/meaningless warnings 2018-09-12 20:02:13 +09:00