Изображение от прямоугольника к кривой в openCV pythonPython

Программы на Python
Anonymous
Изображение от прямоугольника к кривой в openCV python

Сообщение Anonymous »


Я пытаюсь поместить прямоугольное изображение (наложение) на другое изображение (сзади). Я выполняю 3 операции
[*]Изменение размера наложенного изображения [*]Наложенное изображение изогнуто по размеру заполнителя наложенного плаката. [*]Расположите наложение на заполнитель заднего изображения постера и сохраните его.
Я могу изменить размер и положение изображения и правильно его сохранить, но не могу изогнуть его, сохранив прозрачность.

импортировать cv2 импортировать numpy как np импорт математики назад = cv2.imread('img/bg_layer.png') overlay = cv2.imread('img/tanjiro.png', cv2.IMREAD_UNCHANGED) # Замените 'your_image.png' на путь к вашему изображению overlay = cv2.resize(overlay, (700, 700)) # При необходимости измените размер изображения строки, столбцы, канал = overlay.shape img_output = np.zeros(overlay.shape, dtype=overlay.dtype) для меня в диапазоне (строках): для j в диапазоне (столбцы): offset_x = int(128.0 * math.sin(2 * 3.14 * i / (2 * столбцы))) смещение_y = 0 если j + offset_x < столбцы: img_output[i, j] = overlay[i, (j + offset_x) % столбцов] еще: img_output[i, j] = 0 cv2.imshow('Вогнутая', img_output) cv2.waitKey(0) ч, ш = back.shape[:2] печать(ч, ш) h1, w1 = img_output.shape[:2] печать(h1, w1) # пусть центр магазина будет иметь координаты cx,cy cx, cy = (h - h1) // 2, (w - w1) // 2 # используйте индексацию numpy, чтобы поместить изображение с измененным размером в центр # изображение на заднем плане back[cy:cy + h1, cx:cx + w1] = наложение # просмотреть результат cv2.imshow('назад с наложением', назад) cv2.waitKey(0) cv2.destroyAllWindows()
Изображение
Это мое наложение


Изображение
Это мой задний слой

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