/
Alx89
/
OpenCV
Обзор
Документация
Войти
/
Alx89
/
OpenCV
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
4.x
modules/stitching/test/test_wave_correction.cpp
50 строк
2 KB
Quentin Chateau
Merge pull request #18646 from qchateau:wave-auto
25 окт 2020, 18:58
Не верифицирован
25 окт 2020, 18:58
3659867
Код
Авторство
О чём код?
// This file is part of OpenCV project. // It is subject to the license terms in the LICENSE file found in the top-level directory // of this distribution and at http://opencv.org/license.html. #include "test_precomp.hpp" namespace opencv_test { namespace { detail::WaveCorrectKind correctionKind(const std::vector<UMat>& images) { Ptr<Stitcher> stitcher = Stitcher::create(Stitcher::PANORAMA); stitcher->estimateTransform(images); std::vector<Mat> rmats; auto cameras = stitcher->cameras(); for (const auto& camera: cameras) rmats.push_back(camera.R); return detail::autoDetectWaveCorrectKind(rmats); } TEST(WaveCorrection, AutoWaveCorrection) { std::vector<UMat> images(2); imread(cvtest::TS::ptr()->get_data_path() + "stitching/s1.jpg").copyTo(images[0]); imread(cvtest::TS::ptr()->get_data_path() + "stitching/s2.jpg").copyTo(images[1]); EXPECT_EQ(detail::WAVE_CORRECT_HORIZ, correctionKind(images)); std::vector<UMat> rotated_images(2); rotate(images[0], rotated_images[0], cv::ROTATE_90_CLOCKWISE); rotate(images[1], rotated_images[1], cv::ROTATE_90_CLOCKWISE); EXPECT_EQ(detail::WAVE_CORRECT_VERT, correctionKind(rotated_images)); rotate(images[0], rotated_images[0], cv::ROTATE_90_COUNTERCLOCKWISE); rotate(images[1], rotated_images[1], cv::ROTATE_90_COUNTERCLOCKWISE); EXPECT_EQ(detail::WAVE_CORRECT_VERT, correctionKind(rotated_images)); rotate(images[0], rotated_images[0], cv::ROTATE_180); rotate(images[1], rotated_images[1], cv::ROTATE_180); EXPECT_EQ(detail::WAVE_CORRECT_HORIZ, correctionKind(rotated_images)); } } // namespace } // namespace opencv_test