diff --git a/dlib/image_transforms/image_pyramid.h b/dlib/image_transforms/image_pyramid.h index 807432cb35342393c3fe023c85c91813d38b7843..aa47e4c210eccd4469fdf93760757ba8c81f33bb 100644 --- a/dlib/image_transforms/image_pyramid.h +++ b/dlib/image_transforms/image_pyramid.h @@ -156,8 +156,7 @@ namespace dlib const vector<T,2>& p ) const { - //do return (p - vector<T,2>(2,2))/2.0; - return p/2.0 - vector<double,2>(1,1); + return p/2.0 - vector<double,2>(1.25,0.75); } template <typename T> @@ -165,7 +164,7 @@ namespace dlib const vector<T,2>& p ) const { - return p*2 + vector<T,2>(2,2); + return (p + vector<T,2>(1.25,0.75))*2; } // ----------------------------- @@ -497,8 +496,7 @@ namespace dlib ) const { const double ratio = 2.0/3.0; - //do return (p - vector<T,2>(1,1))*ratio; - return p*ratio - vector<double,2>(ratio,ratio); + return p*ratio - vector<double,2>(1,1); } template <typename T> @@ -507,7 +505,7 @@ namespace dlib ) const { const double ratio = 3.0/2.0; - return p*ratio + vector<T,2>(1,1); + return p*ratio + vector<T,2>(ratio,ratio); } // ----------------------------- diff --git a/dlib/test/pyramid_down.cpp b/dlib/test/pyramid_down.cpp index 5a3e9405632a8f1f5d65bef2f1fe565d81845bd3..4cf3d862c0bb56db3f67660d9518213930c9a557 100644 --- a/dlib/test/pyramid_down.cpp +++ b/dlib/test/pyramid_down.cpp @@ -206,7 +206,7 @@ void test_pyramid_down_rgb2() template <typename pyramid_down_type> void test_pyramid_down_grayscale2() { - array2d<unsigned char> img, img3; + array2d<unsigned char> img; array2d<unsigned char> img2, img4; @@ -225,7 +225,6 @@ void test_pyramid_down_grayscale2() pyramid_down_type pyr; pyr(img, img2); - pyr(img, img3); DLIB_TEST(((rect1.tl_corner() - pyr.rect_down(pyr.rect_up(rect1,2),2).tl_corner()).length()) < 1); @@ -246,17 +245,13 @@ void test_pyramid_down_grayscale2() /* image_window my_window(img); image_window win2(img2); - image_window win3(img3); win2.add_overlay(image_window::overlay_rect(rect1, rgb_pixel(255,0,0))); win2.add_overlay(image_window::overlay_rect(rect2, rgb_pixel(255,0,0))); win2.add_overlay(image_window::overlay_rect(rect3, rgb_pixel(255,0,0))); - win3.add_overlay(image_window::overlay_rect(rect1, rgb_pixel(255,0,0))); - win3.add_overlay(image_window::overlay_rect(rect2, rgb_pixel(255,0,0))); - win3.add_overlay(image_window::overlay_rect(rect3, rgb_pixel(255,0,0))); */ - DLIB_TEST(std::abs((int)mean(subm(matrix_cast<long>(mat(img2)),rect1)) - 255) < 3); + DLIB_TEST(std::abs((int)mean(subm(matrix_cast<long>(mat(img2)),rect1)) - 255) <= 3); DLIB_TEST(std::abs((int)mean(subm(matrix_cast<long>(mat(img2)),rect2)) - 170) < 3); DLIB_TEST(std::abs((int)mean(subm(matrix_cast<long>(mat(img2)),rect3)) - 100) < 3); assign_image(img4, img);