Browse Source

Added test for UMat MinMaxLoc

pull/84/merge
Canming Huang 7 years ago
parent
commit
1a99982432
  1. 52
      tests/cvextern_test/cvextern_test.cpp

52
tests/cvextern_test/cvextern_test.cpp

@ -52,6 +52,16 @@ void Test_3D_cross_product()
cout <<"Test cvPoint3D64f cross product: " << (pass ? "Passed" : "Failed") << std::endl;
}
void Test_UMat_MinMaxLoc()
{
cv::UMat m(5, 5, CV_8UC1);
m.setTo(255);
double minVal, maxVal;
cv::Point minLoc, maxLoc;
cv::minMaxLoc(m, &minVal, &maxVal, &minLoc, &maxLoc);
cout << "minVal: " << minVal << "; maxVal: " << maxVal << std::endl;
}
void Test_double_MulS()
{
double val0[] = {0.1, 0.2, 0.3};
@ -177,25 +187,27 @@ void Test_MatchTemplate()
void Test_SeamlessClone(int size)
{
cv::Mat source = cv::imread("C:\\work\\sourceforge\\emgucv\\libs\\x64\\lena.jpg");
//cv::Mat source = cv::imread(".\\lena.jpg");
cv::Mat img1;
cv::resize(source, img1, cv::Size(size, size));
cv::Mat img2;
cv::resize(source, img2, cv::Size(size / 2, size / 2));
cv::Mat mask(img2.size(), CV_8UC1);
int rows = mask.rows;
int cols = mask.cols;
int radius = (int)( (std::min)( rows, cols ) / 2.0 );
cv::circle(mask, cv::Point(mask.rows / 2, mask.cols / 2), radius, cv::Scalar(255), -1);
cv::TickMeter meter;
cv::Mat blend(img1.size(), CV_8UC3);
meter.start();
cv::seamlessClone(img2, img1, mask, cv::Point(mask.rows / 2, mask.cols / 2), blend, cv::NORMAL_CLONE);
meter.stop();
cout << "Seamless clone time: " << meter.getTimeMilli() << " milliseconds. " << std::endl;
//cv::Mat source = cv::imread("C:\\work\\sourceforge\\emgucv\\libs\\x64\\lena.jpg");
cv::Mat source = cv::imread(".\\lena.jpg");
if (!source.empty())
{
cv::Mat img1;
cv::resize(source, img1, cv::Size(size, size));
cv::Mat img2;
cv::resize(source, img2, cv::Size(size / 2, size / 2));
cv::Mat mask(img2.size(), CV_8UC1);
int rows = mask.rows;
int cols = mask.cols;
int radius = (int)((std::min)(rows, cols) / 2.0);
cv::circle(mask, cv::Point(mask.rows / 2, mask.cols / 2), radius, cv::Scalar(255), -1);
cv::TickMeter meter;
cv::Mat blend(img1.size(), CV_8UC3);
meter.start();
cv::seamlessClone(img2, img1, mask, cv::Point(mask.rows / 2, mask.cols / 2), blend, cv::NORMAL_CLONE);
meter.stop();
cout << "Seamless clone time: " << meter.getTimeMilli() << " milliseconds. " << std::endl;
}
}
int main()
@ -210,6 +222,8 @@ int main()
//Test_GpuMatCopy();
Test_MatchTemplate();
Test_UMat_MinMaxLoc();
cout << "Size of CvSize (expected " << sizeof(int) * 2 << "): " << sizeof(CvSize) << std::endl;
cout << "Size of CvPoint2D32f (expected " << sizeof(float) * 2 << "): " << sizeof(CvSize) << std::endl;
cout << "Size of CvRect (expected " << sizeof(int) * 4 << "): " << sizeof(CvRect) << std::endl;

Loading…
Cancel
Save