Я пытаюсь изменить перспективу изображения поддельных очков с помощью OpenCV, но прозрачные части и непрозрачность теряются. Полученное изображение не имеет прозрачных пленок. Я хочу изменить перспективу, чтобы отпечатать полученное изображение над другим изображением.Проблемы с OpenCV warpPerspective с прозрачными изображениями
Могу ли я сделать это с помощью OpenCV?
#!/usr/bin/python
import numpy as np
import cv2
glasses = cv2.imread('fake_glasses.png')
RES_SIZE = (500,640)
pts1 = np.float32([[ 0, 0], [599, 0],
[ 0,208], [599,208]])
pts2 = np.float32([[ 94,231], [354,181],
[115,316], [375,281]])
M = cv2.getPerspectiveTransform(pts1,pts2)
rotated = cv2.warpPerspective(glasses, M, RES_SIZE)
cv2.imwrite("rotated_glasses.png", rotated)
Есть ли способ «штамповать» преобразованное изображение в другое изображение? Я пытаюсь сделать это с помощью cv2.warpPerspective, но я не могу понять. Должно быть что-то вроде: 'final_image = cv2.warpPerspective (очки, M, RES_SIZE, face_image, borderMode = cv2.BORDER_TRANSPARENT)' – xabi
См [этот ответ] (http://stackoverflow.com/a/37198079/ 3962537). –
ValueError: операнды не могут транслироваться вместе с фигурами (614,500,3) (640,500,3) – xabi