mirror of
https://github.com/opencv/opencv.git
synced 2024-11-25 03:30:34 +08:00
Merge pull request #17455 from mshabunin:check-count-non-zero
This commit is contained in:
commit
dbbfa003d3
@ -62,6 +62,12 @@ static bool ipp_countNonZero( Mat &src, int &res )
|
||||
{
|
||||
CV_INSTRUMENT_REGION_IPP();
|
||||
|
||||
#if defined __APPLE__ || (defined _MSC_VER && defined _M_IX86)
|
||||
// see https://github.com/opencv/opencv/issues/17453
|
||||
if (src.dims <= 2 && src.step > 520000)
|
||||
return false;
|
||||
#endif
|
||||
|
||||
#if IPP_VERSION_X100 < 201801
|
||||
// Poor performance of SSE42
|
||||
if(cv::ipp::getIppTopFeatures() == ippCPUID_SSE42)
|
||||
|
@ -276,4 +276,23 @@ INSTANTIATE_TEST_CASE_P(Core, CountNonZeroND,
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
typedef testing::TestWithParam<tuple<int, cv::Size> > CountNonZeroBig;
|
||||
|
||||
TEST_P(CountNonZeroBig, /**/)
|
||||
{
|
||||
const int type = get<0>(GetParam());
|
||||
const Size sz = get<1>(GetParam());
|
||||
|
||||
EXPECT_EQ(0, cv::countNonZero(cv::Mat::zeros(sz, type)));
|
||||
EXPECT_EQ(sz.area(), cv::countNonZero(cv::Mat::ones(sz, type)));
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(Core, CountNonZeroBig,
|
||||
testing::Combine(
|
||||
testing::Values(CV_8UC1, CV_32FC1),
|
||||
testing::Values(Size(1, 524190), Size(524190, 1), Size(3840, 2160))
|
||||
)
|
||||
);
|
||||
|
||||
}} // namespace
|
||||
|
Loading…
Reference in New Issue
Block a user