Python 如果我有身体部位坐标,我怎么能覆盖两张不同大小和长宽比的人的图像?

Python 如果我有身体部位坐标,我怎么能覆盖两张不同大小和长宽比的人的图像?,python,image,numpy,opencv,mediapipe,Python,Image,Numpy,Opencv,Mediapipe,我有两张人的照片(每张照片一个人),我希望尽可能地重叠他们,使他们在帧中的大小大致相同,并且他们的臀部或肩部重叠 例如,每个图像都有一个人是直的,除了一个是坐着的,另一个是站着的,一个在框架的左边,另一个在中间。strong>如何重新创建图像,使它们在肩部排列,大小相似? 假设尺寸为: pic1为430x250 pic2为230x320 我把他们两个身体部位的坐标存储在字典里,如下所示: "keypoints": [ // keypoints for the first pi

我有两张人的照片(每张照片一个人),我希望尽可能地重叠他们,使他们在帧中的大小大致相同,并且他们的臀部或肩部重叠

例如,每个图像都有一个人是直的,除了一个是坐着的,另一个是站着的,一个在框架的左边,另一个在中间。strong>如何重新创建图像,使它们在肩部排列,大小相似?

假设尺寸为: pic1为
430x250
pic2为
230x320

我把他们两个身体部位的坐标存储在字典里,如下所示:

"keypoints": [ // keypoints for the first picture...
            {
                "part": "nose",
                "x": 235, // x coordinate in the pic
                "y": 150 // y coordinate in the pic
                
            },
            {
                "part": "leftEye",
                "x": 239,
                "y": 148
            },
。。。依此类推所有主要身体部位,两幅图像


因此,考虑到每张图像中的人物可以以不同的方式站立,并且图像的大小也不相同,在大多数情况下,我如何最好地重叠这两张图像,使它们看起来都是重叠的?

1)您能否解释一下,重新创建图像是什么意思?是否要将A中的人移动到图像B,或将B中的人移动到A,或叠加图像?或者把A和B放在图C中?第二,为什么不使用照片编辑器?(修剪很容易)。在你的最后一行。你可以制作一个大的空白图像。在图像中心放置一个按钮。把B放在所有关键点之间的均方误差最小的位置。@JasonChia我想拍摄图像A,并从中创建图像A,使图像A中的人现在位于A的中心。与图像B相同,使B'中的人现在位于中间。现在,如果我覆盖A'和B'的话,肩膀和臀部应该在大致相同的位置。我必须对成千上万的图像执行此操作,因此照片编辑器无法工作。我曾想过使用一个大的空白图像,但在使用numpy时遇到了一些问题,我还必须缩放人物,使他们的大小大致相同。你想在最终输出中将两个图像重叠在一起吗?或者改变A'和B'以使所需的关键点尽可能接近,但在两个单独的图像中匹配?@Jason第二个,其中A'和B'被改变,使它们匹配但是单独的图像。您将看到的是缩放每个标记点之间的x/y距离。您可以选择最“重要”的,并制作一个简单的算法来使用cv2.resize函数。也就是说,使鼻子和腰部之间的距离匹配将设置垂直缩放,使左肩和右肩之间的距离设置为x。