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”样式,但它不起作用。以下是输出图像和预期图像。
输出图像:
预期图像:
我尝试了函数
plt.plot
,但它以混乱的方式绘制它。
要使用 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 值来实现图像所需的透明度。
我希望这有帮助!如果您有任何疑问或需要进一步帮助,请告诉我。