我正在编写一个Python程序,显示两个热(低分辨率)无人驾驶飞机相互靠近。然后,用户在两张图片上选择3个点,然后将第二个图片转换并与第一个图片合并。在下面的步骤,程序应该显示合并的图片与第三张图片,从它旁边的飞行,等等。
目前,我正在研究如何对图像进行转换和合并。
我正在考虑将图像读取为数组(列表列表(=行)),使用转换公式手动计算每个像素的新位置(目前我已经用OpenCV计算了转换矩阵),创建了一个新的空列表列表,并在新列表列表中相应位置粘贴像素值。后来,我想用零填充空的“细胞”。
为了将它们合并,我将再次创建一个新的列表,遍历两个图像,得到每个单元格的最大值或平均值,并将空的剩余“单元格”填充为零。然后,我将显示在下面的航班图像旁边的窗口中,就像我提到的那样。
在计算像素值的新坐标之前,我仍然不知道如何预测列表的大小。而且,这种方法似乎很长,效率也很低,所以我想知道是否有更简单的方法可以使用Wand或OpenCV (或任何其他库)来完成这个任务。
发布于 2019-12-10 10:02:43
我做了所有的手动和它工作,我仍然有一个问题是通过转换图像的对角线NoData线。我认为这是坐标四舍五入的结果,因为我不能使用floats (这是转换公式的结果)作为列表中的索引。(对于这个例子,这3组点并没有经过非常仔细的选择,但您得到了要点。)
编辑:通过在中心像素和与中心像素相邻的其他8个像素中填充计算值来解决对角线问题。它使图像模糊,但这是我唯一的解决方案。

https://stackoverflow.com/questions/58891473
复制相似问题