Массив для изображения с цветной картой - PullRequest
0 голосов
/ 28 августа 2018

У меня есть некоторые данные в массиве 2048x2048, которые я хочу преобразовать в изображение.

import numpy as np
from PIL import Image    

path = 'E:\\petra_2018_backup\\final\\raw\data\zn_2_run\\'
file = 'Zn_2_Pos1-01537.tif'   

im = Image.open(path+file)

a = np.array(im)

img = Image.frombytes('CMYK', (2048, 2048), a) # pass in the bytestring
img.save('pic.pdf')
img.show()

Этот результат довольно темный и имеет смесь зеленого и синего цветов. Я должен упомянуть, что прикрепленная картинка - это небольшая часть результата, так как результирующая картинка слишком большая для прикрепления. Visualisation of the 'a' array

Было бы также полезно, если бы люди могли посоветовать способ сжатия полученного изображения.

1 Ответ

0 голосов
/ 05 сентября 2018

Я просто не мог найти решение с помощью подушки. Поэтому я начал использовать Scikit.

Код следующий:

import numpy as np
from skimage import io
import matplotlib.pyplot as plt   

path = 'E:\\petra_2018_backup\\final\\raw\data\zn_2_run\\'
file = 'Zn_2_Pos1-01537.tif'

im =io.imread(path+file,as_gray=True)

b = np.array([im],dtype=np.uint16 )
b[b<150]=150  #Modification to array not included in original code
b[b>6000]=6000 #Modification to array not included in original code
c=b.squeeze() 
fig = plt.figure()
ax = plt.subplot(111)
ax = io.imshow(c)
fig.savefig('result_figure.png',dpi=320)

Создает следующий сюжет. enter image description here

...