mirror of
https://github.com/opencv/opencv.git
synced 2025-06-08 01:53:19 +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));
|
||||
}
|
||||
|
||||
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<>
|
||||
PyObject* pyopencv_from(const Mat& m)
|
||||
{
|
||||
@ -417,6 +426,14 @@ PyObject* pyopencv_from(const Matx<_Tp, m, n>& 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 {
|
||||
PyObject_HEAD
|
||||
UMat* um;
|
||||
@ -1329,23 +1346,6 @@ PyObject* pyopencv_from(const Moments& m)
|
||||
"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"
|
||||
|
||||
static void OnMouse(int event, int x, int y, int flags, void* param)
|
||||
|
Loading…
Reference in New Issue
Block a user