Преобразование значений заднего пикселя в 16-битное сырое изображение в градациях серого с использованием Python

Я храню данные из необработанного файла в numpy array вот так (код обобщен):

for i in range(useLines):
    lineData = struct.unpack(pixelsPerLine * numChannels * 'H', f.read(2 * pixelsPerLine * numChannels))    
    image[i] = lineData[::numChannels]

предположить, что uselines это 400, pixelsPerLine это 1000, numChannels 1. Затем я извлекаю часть массива для создания нового необработанного изображения:

image1 = image[0:pixelsPerLine:8]

Как мне преобразовать этот новый массив в необработанный файл изображения?

Я пытался использовать подушку. Однако, похоже, что он не поддерживает формат raw:

from PIL import Image
new_image = Image.fromarray(image1)
new_image.convert('I;16')
new_image.save('new1.raw')

Я получаю следующую ошибку:

ValueError: unknown file extension: .raw

Любое предложение о том, как вернуть сырое изображение обратно?

0 ответов

Другие вопросы по тегам