2015-11-07 93 views
3

我使用this question的代碼將一些原始圖像轉換爲png。在Python中調整圖像大小

import matplotlib.pyplot as plt 
import numpy as np 

# Parameters. 
input_filename = "JPCLN001.IMG" 
shape = (2048, 2048) # matrix size 
dtype = np.dtype('>u2') # big-endian unsigned integer (16bit) 
output_filename = "JPCLN001.PNG" 

# Reading. 
fid = open(input_filename, 'rb') 
data = np.fromfile(fid, dtype) 
image = data.reshape(shape) 

# Display. 
plt.imshow(image, cmap = "gray") 
plt.savefig(output_filename) 
plt.show() 

事情是,我期待一個2048x2048的PNG大小,但我得到的是500x500下的圖像。有關如何解決這個問題的任何建議?

回答

1

如果你只是想將數組作爲.png保存而不繪製它,你可以使用matplotlib.image.imsave

import numpy as np 
from matplotlib import pyplot as plt 

# some random data 
img = np.random.randint(256, size=(2048, 2048)) 

# creates a 2048 x 2048 .png image 
plt.imsave('img.png', img, cmap='gray')