mirror of
https://github.com/opencv/opencv.git
synced 2025-01-19 23:19:23 +08:00
Merge pull request #8698 from cdcseacave:fix_Mat_release
This commit is contained in:
commit
b59df66709
@ -2185,6 +2185,8 @@ public:
|
||||
void create(Size _size);
|
||||
//! equivalent to Mat::create(_ndims, _sizes, DatType<_Tp>::type)
|
||||
void create(int _ndims, const int* _sizes);
|
||||
//! equivalent to Mat::release()
|
||||
void release();
|
||||
//! cross-product
|
||||
Mat_ cross(const Mat_& m) const;
|
||||
//! data type conversion
|
||||
@ -2676,11 +2678,11 @@ public:
|
||||
/*!
|
||||
@param [out] m - output matrix; if it does not have a proper size or type before the operation,
|
||||
it is reallocated
|
||||
@param [in] rtype – desired output matrix type or, rather, the depth since the number of channels
|
||||
@param [in] rtype - desired output matrix type or, rather, the depth since the number of channels
|
||||
are the same as the input has; if rtype is negative, the output matrix will have the
|
||||
same type as the input.
|
||||
@param [in] alpha – optional scale factor
|
||||
@param [in] beta – optional delta added to the scaled values
|
||||
@param [in] alpha - optional scale factor
|
||||
@param [in] beta - optional delta added to the scaled values
|
||||
*/
|
||||
void convertTo( Mat& m, int rtype, double alpha=1, double beta=0 ) const;
|
||||
|
||||
|
@ -1625,6 +1625,15 @@ void Mat_<_Tp>::create(int _dims, const int* _sz)
|
||||
Mat::create(_dims, _sz, DataType<_Tp>::type);
|
||||
}
|
||||
|
||||
template<typename _Tp> inline
|
||||
void Mat_<_Tp>::release()
|
||||
{
|
||||
Mat::release();
|
||||
#ifdef _DEBUG
|
||||
flags = (flags & ~CV_MAT_TYPE_MASK) | DataType<_Tp>::type;
|
||||
#endif
|
||||
}
|
||||
|
||||
template<typename _Tp> inline
|
||||
Mat_<_Tp> Mat_<_Tp>::cross(const Mat_& m) const
|
||||
{
|
||||
|
@ -1726,3 +1726,11 @@ TEST(Core_Mat_array, SplitMerge)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
TEST(Mat, regression_8680)
|
||||
{
|
||||
Mat_<Point2i> mat(3,1);
|
||||
ASSERT_EQ(mat.channels(), 2);
|
||||
mat.release();
|
||||
ASSERT_EQ(mat.channels(), 2);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user