1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-29 23:33:05 +04:00

Merge pull request #25493 from vrabaud:tiff

Replace static numpy allocator by function containing static.
This commit is contained in:
Alexander Smorkalov
2024-04-27 13:13:52 +03:00
committed by GitHub
4 changed files with 7 additions and 9 deletions
+1 -1
View File
@@ -28,7 +28,7 @@ static void* cv_UMat_context()
static Mat cv_UMat_get(const UMat* _self)
{
Mat m;
m.allocator = &g_numpyAllocator;
m.allocator = &GetNumpyAllocator();
_self->copyTo(m);
return m;
}
+5 -5
View File
@@ -56,7 +56,7 @@ bool pyopencv_to(PyObject* o, Mat& m, const ArgInfo& info)
if(!o || o == Py_None)
{
if( !m.data )
m.allocator = &g_numpyAllocator;
m.allocator = &GetNumpyAllocator();
return true;
}
@@ -298,14 +298,14 @@ bool pyopencv_to(PyObject* o, Mat& m, const ArgInfo& info)
#endif
m = Mat(ndims, size, type, PyArray_DATA(oarr), step);
m.u = g_numpyAllocator.allocate(o, ndims, size, type, step);
m.u = GetNumpyAllocator().allocate(o, ndims, size, type, step);
m.addref();
if( !needcopy )
{
Py_INCREF(o);
}
m.allocator = &g_numpyAllocator;
m.allocator = &GetNumpyAllocator();
return true;
}
@@ -316,9 +316,9 @@ PyObject* pyopencv_from(const cv::Mat& m)
if( !m.data )
Py_RETURN_NONE;
cv::Mat temp, *p = (cv::Mat*)&m;
if(!p->u || p->allocator != &g_numpyAllocator)
if(!p->u || p->allocator != &GetNumpyAllocator())
{
temp.allocator = &g_numpyAllocator;
temp.allocator = &GetNumpyAllocator();
ERRWRAP2(m.copyTo(temp));
p = &temp;
}
-2
View File
@@ -6,8 +6,6 @@
#include "cv2_numpy.hpp"
#include "cv2_util.hpp"
NumpyAllocator g_numpyAllocator;
using namespace cv;
UMatData* NumpyAllocator::allocate(PyObject* o, int dims, const int* sizes, int type, size_t* step) const
+1 -1
View File
@@ -18,7 +18,7 @@ public:
const cv::MatAllocator* stdAllocator;
};
extern NumpyAllocator g_numpyAllocator;
inline NumpyAllocator& GetNumpyAllocator() {static NumpyAllocator gNumpyAllocator;return gNumpyAllocator;}
//======================================================================================================================