/
Alx89
/
OpenCV
Обзор
Документация
Войти
/
Alx89
/
OpenCV
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
4.x
modules/core/misc/python/pyopencv_core.hpp
35 строк
2 KB
Dmitry Kurtaev
Merge pull request #23679 from dkurt:py_cv_type_macro
25 май 2023, 15:54
Не верифицирован
25 май 2023, 15:54
4823285
Код
Авторство
О чём код?
#ifndef OPENCV_CORE_PYOPENCV_CORE_HPP #define OPENCV_CORE_PYOPENCV_CORE_HPP #ifdef HAVE_OPENCV_CORE static PyObject* pycvMakeType(PyObject* , PyObject* args, PyObject* kw) { const char *keywords[] = { "depth", "channels", NULL }; int depth, channels; if (!PyArg_ParseTupleAndKeywords(args, kw, "ii", (char**)keywords, &depth, &channels)) return NULL; int type = CV_MAKETYPE(depth, channels); return PyInt_FromLong(type); } template <int depth> static PyObject* pycvMakeTypeCh(PyObject*, PyObject *value) { int channels = (int)PyLong_AsLong(value); return PyInt_FromLong(CV_MAKETYPE(depth, channels)); } #define PYOPENCV_EXTRA_METHODS_CV \ {"CV_MAKETYPE", CV_PY_FN_WITH_KW(pycvMakeType), "CV_MAKETYPE(depth, channels) -> retval"}, \ {"CV_8UC", (PyCFunction)(pycvMakeTypeCh<CV_8U>), METH_O, "CV_8UC(channels) -> retval"}, \ {"CV_8SC", (PyCFunction)(pycvMakeTypeCh<CV_8S>), METH_O, "CV_8SC(channels) -> retval"}, \ {"CV_16UC", (PyCFunction)(pycvMakeTypeCh<CV_16U>), METH_O, "CV_16UC(channels) -> retval"}, \ {"CV_16SC", (PyCFunction)(pycvMakeTypeCh<CV_16S>), METH_O, "CV_16SC(channels) -> retval"}, \ {"CV_32SC", (PyCFunction)(pycvMakeTypeCh<CV_32S>), METH_O, "CV_32SC(channels) -> retval"}, \ {"CV_32FC", (PyCFunction)(pycvMakeTypeCh<CV_32F>), METH_O, "CV_32FC(channels) -> retval"}, \ {"CV_64FC", (PyCFunction)(pycvMakeTypeCh<CV_64F>), METH_O, "CV_64FC(channels) -> retval"}, \ {"CV_16FC", (PyCFunction)(pycvMakeTypeCh<CV_16F>), METH_O, "CV_16FC(channels) -> retval"}, #endif // HAVE_OPENCV_CORE #endif // OPENCV_CORE_PYOPENCV_CORE_HPP