Всем привет!
Я работаю над программой, которая определяет средний размер колонии дрожжей по фотографии, и она отлично работает с изображениями .bmp, на которых я ее тестировал. Программа использует pygame и позже может использовать PIL.
Однако комбинация камеры и программного обеспечения, которую мы используем в моей лаборатории, сохранит только 16-битные tiff в оттенках серого, а pygame, похоже, не может распознавать 16-битные tiff, только 8-битные. Последние несколько часов я читал о простых способах обойти это, но даже библиотека изображений Python, похоже, не может работать с 16-битными .tiff, я пробовал и получаю «IOError: не удается идентифицировать изображение файл".
import Image
img = Image.open("01 WT mm.tif")
Моя конечная цель — сделать эту программу удобной для пользователя и простой в установке, поэтому я стараюсь не добавлять дополнительные модули и не требовать от людей установки ImageMagick или чего-то подобного.
Кто-нибудь знает простое решение этой проблемы с использованием бесплатного программного обеспечения или чистого python? Я не слишком много знаю об изображениях: манипуляции с битовой глубиной выходят за рамки моей компетенции. Но я совершенно уверен, что мне не нужны все 16 бит, и что, вероятно, только около 8 действительно имеют реальные данные. Фактически, я однажды использовал ImageMagick, чтобы попытаться преобразовать их, и это привело к полностью белому изображению: с тех пор я прочитал, что должен использовать команду «-auto-levels», потому что данные на самом деле не охватывают 16- битовый диапазон.
Я очень ценю вашу помощь и прошу прощения за незнание.
P.S.: Есть ли у кого-нибудь советы о том, как упростить установку моей программы на Python для непрограммистов? Есть ли способ, например, как-то связать его с Python и pygame, чтобы это была только одна установка? Можно ли это сделать как для Windows, так и для Mac? Спасибо.
РЕДАКТИРОВАТЬ: я попытался открыть его в GIMP и получил 3 ошибки:
1) Неверный счет для поля "DateTime" (27, ожидаемое 20); тег обрезан 2) Извините, не могу обрабатывать изображения с 12-битными образцами 3) Неподдерживаемый макет, нет загрузчика RGBA
Что это значит и как мне это приспособить?