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