使用plt.savefig保存图像,但是图像全为白色

时间:2020-07-24 13:35:35

标签: python image save

我使用matplotlib显示图像并保存。

但是我保存的图像都是空白的

这是我使用的代码

import matplotlib.pyplot as plt
import os
import cv2 
path = 'C:/Users/User/Desktop/Tensorflow/0_180_direction_indicator/*.jpg'
for deg in Result.values[:,1:4]:
    #print(deg)
    for img in glob.glob(path):
        if int(img[-13:-10])== int(deg[2]):
            print(deg[1])
            print(str(deg[2])[0:5]+'_deg')
            IMG_SIZE = 100
            img_array = cv2.imread(img, cv2.IMREAD_GRAYSCALE)
            new_array = cv2.resize(img_array, (IMG_SIZE, IMG_SIZE))
            plt.imshow(new_array)
            plt.show()  
            plt.savefig('C:/Users/User/Desktop/Tensorflow/indicator_result/'+str(deg[1])+str(deg[2])[0:5]+'_deg'+'.jpg')

但是我保存的图像都是白色的... 如何解决?

enter image description here

1 个答案:

答案 0 :(得分:0)

plt.savefig保存当前图像。如果在保存之前调用plt.show(),它将无法正常工作。

更改

plt.imshow(new_array)
plt.show()
plt.savefig('C:/Users/User/Desktop/Tensorflow/indicator_result/'+str(deg[1])+str(deg[2])[0:5]+'_deg'+'.jpg')

plt.imshow(new_array)
plt.savefig(..)
plt.show()