perf_lut.cpp 872 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #include "perf_precomp.hpp"
  2. namespace opencv_test { namespace {
  3. using namespace perf;
  4. typedef perf::TestBaseWithParam<Size> SizePrm;
  5. PERF_TEST_P( SizePrm, LUT,
  6. testing::Values(szQVGA, szVGA, sz1080p)
  7. )
  8. {
  9. Size sz = GetParam();
  10. int maxValue = 255;
  11. Mat src(sz, CV_8UC1);
  12. randu(src, 0, maxValue);
  13. Mat lut(1, 256, CV_8UC1);
  14. randu(lut, 0, maxValue);
  15. Mat dst(sz, CV_8UC1);
  16. TEST_CYCLE() LUT(src, lut, dst);
  17. SANITY_CHECK(dst, 0.1);
  18. }
  19. PERF_TEST_P( SizePrm, LUT_multi,
  20. testing::Values(szQVGA, szVGA, sz1080p)
  21. )
  22. {
  23. Size sz = GetParam();
  24. int maxValue = 255;
  25. Mat src(sz, CV_8UC3);
  26. randu(src, 0, maxValue);
  27. Mat lut(1, 256, CV_8UC1);
  28. randu(lut, 0, maxValue);
  29. Mat dst(sz, CV_8UC3);
  30. TEST_CYCLE() LUT(src, lut, dst);
  31. SANITY_CHECK_NOTHING();
  32. }
  33. }} // namespace