mirror of
https://github.com/opencv/opencv.git
synced 2024-11-29 13:47:32 +08:00
Merge pull request #6908 from ilya-lavrenov:reduce
This commit is contained in:
commit
b0fa477614
@ -826,9 +826,9 @@ CV_EXPORTS void minMaxLoc(const SparseMat& a, double* minVal,
|
||||
The function reduce reduces the matrix to a vector by treating the matrix rows/columns as a set of
|
||||
1D vectors and performing the specified operation on the vectors until a single row/column is
|
||||
obtained. For example, the function can be used to compute horizontal and vertical projections of a
|
||||
raster image. In case of REDUCE_SUM and REDUCE_AVG , the output may have a larger element
|
||||
bit-depth to preserve accuracy. And multi-channel arrays are also supported in these two reduction
|
||||
modes.
|
||||
raster image. In case of REDUCE_MAX and REDUCE_MIN , the output image should have the same type as the source one.
|
||||
In case of REDUCE_SUM and REDUCE_AVG , the output may have a larger element bit-depth to preserve accuracy.
|
||||
And multi-channel arrays are also supported in these two reduction modes.
|
||||
@param src input 2D matrix.
|
||||
@param dst output vector. Its size and type is defined by dim and dtype parameters.
|
||||
@param dim dimension index along which the matrix is reduced. 0 means that the matrix is reduced to
|
||||
|
@ -1509,3 +1509,14 @@ TEST(Mat, regression_6696_BigData_8Gb)
|
||||
EXPECT_EQ(4, destImageBGR.at<Vec4b>(height-1, width-1)[3]);
|
||||
}
|
||||
#endif
|
||||
|
||||
TEST(Reduce, regression_should_fail_bug_4594)
|
||||
{
|
||||
cv::Mat src = cv::Mat::eye(4, 4, CV_8U);
|
||||
std::vector<int> dst;
|
||||
|
||||
EXPECT_THROW(cv::reduce(src, dst, 0, CV_REDUCE_MIN, CV_32S), cv::Exception);
|
||||
EXPECT_THROW(cv::reduce(src, dst, 0, CV_REDUCE_MAX, CV_32S), cv::Exception);
|
||||
EXPECT_NO_THROW(cv::reduce(src, dst, 0, CV_REDUCE_SUM, CV_32S));
|
||||
EXPECT_NO_THROW(cv::reduce(src, dst, 0, CV_REDUCE_AVG, CV_32S));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user