用白色背景叠加两个图像

问题描述 投票:0回答:1

plt.imshow
功能不允许我用白色背景叠加两个图像。首先,我为两个不同的图像掩盖了感兴趣的区域。然后我尝试用白色背景覆盖一张图像中的两个感兴趣区域。

import matplotlib.pyplot as plt
import matplotlib

matplotlib.style.use('ggplot')

plt.figure(figsize = (5,5))
plt.imshow(img1,vmin=4,vmax=25,cmap='Blues', alpha=0.4)
plt.imshow(img2, cmap='Reds',vmin=4,vmax=25, alpha=0.4)

我使用了“ggplot”样式,但它不起作用。以下是输出图像和预期图像。

输出图像:

enter image description here

预期图像:

enter image description here

我尝试了函数

plt.plot
,但它以混乱的方式绘制它。

python matplotlib
1个回答
0
投票

要使用 matplotlib 叠加两个白色背景的图像,可以使用 imshow 函数并指定 vmin、vmax 和 alpha 参数来控制叠加图像的透明度。这是一个应该有所帮助的示例代码:

import matplotlib.pyplot as plt

# Load the images
img1 = plt.imread('image1.jpg')
img2 = plt.imread('image2.jpg')

# Create a new figure and axis object
fig, ax = plt.subplots(1, 1)

# Show the first image with a blue color map and some transparency
ax.imshow(img1, cmap='Blues', alpha=0.4)

# Show the second image with a red color map and some transparency
ax.imshow(img2, cmap='Reds', alpha=0.4)

# Set the white background for the axis
ax.set_axis_bgcolor('white')

# Display the figure
plt.show()

此代码使用 plt.imread 读取两个图像,使用子图创建一个新的图形和轴对象,然后使用 imshow 覆盖两个图像。蓝色贴图用于第一个图像,红色贴图用于第二个图像,并且两个图像都具有一定的透明度,以便可以在彼此的顶部看到它们。最后,使用 set_axis_bgcolor 为轴设置白色背景。

还可以使用imshow函数中的alpha参数来调整叠加图像的透明度。值为 0 表示图像完全透明,值为 1 表示图像完全不透明。您可以尝试使用不同的 alpha 值来实现图像所需的透明度。

我希望这有帮助!如果您有任何疑问或需要进一步帮助,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.