Я новичок в Python и надеюсь извлечь информацию о масштабе из изображения электронной микроскопии (.tif).
Когда я открываю файл в Блокноте и прокручиваю вниз, я вижу заголовок «[Сканирование]» и элемент под ним «PixelWidth = 3.10059e-010».
Я хотел бы прочитать это значение в Python и использовать его в качестве калибровочного коэффициента для измерения физических расстояний в изображении.
Я нашел многообещающий подход с использованием PIL (https://stackoverflow.com/a/46910779/10244370), но столкнулся с ошибкой при выполнении рекомендуемого кода.
from PIL import Image
from PIL.TiffTags import TAGS
with Image.open(imagetoanalyze) as img:
meta_dict = {TAGS[key] : img.tag[key] for key in img.tag.iterkeys()}
Я ожидал, что это создаст объект "meta_dict", содержащийтакие строки, как "PixelWidth" и плавающие как "3.10059e-010".
Вместо этого я вижу:
Traceback (most recent call last):
File "<ipython-input-62-4ea0187b2b49>", line 2, in <module>
meta_dict = {TAGS[key] : img.tag[key] for key in img.tag.iterkeys()}
File "<ipython-input-62-4ea0187b2b49>", line 2, in <dictcomp>
meta_dict = {TAGS[key] : img.tag[key] for key in img.tag.iterkeys()}
KeyError: 34682
Я явно что-то делаю не так. Любая помощь будет принята с благодарностью. Спасибовы!