fixes Mat::empty() and Mat::create() in the case of zero sizes (ticket #691)
This commit is contained in:
@@ -414,7 +414,7 @@ inline int Mat::type() const { return CV_MAT_TYPE(flags); }
|
||||
inline int Mat::depth() const { return CV_MAT_DEPTH(flags); }
|
||||
inline int Mat::channels() const { return CV_MAT_CN(flags); }
|
||||
inline size_t Mat::step1(int i) const { return step.p[i]/elemSize1(); }
|
||||
inline bool Mat::empty() const { return data == 0 || size.p[0] == 0; }
|
||||
inline bool Mat::empty() const { return data == 0 || total() == 0; }
|
||||
inline size_t Mat::total() const
|
||||
{
|
||||
if( dims <= 2 )
|
||||
|
@@ -205,7 +205,7 @@ void Mat::create(int d, const int* _sizes, int _type)
|
||||
flags = (_type & CV_MAT_TYPE_MASK) | MAGIC_VAL;
|
||||
setSize(*this, d, _sizes, 0, allocator == 0);
|
||||
|
||||
if( size.p[0] > 0 )
|
||||
if( total() > 0 )
|
||||
{
|
||||
if( !allocator )
|
||||
{
|
||||
|
Reference in New Issue
Block a user