Python: вырезать область из изображения вдоль границ - PullRequest
0 голосов
/ 25 августа 2018

Какие функции (и как я должен их использовать) я должен использовать, чтобы обрезать центральную часть этого изображения?Я хочу взять только менее плотные части, а не плотные границы.

Спасибо!

В конце я хочу либо подсчитать крошечные круги / точки (ячейки) в областяхили рассчитать площадь менее плотных частей, очерченных на втором изображении.Я делал это раньше с ImageJ, отслеживая область вручную, но это действительно утомительный процесс с большим количеством изображений.

Оригинал

Обведенная область

Я сейчас смотрю на Сципи, но они большие, и я не знаю, как к этому приблизиться.Если бы кто-то указал мне правильное направление, это было бы здорово!

1 Ответ

0 голосов
/ 25 августа 2018

Мне понадобится немного больше времени на Python, но я попробовал несколько идей только в командной строке с ImageMagick , который установлен в большинстве дистрибутивов Linux и доступен бесплатно для macOS и Окна.

Сначала я обрезал ваше изображение, чтобы избавиться от постороннего мусора:

enter image description here

Затем я сделал следующие шаги:

  • сбросить канал альфа / прозрачности
  • преобразовать в оттенки серого, так как нет полезной информации о цвете,
  • нормализовано, чтобы растянуть контраст и сделать все пиксели в диапазоне 0-255,
  • с порогом поиска ячеек
  • заменил каждый пиксель на среднее значение их окружающих 49x49 пикселей (размытие рамки)
  • снова порог на уровне 90%

Эта команда выглядит в терминале / командной строке следующим образом:

convert blobs.png -alpha off -colorspace gray -normalize -threshold 50% -statistic mean 49x49 -threshold 90%  result.png

Результат:

enter image description here

Если этот подход выглядит многообещающе для других ваших фотографий, мы можем довольно быстро разработать версию Python, поэтому дайте мне знать.

Конечно, если вам известна другая полезная информация о вашем изображении, которая может помочь улучшить положение вещей ... возможно, вы знаете, что плотность всегда выше по краям, например.


Если кто-то захочет увидеть промежуточные шаги, вот изображение после масштабирования и нормализации серого:

enter image description here

И вот оно после размытия:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...