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