2016-11-24 6 views
1

pyqtgraph를 사용하여 Numpy ndarray를 이미지로 png 파일로 내보내려고합니다.이미지 창을 표시하지 않고 pyqtgraph를 사용하여 이미지를 저장 (내보내기) 할 수 있습니까?

import pyqtgraph as pg 
import pyqtgraph.exporters 
import h5py 

h5file = h5py.File('hoge.h5',"r") 
images = h5file['image'].value 

for i in xrange(images.shape[0]): 
    img = pg.image(images[i]) 
    exporter = pg.exporters.ImageExporter(img.view) 
    exporter.export('image_'+str(i)+'.png') 

images은 (n, 128,128,3) 형태의 numpy ndarray이다. (N은 내가 필요로하는 이미지의 수입니다)

코드가 실행되면 pg.image 때문에 이미지 창이 N 번 표시됩니다. 이 이미지 창이 표시되지 않도록하고 싶습니다.

제발 나에게 이것에 대해 생각해.

답변

0

이것은 아주 좋은 해결책은 아니지만 모든 이미지를 플롯별로 하나씩이 아니라 동일한 ImageWindow에 플롯 할 수 있습니다.

import pyqtgraph as pg 
import pyqtgraph.exporters 
import numpy as np 

images = np.random.random((3,128,128)) 

imagewindow = pg.image() 

for i in xrange(images.shape[0]): 
    img = pg.ImageItem(images[i]) 
    imagewindow.clear() 
    imagewindow.addItem(img) 
    exporter = pg.exporters.ImageExporter(imagewindow.view) 
    exporter.export('image_'+str(i)+'.png') 

편집 : 나는, 당신이 첨부 된 URL 함과 PIL 이미지의 방법을 사용 Saving a Numpy array as an image

+0

참조 또한 pyqtgraph를 통해하지 않을 것을 제안하고, 대신에 직접 저장. –

+0

그리고 나서 문제를 해결하는 데 성공했습니다. 감사! –