@Iceforest

Как одну картинку вставить в другую с помощью библиотеки OpenCV, если картинки разных размеров?

написал вот такой код, но картинка облака не накладывается на фон, сам фон размера 512 на 256, а облако 100 на 100, то есть облако легко влезает без уменьшения размеров, но возникает ошибка
Traceback (most recent call last):
File "/home/iceforest/PycharmProjects/python_base/python_base/lesson_016/ImageMaker.py", line 16, in
img = cv2.addWeighted(white_list, 0.9, cloud, 0.1, 0)
cv2.error: OpenCV(4.4.0) /tmp/pip-req-build-zeowd5_m/opencv/modules/core/src/arithm.cpp:666: error: (-209:Sizes of input arguments do not match) The operation is neither 'array op array' (where arrays have the same size and the same number of channels), nor 'array op scalar', nor 'scalar op array' in function 'arithm_op'

import cv2

class ImageMaker:

    def viewImage(self, image, name_of_window):
        cv2.namedWindow(name_of_window, cv2.WINDOW_NORMAL)
        cv2.imshow(name_of_window, image)
        cv2.waitKey(0)
        cv2.destroyAllWindows()

maker = ImageMaker()
white_list = cv2.imread('python_snippets/external_data/probe.jpg') #фон
cloud = cv2.imread('python_snippets/external_data/weather_img/cloud.jpg') #облако
img = cv2.addWeighted(white_list, 0.8, cloud, 0.2, 0)
cv2.imshow('image', img)
# maker.viewImage(img, 'Version')
  • Вопрос задан
  • 31 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы