我是python的新手,我编写了以下python代码,将spot.jpg粘贴到坐标(2,3)上的background.jpg,因为background.jpg位于范围[0,20,0] ,16]。两幅图像都有不同的尺寸。
{{1}}
我在这里看到3个问题。
如果我不放弃zoom = 0.1(无论如何我猜的数字),spot.jpg将比background.jpg大得多。实际上,距离小于1米乘1米,背景为20米乘16米。如果我需要放一个数字来放大以便将两个图像放到相同的比例,那么数字应该是多少或者如何计算数字呢?
当我放大matplotlib结果时,spot.jpg似乎没有变大。 zooming into spot on plot。我想知道为什么。
斑点的图像质量会受到影响。反正有没有改善spot.jpg在情节上的表现?
非常感谢提前帮助像我这样的菜鸟。
答案 0 :(得分:0)
使用偏移盒可能不是这里的好方法。您似乎希望将两个图像放在相同的数据坐标中。因此,根据所需的位置,将两个图像绘制为imshow
,具有不同的范围。
import matplotlib.pyplot as plt
# imbg is layout/ background
imbg = plt.imread(r"data/room.jpg")
# imfg is furniture/ foreground
imfg = plt.imread(r"data/spot.jpg")
# manually set aspect dimension for background
ext= [0,20,0,16]
fig, ax = plt.subplots()
ax.imshow(imbg, zorder= 0, extent=ext )
ax.imshow(imfg, zorder= 1, extent=[2,5,3,6] )
ax.axis(ext)
plt.xlabel("Dimensions", fontsize= 12)
plt.title('Proposed', fontsize= 20)
plt.show()
椅子的范围在这里也是相当随意的,但你会更清楚地知道放在哪里以及尺寸。