mirror of
https://github.com/opencv/opencv.git
synced 2024-12-04 16:59:12 +08:00
0c5d74ec1a
Python typing refinement for dnn_registerLayer/dnn_unregisterLayer functions #24066 This patch introduces typings generation for `dnn_registerLayer`/`dnn_unregisterLayer` manually defined in [`cv2/modules/dnn/misc/python/pyopencv_dnn.hpp`](https://github.com/opencv/opencv/blob/4.x/modules/dnn/misc/python/pyopencv_dnn.hpp) Updates: - Add `LayerProtocol` to `cv2/dnn/__init__.pyi`: ```python class LayerProtocol(Protocol): def __init__( self, params: dict[str, DictValue], blobs: typing.Sequence[cv2.typing.MatLike] ) -> None: ... def getMemoryShapes( self, inputs: typing.Sequence[typing.Sequence[int]] ) -> typing.Sequence[typing.Sequence[int]]: ... def forward( self, inputs: typing.Sequence[cv2.typing.MatLike] ) -> typing.Sequence[cv2.typing.MatLike]: ... ``` - Add `dnn_registerLayer` function to `cv2/__init__.pyi`: ```python def dnn_registerLayer(layerTypeName: str, layerClass: typing.Type[LayerProtocol]) -> None: ... ``` - Add `dnn_unregisterLayer` function to `cv2/__init__.pyi`: ```python def dnn_unregisterLayer(layerTypeName: str) -> None: ... ``` ### Pull Request Readiness Checklist See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request - [x] I agree to contribute to the project under Apache 2 License. - [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV - [x] The PR is proposed to the proper branch - [ ] There is a reference to the original bug report and related work - [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable Patch to opencv_extra has the same branch name. - [x] The feature is well documented and sample code can be built with the project CMake |
||
---|---|---|
.. | ||
nodes | ||
__init__.py | ||
api_refinement.py | ||
ast_utils.py | ||
generation.py | ||
predefined_types.py | ||
types_conversion.py |