diff --git a/bea/cv.bea b/bea/cv.bea index cb6721f..ed562c9 100644 --- a/bea/cv.bea +++ b/bea/cv.bea @@ -317,11 +317,18 @@ } cv::calcBackProject(&arrays[0], arrays.size(), &channels[0], *hist, *backProject, (const float**)&vrangs[0], scale, uniform); - minMaxLocRet minMaxLoc(const Mat& a); - #@orgapi void minMaxLoc(const Mat& a, double* minVal, double* maxVal, int* minIdx=0, int* maxIdx=0 ) + minMaxLocRet minMaxLoc(const Mat& a, const Mat& mask=cv::Mat()); + #@orgapi void minMaxLoc(InputArray src, double* minVal, double* maxVal=0, Point* minLoc=0, Point* maxLoc=0, InputArray mask=noArray()) @call minMaxLocRet fnRetVal; - cv::minMaxLoc(*a, &fnRetVal.minVal, &fnRetVal.maxVal, NULL, NULL); + cv::minMaxLoc(*a, &fnRetVal.minVal, &fnRetVal.maxVal, &fnRetVal.minLoc, &fnRetVal.maxLoc, *mask); + + minMaxIdxRet minMaxIdx(const Mat& a, const Mat& mask=cv::Mat()); + #@orgapi void minMaxIdx(InputArray src, double* minVal, double* maxVal, int* minIdx=0, int* maxIdx=0, InputArray mask=noArray()) + @call + minMaxIdxRet fnRetVal; + cv::minMaxIdx(*a, &fnRetVal.minVal, &fnRetVal.maxVal, &fnRetVal.minIdx, &fnRetVal.maxIdx, *mask); + @manual void cvSmooth(const Mat& src, Mat& dst, int smoothtype=CV_GAUSSIAN, int param1=3, int param2=0, double param3=0, double param4=0) diff --git a/bea/types.bea b/bea/types.bea index 4a187a6..47b4301 100644 --- a/bea/types.bea +++ b/bea/types.bea @@ -36,11 +36,17 @@ Size2f size float angle + @type minMaxIdxRet + double minVal + double maxVal + int minIdx + int maxIdx + @type minMaxLocRet double minVal double maxVal - int minIdx - int maxIdx + Point minLoc + Point maxLoc @type Scalar @type std::string diff --git a/scripts/calcHist.coffee b/scripts/calcHist.coffee index 9d1967e..1d5c331 100644 --- a/scripts/calcHist.coffee +++ b/scripts/calcHist.coffee @@ -35,7 +35,7 @@ mask = new cv.Mat hist = new cv.Mat cv.calcHist [hsv], channels, mask, hist, 2, histSize, ranges, true, false -minMax = cv.minMaxLoc hist +minMax = cv.minMaxIdx hist tmp = new cv.Mat diff --git a/src/customTypes.h b/src/customTypes.h index 09e07b2..9fc2307 100644 --- a/src/customTypes.h +++ b/src/customTypes.h @@ -6,16 +6,26 @@ namespace cv{ - //Helper structure used as return type for the function mixMaxLoc - struct minMaxLocRet{ - double minVal; - double maxVal; - int minIdx; - int maxIdx; - minMaxLocRet(){ - minVal = maxVal = 0.0; - minIdx = maxIdx = 0; - } + //Helper structure used as return type for the function mixMaxLoc + struct minMaxIdxRet{ + double minVal; + double maxVal; + int minIdx; + int maxIdx; + minMaxIdxRet(){ + minVal = maxVal = 0.0; + minIdx = maxIdx = 0; + } + }; + struct minMaxLocRet{ + double minVal; + double maxVal; + Point minLoc; + Point maxLoc; + minMaxLocRet(){ + minVal = maxVal = 0.0; + minLoc = maxLoc = cv::Point(0, 0); + } }; }