f, axarr = plt.subplots(1,4) axarr[0].title.set_text('Original \n Image') axarr[1].title.set_text('Reconstructed Image with \n 43% Compression') axarr[2].title.set_text('Reconstructed Image with \n 68% Compression') axarr[3].title.set_text('Reconstructed Image with \n 84% Compression') for i in range(4): axarr[i].title.set_fontsize(15) axarr[0].imshow((valid_batch[0].cpu().detach().permute(1, 2, 0) * 0.5) + 0.5) axarr[1].imshow((reconstructed_img_28[0].cpu().detach().permute(1, 2, 0) *0.5) + 0.5) axarr[2].imshow((reconstructed_img_16[0].cpu().detach().permute(1, 2, 0) *0.5) + 0.5) axarr[3].imshow((reconstructed_img_8[0].cpu().detach().permute(1, 2, 0) *0.5) + 0.5) f.set_figheight(5) f.set_figwidth(20) plt.show()
时间: 2023-06-26 11:09:03 浏览: 174
这是一个使用 Matplotlib 库进行可视化的代码片段。它创建了一个包含四个子图的图形,每个子图都显示了一个图像,并在子图标题中添加了文本。它还使用循环设置了每个子图标题的字体大小。最后,它设置了整个图形的大小,并使用 plt.show() 函数显示了图形。在这个例子中,它显示了四个重建的图像,这些图像是使用不同的压缩比率从原始图像生成的。
相关问题
将f, axarr = plt.subplots(1,4) axarr[0].title.set_text('Original \n Image') axarr[1].title.set_text('Reconstructed Image with \n 43% Compression') axarr[2].title.set_text('Reconstructed Image with \n 68% Compression') axarr[3].title.set_text('Reconstructed Image with \n 84% Compression') for i in range(4): axarr[i].title.set_fontsize(15) axarr[0].imshow((valid_batch[0].cpu().detach().permute(1, 2, 0) * 0.5) + 0.5) axarr[1].imshow((reconstructed_img_28[0].cpu().detach().permute(1, 2, 0) *0.5) + 0.5) axarr[2].imshow((reconstructed_img_16[0].cpu().detach().permute(1, 2, 0) *0.5) + 0.5) axarr[3].imshow((reconstructed_img_8[0].cpu().detach().permute(1, 2, 0) *0.5) + 0.5) f.set_figheight(5) f.set_figwidth(20) plt.show()中显示的图像分别保存为.png文件
可以在每个imshow()函数后添加savefig()函数来保存图像,如下所示:
```
f, axarr = plt.subplots(1,4)
axarr[0].title.set_text('Original \n Image')
axarr[1].title.set_text('Reconstructed Image with \n 43% Compression')
axarr[2].title.set_text('Reconstructed Image with \n 68% Compression')
axarr[3].title.set_text('Reconstructed Image with \n 84% Compression')
for i in range(4):
axarr[i].title.set_fontsize(15)
axarr[0].imshow((valid_batch[0].cpu().detach().permute(1, 2, 0) * 0.5) + 0.5)
axarr[1].imshow((reconstructed_img_28[0].cpu().detach().permute(1, 2, 0) *0.5) + 0.5)
axarr[2].imshow((reconstructed_img_16[0].cpu().detach().permute(1, 2, 0) *0.5) + 0.5)
axarr[3].imshow((reconstructed_img_8[0].cpu().detach().permute(1, 2, 0) *0.5) + 0.5)
# 保存图像
plt.savefig(f"reconstructed_img_{i}.png")
f.set_figheight(5)
f.set_figwidth(20)
plt.show()
```
这将在脚本所在的目录中保存四个图像,分别命名为`reconstructed_img_0.png`、`reconstructed_img_1.png`、`reconstructed_img_2.png`和`reconstructed_img_3.png`。
将这串代码的输出图片分开保存为四个图像f, axarr = plt.subplots(1,4) axarr[0].title.set_text('Original \n Image') axarr[1].title.set_text('Reconstructed Image with \n 43% Compression') axarr[2].title.set_text('Reconstructed Image with \n 68% Compression') axarr[3].title.set_text('Reconstructed Image with \n 84% Compression') for i in range(4): axarr[i].title.set_fontsize(15) axarr[0].imshow((valid_batch[0].cpu().detach().permute(1, 2, 0) * 0.5) + 0.5) axarr[1].imshow((reconstructed_img_28[0].cpu().detach().permute(1, 2, 0) *0.5) + 0.5) axarr[2].imshow((reconstructed_img_16[0].cpu().detach().permute(1, 2, 0) *0.5) + 0.5) axarr[3].imshow((reconstructed_img_8[0].cpu().detach().permute(1, 2, 0) *0.5) + 0.5) f.set_figheight(5) f.set_figwidth(20) plt.show()
可以使用以下代码将四个图像分别保存为文件:
```
import matplotlib.pyplot as plt
import numpy as np
# 代码中的内容
# 将图像保存为文件
plt.subplots_adjust(wspace=0.5)
for i in range(4):
axarr[i].title.set_fontsize(15)
axarr[i].axis('off')
plt.imshow(np.clip(axarr[i].get_images()[0], 0, 1))
plt.savefig(f"reconstructed_img_{i}.png")
```
这会将四个图像分别保存为`reconstructed_img_0.png`,`reconstructed_img_1.png`,`reconstructed_img_2.png`,`reconstructed_img_3.png`。注意,要在调用`imshow`之前添加`axarr[i].axis('off')`,以避免保存的图像包含坐标轴。另外,为了保留图像的质量,可以使用`np.clip`将像素值约束在0到1之间。
阅读全文