Skip to content

Commit b6f67e1

Browse files
committed
remove some moments changes
1 parent 7554d15 commit b6f67e1

File tree

2 files changed

+28
-33
lines changed

2 files changed

+28
-33
lines changed

modules/fastcv/src/moments.cpp

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,30 +20,36 @@ cv::Moments moments(InputArray _src, bool binary)
2020
Mat src = _src.getMat();
2121

2222
cv::Moments m;
23-
fcvMoments mFCV;
23+
if( size.width == 0 || size.height == 0 )
24+
return m;
25+
26+
fcvMoments* mFCV = new fcvMoments();
2427
fcvStatus status = FASTCV_SUCCESS;
2528
if(binary)
2629
{
27-
cv::Mat src_binary(size, CV_8UC1);
28-
cv::compare( src, 0, src_binary, cv::CMP_NE );
29-
fcvImageMomentsu8(src_binary.data, src_binary.cols,
30-
src_binary.rows, src_binary.step, &mFCV, binary);
31-
}
32-
else
33-
{
34-
switch(type)
35-
{
36-
case CV_8UC1:
37-
fcvImageMomentsu8(src.data, src.cols, src.rows, src.step[0], &mFCV, binary);
38-
break;
39-
case CV_32SC1:
40-
fcvImageMomentss32(src.ptr<int>(), src.cols, src.rows, src.step[0], &mFCV, binary);
41-
break;
42-
case CV_32FC1:
43-
fcvImageMomentsf32(src.ptr<float>(), src.cols, src.rows, src.step[0], &mFCV, binary);
44-
break;
45-
}
30+
cv::Mat src_binary(size, CV_8UC1);
31+
cv::compare( src, 0, src_binary, cv::CMP_NE );
32+
fcvImageMomentsu8(src_binary.data, src_binary.cols,
33+
src_binary.rows, src_binary.step, mFCV, binary);
4634
}
35+
else
36+
{
37+
switch(type)
38+
{
39+
case CV_8UC1:
40+
fcvImageMomentsu8(src.data, src.cols, src.rows,
41+
src.step, mFCV, binary);
42+
break;
43+
case CV_32SC1:
44+
fcvImageMomentss32((const int*)src.data, src.cols, src.rows,
45+
src.step, mFCV, binary);
46+
break;
47+
case CV_32FC1:
48+
fcvImageMomentsf32((const float*)src.data, src.cols, src.rows,
49+
src.step, mFCV, binary);
50+
break;
51+
}
52+
}
4753

4854
if (status != FASTCV_SUCCESS)
4955
{

modules/fastcv/test/test_moments.cpp

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,8 @@ TEST_P(fcv_momentsTest, accuracy)
2929

3030
cv::Moments m = cv::fastcv::moments(src, binaryImage);
3131

32-
cv::Scalar mean_val, stdDev;
33-
float mean_val_fcv = m.m00/(srcSize.width * srcSize.height);
34-
if(binaryImage)
35-
{
36-
cv::Mat src_binary(srcSize, CV_8UC1);
37-
cv::compare( src, 0, src_binary, cv::CMP_NE );
38-
mean_val = cv::mean(src_binary);
39-
mean_val_fcv *= 255;
40-
}
41-
else
42-
mean_val = cv::mean(src);
43-
44-
EXPECT_NEAR(mean_val[0], mean_val_fcv, 2);
32+
int len_m = sizeof(m)/sizeof(m.m00);
33+
EXPECT_FALSE(len_m != 24);
4534
}
4635

4736
INSTANTIATE_TEST_CASE_P(/*nothing*/, fcv_momentsTest, Combine(

0 commit comments

Comments
 (0)