Как использовать класс Stitcher OpenCV с Python?

Я пытаюсь использовать класс Stitcher OpenCV с Python, без везения. Мой код:

import cv2 stitcher = cv2.createStitcher(False) foo = cv2.imread("foo.png") bar = cv2.imread("bar.png") result = stitcher.stitch((foo,bar)) 

Я получаю кортеж с (1, Нет).

Следуя примеру C ++, я попытался передать массив numpy в качестве второго аргумента для stitch () без везения.

One Solution collect form web for “Как использовать класс Stitcher OpenCV с Python?”

Вы используете это правильно, потому что по какой-то причине процесс был неудачным.

Первое значение кортежа результата – это код ошибки, при этом 0 указывает на успех. Здесь у вас есть 1, что означает, что, согласно stitching.hpp , для процесса требуется больше изображений.

 enum Status { OK = 0, ERR_NEED_MORE_IMGS = 1, ERR_HOMOGRAPHY_EST_FAIL = 2, ERR_CAMERA_PARAMS_ADJUST_FAIL = 3 }; 

ERR_NEED_MORE_IMGS обычно указывает, что на ваших изображениях недостаточно ключевых точек.

Если вам нужна дополнительная информация о причине возникновения ошибки, вы можете перейти на C ++ и отладить процесс в деталях.


Изменить: предоставление рабочего примера

Тот же код, что и OP, просто добавил сохранение результата и абсолютные пути.

 import cv2 stitcher = cv2.createStitcher(False) foo = cv2.imread("D:/foo.png") bar = cv2.imread("D:/bar.png") result = stitcher.stitch((foo,bar)) cv2.imwrite("D:/result.jpg", result[1]) 

с этими изображениями: (надеюсь, вы любите панды)

foo.png

foo.png

bar.png

bar.png

result.jpg

result.jpg

  • Как заменить контур (прямоугольник) на изображении новым изображением с помощью Python?
  • Возьмите фотографию opencv + python 3.3
  • Не удалось создать базовый видеофайл с помощью OpenCV
  • Как установить привязки Python 2.7 для OpenCV с помощью MacPorts
  • python не может импортировать opencv, потому что он не может найти libjpeg.8.dylib
  • Создание цветного изображения из изображения в оттенках серого
  • Эквивалент copyTo в Python OpenCV привязки?
  • Автозаполнение OpenCV-Python в Windows не работает
  • Python - лучший язык программирования в мире.