Я использую Python 2.7, OpenCV, matplotlib, чтобы создать «контактный лист» преобразований изображений. Мой входной файл - ~ 1920x1200 PNG в оттенках серого. Я хотел бы сохранить полный контактный лист (представленный в коде объектом 'fig', если я правильно понимаю).
Когда я запускаю следующее, я получаю выходной PNG размером ~ 200 КБ, который кажется пустым для зрителей изображений. Я не уверен, правильно ли я использую savefig () (или на правильном объекте), или проблема в том, что savefig смущен 16-битными данными
Извините за хакерский код!
редактировать: образец здесь http://www.filedropper.com/sample_83
fig,axs = plt.subplots(5,3)
for clip in enumerate(range(1,6)):
for exp in enumerate(range(2,5)):
gridsize = (pow(2,exp[1]),pow(2,exp[1]))
cliplim = clip[1]*3
clahe = cv.createCLAHE(clipLimit=cliplim,tileGridSize=gridsize)
cl = cv.normalize(clahe.apply(img16),None,0,65535,cv.NORM_MINMAX)
axs[clip[0],exp[0]].imshow(cv.bitwise_not(cl),cmap='Greys')
axs[clip[0],exp[0]].set_title('clip=%s grid=%s'%(cliplim,gridsize[0]))
axs[clip[0],exp[0]].get_xaxis().set_visible(False)
axs[clip[0],exp[0]].get_yaxis().set_visible(False)
fig.savefig('out.png')
plt.show()