При попытке настроить программу, которая будет автоматически проверять и конвертировать все файлы из .cr2 в .tif, я обнаружил две основные ошибки: неподдерживаемую версию Libraw и KeyError: 19.
Я пытался установить более новую версию libraw.
def convert_to_tiff(picture):
for i in range(len(picture)):
filename = 'DSC_Canon EOS 1300D (' + str(picture[i]) + ').cr2'
raw_image = Raw(filename)
buffered_image = np.array(raw_image.to_buffer())
image = Image.frombytes('RGB', (raw_image.metadata.width, raw_image.metadata.height), buffered_image)
folder_name = input("Enter folder name: ")
image.save("" + folder_name + "/" + str(picture[i]) + ".tif", format="tiff")
.
Traceback (most recent call last):
File "/home/anish/Python/CAMERA/venv/lib/python3.7/site-packages/libraw/bindings.py", line 46, in __init__
}[self.version_number[1]]
KeyError: 19
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/anish/Python/CAMERA/automation.py", line 35, in <module>
convert_to_tiff(picture)
File "/home/anish/Python/CAMERA/automation.py", line 25, in convert_to_tiff
raw_image = Raw(filename)
File "/home/anish/Python/CAMERA/venv/lib/python3.7/site-packages/rawkit/raw.py", line 70, in __init__
self.libraw = LibRaw()
File "/home/anish/Python/CAMERA/venv/lib/python3.7/site-packages/libraw/bindings.py", line 49, in __init__
'Unsupported Libraw version: %s.%s.%s.' % self.version_number
ImportError: Unsupported Libraw version: 0.19.2.
Process finished with exit code 1
Я ожидал, что программа преобразует изображения из cr2 в tiff, но вместо этого она исправлена.