Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions cv_bridge/src/module_opencv.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,11 @@ class NumpyAllocator : public MatAllocator
return u;
}

#if CV_MAJOR_VERSION > 3
UMatData* allocate(int dims0, const int* sizes, int type, void* data, size_t* step, AccessFlag flags, UMatUsageFlags usageFlags) const CV_OVERRIDE
#else
UMatData* allocate(int dims0, const int* sizes, int type, void* data, size_t* step, int flags, UMatUsageFlags usageFlags) const
#endif
{
if( data != 0 )
{
Expand All @@ -130,18 +134,30 @@ class NumpyAllocator : public MatAllocator
_sizes[i] = sizes[i];
if( cn > 1 )
_sizes[dims++] = cn;
#if CV_MAJOR_VERSION > 3
PyObject* o = PyArray_SimpleNew(dims, _sizes.data(), typenum);
#else
PyObject* o = PyArray_SimpleNew(dims, _sizes, typenum);
#endif
if(!o)
CV_Error_(Error::StsError, ("The numpy array of typenum=%d, ndims=%d can not be created", typenum, dims));
return allocate(o, dims0, sizes, type, step);
}

#if CV_MAJOR_VERSION > 3
bool allocate(UMatData* u, AccessFlag accessFlags, UMatUsageFlags usageFlags) const CV_OVERRIDE
#else
bool allocate(UMatData* u, int accessFlags, UMatUsageFlags usageFlags) const
#endif
{
return stdAllocator->allocate(u, accessFlags, usageFlags);
}

#if CV_MAJOR_VERSION > 3
void deallocate(UMatData* u) const CV_OVERRIDE
#else
void deallocate(UMatData* u) const
#endif
{
if(!u)
return;
Expand Down