mirror of
https://github.com/opencv/opencv.git
synced 2025-06-11 03:33:28 +08:00
python: move Ptr specializations above generic_vec to allow vector_Ptr_T
This commit is contained in:
parent
41d55c5095
commit
930611dfa8
@ -394,6 +394,15 @@ bool pyopencv_to(PyObject* o, Mat& m, const char* name)
|
|||||||
return pyopencv_to(o, m, ArgInfo(name, 0));
|
return pyopencv_to(o, m, ArgInfo(name, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
bool pyopencv_to(PyObject *o, Ptr<T>& p, const char *name)
|
||||||
|
{
|
||||||
|
if (!o || o == Py_None)
|
||||||
|
return true;
|
||||||
|
p = makePtr<T>();
|
||||||
|
return pyopencv_to(o, *p, name);
|
||||||
|
}
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
PyObject* pyopencv_from(const Mat& m)
|
PyObject* pyopencv_from(const Mat& m)
|
||||||
{
|
{
|
||||||
@ -417,6 +426,14 @@ PyObject* pyopencv_from(const Matx<_Tp, m, n>& matx)
|
|||||||
return pyopencv_from(Mat(matx));
|
return pyopencv_from(Mat(matx));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
PyObject* pyopencv_from(const cv::Ptr<T>& p)
|
||||||
|
{
|
||||||
|
if (!p)
|
||||||
|
Py_RETURN_NONE;
|
||||||
|
return pyopencv_from(*p);
|
||||||
|
}
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
PyObject_HEAD
|
PyObject_HEAD
|
||||||
UMat* um;
|
UMat* um;
|
||||||
@ -1329,23 +1346,6 @@ PyObject* pyopencv_from(const Moments& m)
|
|||||||
"nu30", m.nu30, "nu21", m.nu21, "nu12", m.nu12, "nu03", m.nu03);
|
"nu30", m.nu30, "nu21", m.nu21, "nu12", m.nu12, "nu03", m.nu03);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
PyObject* pyopencv_from(const cv::Ptr<T>& p)
|
|
||||||
{
|
|
||||||
if (!p)
|
|
||||||
Py_RETURN_NONE;
|
|
||||||
return pyopencv_from(*p);
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T>
|
|
||||||
bool pyopencv_to(PyObject *o, Ptr<T>& p, const char *name)
|
|
||||||
{
|
|
||||||
if (!o || o == Py_None)
|
|
||||||
return true;
|
|
||||||
p = makePtr<T>();
|
|
||||||
return pyopencv_to(o, *p, name);
|
|
||||||
}
|
|
||||||
|
|
||||||
#include "pyopencv_custom_headers.h"
|
#include "pyopencv_custom_headers.h"
|
||||||
|
|
||||||
static void OnMouse(int event, int x, int y, int flags, void* param)
|
static void OnMouse(int event, int x, int y, int flags, void* param)
|
||||||
|
Loading…
Reference in New Issue
Block a user