mirror of
https://github.com/opencv/opencv.git
synced 2026-07-31 00:03:03 +04:00
Bool masks support in imgproc module.
This commit is contained in:
@@ -238,7 +238,7 @@ void cv::accumulate( InputArray _src, InputOutputArray _dst, InputArray _mask )
|
||||
int dtype = _dst.type(), ddepth = CV_MAT_DEPTH(dtype), dcn = CV_MAT_CN(dtype);
|
||||
|
||||
CV_Assert( _src.sameSize(_dst) && dcn == scn );
|
||||
CV_Assert( _mask.empty() || (_src.sameSize(_mask) && _mask.type() == CV_8U) );
|
||||
CV_Assert( _mask.empty() || (_src.sameSize(_mask) && (_mask.type() == CV_8U || _mask.type() == CV_Bool)) );
|
||||
|
||||
CV_OCL_RUN(_src.dims() <= 2 && _dst.isUMat(),
|
||||
ocl_accumulate(_src, noArray(), _dst, 0.0, _mask, ACCUMULATE))
|
||||
@@ -334,7 +334,7 @@ void cv::accumulateSquare( InputArray _src, InputOutputArray _dst, InputArray _m
|
||||
int dtype = _dst.type(), ddepth = CV_MAT_DEPTH(dtype), dcn = CV_MAT_CN(dtype);
|
||||
|
||||
CV_Assert( _src.sameSize(_dst) && dcn == scn );
|
||||
CV_Assert( _mask.empty() || (_src.sameSize(_mask) && _mask.type() == CV_8U) );
|
||||
CV_Assert( _mask.empty() || (_src.sameSize(_mask) && (_mask.type() == CV_8U || _mask.type() == CV_Bool)) );
|
||||
|
||||
CV_OCL_RUN(_src.dims() <= 2 && _dst.isUMat(),
|
||||
ocl_accumulate(_src, noArray(), _dst, 0.0, _mask, ACCUMULATE_SQUARE))
|
||||
@@ -437,7 +437,7 @@ void cv::accumulateProduct( InputArray _src1, InputArray _src2,
|
||||
|
||||
CV_Assert( _src1.sameSize(_src2) && stype == _src2.type() );
|
||||
CV_Assert( _src1.sameSize(_dst) && dcn == scn );
|
||||
CV_Assert( _mask.empty() || (_src1.sameSize(_mask) && _mask.type() == CV_8U) );
|
||||
CV_Assert( _mask.empty() || (_src1.sameSize(_mask) && (_mask.type() == CV_8U || _mask.type() == CV_Bool)) );
|
||||
|
||||
CV_OCL_RUN(_src1.dims() <= 2 && _dst.isUMat(),
|
||||
ocl_accumulate(_src1, _src2, _dst, 0.0, _mask, ACCUMULATE_PRODUCT))
|
||||
@@ -536,7 +536,7 @@ void cv::accumulateWeighted( InputArray _src, InputOutputArray _dst,
|
||||
int dtype = _dst.type(), ddepth = CV_MAT_DEPTH(dtype), dcn = CV_MAT_CN(dtype);
|
||||
|
||||
CV_Assert( _src.sameSize(_dst) && dcn == scn );
|
||||
CV_Assert( _mask.empty() || (_src.sameSize(_mask) && _mask.type() == CV_8U) );
|
||||
CV_Assert( _mask.empty() || (_src.sameSize(_mask) && (_mask.type() == CV_8U || _mask.type() == CV_Bool)) );
|
||||
|
||||
CV_OCL_RUN(_src.dims() <= 2 && _dst.isUMat(),
|
||||
ocl_accumulate(_src, noArray(), _dst, alpha, _mask, ACCUMULATE_WEIGHTED))
|
||||
|
||||
@@ -298,7 +298,7 @@ void cv::goodFeaturesToTrack( InputArray _image, OutputArray _corners,
|
||||
CV_INSTRUMENT_REGION();
|
||||
|
||||
CV_Assert( qualityLevel > 0 && minDistance >= 0 && maxCorners >= 0 );
|
||||
CV_Assert( _mask.empty() || (_mask.type() == CV_8UC1 && _mask.sameSize(_image)) );
|
||||
CV_Assert( _mask.empty() || ((_mask.type() == CV_8UC1 || _mask.type() == CV_BoolC1) && _mask.sameSize(_image)) );
|
||||
|
||||
CV_OCL_RUN(_image.dims() <= 2 && _image.isUMat(),
|
||||
ocl_goodFeaturesToTrack(_image, _corners, maxCorners, qualityLevel, minDistance,
|
||||
|
||||
@@ -928,7 +928,7 @@ void cv::calcHist( const Mat* images, int nimages, const int* channels,
|
||||
std::vector<double> uniranges;
|
||||
Size imsize;
|
||||
|
||||
CV_Assert( mask.empty() || mask.type() == CV_8UC1 );
|
||||
CV_Assert( mask.empty() || mask.type() == CV_8UC1 || mask.type() == CV_BoolC1);
|
||||
histPrepareImages( images, nimages, channels, mask, dims, hist.size, ranges,
|
||||
uniform, ptrs, deltas, imsize, uniranges );
|
||||
const double* _uniranges = uniform ? &uniranges[0] : 0;
|
||||
@@ -1106,7 +1106,7 @@ static void calcHist( const Mat* images, int nimages, const int* channels,
|
||||
std::vector<double> uniranges;
|
||||
Size imsize;
|
||||
|
||||
CV_Assert( mask.empty() || mask.type() == CV_8UC1 );
|
||||
CV_Assert( mask.empty() || mask.type() == CV_8UC1 || mask.type() == CV_BoolC1 );
|
||||
histPrepareImages( images, nimages, channels, mask, dims, hist.hdr->size, ranges,
|
||||
uniform, ptrs, deltas, imsize, uniranges );
|
||||
const double* _uniranges = uniform ? &uniranges[0] : 0;
|
||||
|
||||
Reference in New Issue
Block a user