Преобразование значений заднего пикселя в 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
Любое предложение о том, как вернуть сырое изображение обратно?