Программа для сшивания OpenCV не может сшить неискаженные изображенияssdsaC++

Программы на C++. Форум разработчиков
Anonymous
Программа для сшивания OpenCV не может сшить неискаженные изображенияssdsa

Сообщение Anonymous »

Я пытаюсь сшить панораму с помощью камеры мобильного телефона с подключаемым широкоугольным объективом с углом обзора 170 градусов. Полученная фотография искажена («рыбий глаз»). Я понимаю, что для сшивания этих фотографий с помощью Stitcher::stitch(InputArrayOfArrays images, OutputArray pano) они должны быть сначала неискажены.
Сначала я сделал undistort(InputArray src, OutputArray dst, InputArray cameraMatrix, InputArray distCoeffs, InputArray newCameraMatrix=noArray() ) и сохранить результаты в файлы jpg. Затем я прочитал изображения в формате jpg и сшил их в панорамное изображение, и это сработало хорошо.
Далее я объединил процессы в один процесс. Поэтому я не сохранил неискаженное изображение, а сохранил его в cv::Mat и использовал его в качестве входных данных для сшивки. Это происходит с кодом ошибки ERR_NEED_MORE_IMGS.
Мой вопрос: почему это работает, если вход сшивателя (

Код: Выделить всё

ImgArray
) поступает из imread, но происходит сбой, если входные данные поступают непосредственно из неискаженного вывода? Как мне заставить второй случай работать?

Подробнее здесь: https://stackoverflow.com/questions/797 ... imagessdsa

Вернуться в «C++»