bool DifferenceSumsMaskedAutoTest(int width, int height, const FuncM & f1, const FuncM & f2, int count) { bool result = true; std::cout << "Test " << f1.description << " & " << f2.description << " [" << width << ", " << height << "]." << std::endl; View a(width, height, View::Gray8, NULL, TEST_ALIGN(width)); FillRandom(a); View b(width, height, View::Gray8, NULL, TEST_ALIGN(width)); FillRandom(b); View m(width, height, View::Gray8, NULL, TEST_ALIGN(width)); uint8_t index = Random(256); FillRandomMask(m, index); Sums64 s1(count, 0), s2(count, 0); TEST_EXECUTE_AT_LEAST_MIN_TIME(f1.Call(a, b, m, index, s1.data())); TEST_EXECUTE_AT_LEAST_MIN_TIME(f2.Call(a, b, m, index, s2.data())); result = Compare(s1, s2, 0, true, count); return result; }
bool DifferenceSumsMaskedDataTest(bool create, int width, int height, const FuncM & f, int count) { bool result = true; Data data(f.description); std::cout << (create ? "Create" : "Verify") << " test " << f.description << " [" << width << ", " << height << "]." << std::endl; View a(width, height, View::Gray8, NULL, TEST_ALIGN(width)); View b(width, height, View::Gray8, NULL, TEST_ALIGN(width)); View m(width, height, View::Gray8, NULL, TEST_ALIGN(width)); Sums64 s1(count, 0), s2(count, 0); uint8_t index = 17; if(create) { FillRandom(a); FillRandom(b); FillRandomMask(m, index); TEST_SAVE(a); TEST_SAVE(b); TEST_SAVE(m); f.Call(a, b, m, index, s1.data()); TEST_SAVE(s1); } else { TEST_LOAD(a); TEST_LOAD(b); TEST_LOAD(m); TEST_LOAD(s1); f.Call(a, b, m, index, s2.data()); TEST_SAVE(s2); result = result && Compare(s1, s2, 0, true, count); } return result; }
bool ContourMetricsMaskedDataTest(bool create, int width, int height, const FuncM & f) { bool result = true; Data data(f.description); TEST_LOG_SS(Info, (create ? "Create" : "Verify") << " test " << f.description << " [" << width << ", " << height << "]."); View src(width, height, View::Gray8, NULL, TEST_ALIGN(width)); View mask(width, height, View::Gray8, NULL, TEST_ALIGN(width)); View dst1(width, height, View::Int16, NULL, TEST_ALIGN(width)); View dst2(width, height, View::Int16, NULL, TEST_ALIGN(width)); if(create) { FillRandom(src); FillRandom(mask); TEST_SAVE(src); TEST_SAVE(mask); f.Call(src, mask, 128, dst1); TEST_SAVE(dst1); } else { TEST_LOAD(src); TEST_LOAD(mask); TEST_LOAD(dst1); f.Call(src, mask, 128, dst2); TEST_SAVE(dst2); result = result && Compare(dst1, dst2, 0, true, 32, 0); } return result; }
bool ContourMetricsMaskedAutoTest(int width, int height, const FuncM & f1, const FuncM & f2) { bool result = true; TEST_LOG_SS(Info, "Test " << f1.description << " & " << f2.description << " [" << width << ", " << height << "]."); View s(width, height, View::Gray8, NULL, TEST_ALIGN(width)); FillRandom(s); View m(width, height, View::Gray8, NULL, TEST_ALIGN(width)); FillRandom(m); View d1(width, height, View::Int16, NULL, TEST_ALIGN(width)); View d2(width, height, View::Int16, NULL, TEST_ALIGN(width)); TEST_EXECUTE_AT_LEAST_MIN_TIME(f1.Call(s, m, 128, d1)); TEST_EXECUTE_AT_LEAST_MIN_TIME(f2.Call(s, m, 128, d2)); result = result && Compare(d1, d2, 0, true, 64); return result; }