如何在Python中使用PIL或opencv比较图像的坐标值,从而将图像粘贴到另一个图像上?

如何在Python中使用PIL或opencv比较图像的坐标值,从而将图像粘贴到另一个图像上?,python,opencv,Python,Opencv,我需要根据坐标值合并两个图像 我已经使用单点对点合并完成了合并 我得到了结果。 但是我需要在同一张图片中进行多个坐标的比较和合并。。 有什么可能的方法吗 以上图像是结果。输出只有单点对点合并。但我需要在多点合并 参数为{“Headpts”:[354,64,“ShoulderSpinepts”:[25234],“LeftShoulderpts”:[123243],“LeftElbowpts”:[54234],“LeftHandpts”:[0,0],“RightShoulderpts”:[0,

我需要根据坐标值合并两个图像

我已经使用单点对点合并完成了合并

我得到了结果。 但是我需要在同一张图片中进行多个坐标的比较和合并。。 有什么可能的方法吗

以上图像是结果。输出只有单点对点合并。但我需要在多点合并


参数为{“Headpts”:[354,64,“ShoulderSpinepts”:[25234],“LeftShoulderpts”:[123243],“LeftElbowpts”:[54234],“LeftHandpts”:[0,0],“RightShoulderpts”:[0,0],“righterbowpts”:[0,0],“righterhandports”:[0,0],“basepts Spinepts”:[0,0],“LeftHippts”:[0,0],“LeftKneepts”:[0,0],“LeftKneepts”:[0,,“RightHippts:[0,0],“RightKneepts:[0,0],“RightFootts:[0,0],“LeftWristts:[0,0],“RightWristpts:[0,0],“Neckpts:[0,0]}

我使用的是
cv2.getAffineTransform()
。因为它只能添加三个点(在
cv2.getPerspectiveTransform()
上只有四个点),所以我将图像剪切为多个三角形

这是我的样本:

重点是:

我的目标是把猫的头整形成一个300*300的盒子

首先,根据点将区域裁剪成三角形

然后使用
cv2.getAffineTransform()
获得调整过的特定区域。

然后使用
cv2.bitwise\u或()


你的项目比较复杂,但原理是一样的。你需要将图像裁剪成几个三角形,然后变换它们,以适合模型。在将这些三角形合并到一起后,你可以得到你的图像。

你想根据这些点重塑T恤衫的形状吗?是的@CodingPeter我猜如果左肩点和右肩点都被合并,图像会随之收缩。或者有其他方法吗?我正在尝试cv2.getPerspectiveTransform。不确定是否有效。你能给我你所有的图片参数吗?等一下,我正在写答案~你是如何调整剪切的角度部分?您提到过“获得调整过的特定区域。”cv2.getAffineTransform()示例代码:对于静态图像,您的方法是有效的。但是当我将其应用到实时视频中时,帧正在缩小。还有其他建议吗?谢谢@CodingPeterd。您知道您的程序的哪一部分花费了大部分时间吗?然后与之决斗。