Как преобразовать необработанные образы дисков (.img) в растровый (.bmp) формат - PullRequest
1 голос
/ 13 июня 2019

Я пытаюсь преобразовать пользовательский файл образа диска Raw (для которого я использовал расширение .img) в растровый формат (.bmp). Я пытался использовать PIL, однако PIL не поддерживает файлы .img. Когда я запускаю свой код, я получаю OSError с сообщением 'cannot identify image file '1103_100_006_000.img'. .img-файл не является стандартным форматом.

Я запустил свой код, преобразующий изображения PNG в BMP, и он работает хорошо, однако, когда я запускаю его, используя эти пользовательские (application / x-raw-disk-image) .img файлы, он не может их идентифицировать. Я пытался открыть файлы по отдельности, получая ошибку UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd3 in position 18: invalid continuation byte..

Вот код, который я использую, чтобы попытаться преобразовать файлы в формат BMP:

from PIL import Image

folder = '/home/jeff/Documents/img'

for filepath in glob.iglob(os.path.join(folder, '*.img')):
    image = Image.open(filepath,).convert('RGB').convert('L')
    new_filepath = os.path.splitext(filepath)[0] + '.bmp'
    image.save(filepath)

Я ожидаю, что он преобразует файл '1103_100_006_000.img' в формат '1103_100_006_000.bmp', но вместо этого я получаю OSError: cannot identify image file '1103_100_006_000.img'

1 Ответ

0 голосов
/ 13 июня 2019

Это потому, что PIL может открывать / обрабатывать только определенные форматы файлов изображений , а .img не является одним из них.Поэтому при попытке открыть 1103_100_006_000.img компилятор выдает OSError, так как не может распознать формат предоставленного файла.

...