Автоматически маскировать не сфокусированную часть изображения


9

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


К вашему сведению, ваше использование «get» здесь очень неоднозначно. Что вы подразумеваете под «получить только эту часть» изображения? Вы имеете в виду, что это единственные пиксели, которые вы хотите оставить в файле? Или вы просто хотите определить эту область для какого-то анализа или как? «Выбрать» было бы более подходящим термином, «маскировать» или даже «идентифицировать»
Жасмин

Если у вас есть более одного изображения (то есть, похоже на наложение фокуса, но без фактического наложения), я бы получил ответ, который дал бы вам фокусные маски.
Унапьедра

Хороший вопрос @ Жасмин. У меня есть ветви куста в фокусе на фоне деревьев / кустарников (установка синей клавиши не вариант), поэтому, чтобы уменьшить ошибку, я хочу ограничить анализ ветвями. Это можно сделать с помощью маскировки или с помощью уменьшенного файла, содержащего только пиксели в фокусе.
LaurensP

@Unapiedra, впервые слышу о фокусировке. Как этот метод или производная дадут мне маску в фокусе? У меня будет несколько снимков в день в течение месяца, фиксированный кадр и фокусное расстояние.
LaurensP

@ LaurensP: Это не поможет в этом случае. Я сильно подозреваю, что ваш вопрос здесь неправильный: это вопрос программирования, и его следует перенести в StackOverflow. Вы также можете расширить свой вопрос, чтобы сказать, что вы на самом деле хотите сделать / проанализировать / и т.д. До сих пор вы показали, что вы хотите проанализировать ветви куста, как и почему вы не сказали. Может быть, кластеризация и сегментация это вариант? Пожалуйста, загрузите образец изображения, пока вы на нем.
Унапьедра

Ответы:


5

Я обычно использую GIMP для этого --- это, вероятно, должно быть уточнено для автоматических процедур. Моя процедура заключается в следующем:

  1. Я загружаю изображение, в этом случае http://rlog.rgtti.com/wp-content/uploads/2013/01/10/macro-lenses-are-exорого-all-of-them/paseo_15sep_more_rosse.jpg

  2. Теперь я копирую фоновый слой и преобразую новый слой в градации серого.

  3. Я применяю функцию обнаружения края по разности гауссов:

введите описание изображения здесь

играя с параметрами, чтобы определить хорошую область. Применить фильтр

  1. Теперь вы применяете порог к изображению:

введите описание изображения здесь

... и это карта вашей резкости (насколько резкой вы решили на предыдущем шаге установить параметры для фильтров).

  1. Теперь вы можете использовать «инструменты выбора по цвету», нажать на черный цвет, а затем немного увеличить выделение:

введите описание изображения здесь

... как только вы будете удовлетворены, вы можете сохранить выбор на канал.

Обратите внимание, что выделение не включает острые области, которые окрашены равномерно, без краев. Я не знаю никакого способа сделать это автоматически (возможно ли это?); но вы можете скопировать канал на новый слой и

  1. вручную отредактируйте слой, чтобы заполнить резкие области черным цветом:

введите описание изображения здесь

... и повторите процедуру выбора по цвету, чтобы создать новую маску.


Это даст вам текстурированные области (с краями). Вы используете выращивание умно, но результат не идеален. Посмотрите на внутреннюю сторону листа с левой стороны. Он находится в фокусе, но не полностью черный в маске. Я думаю, что это на самом деле невозможно решить, так как невозможно различить расфокусировку и отсутствие текстуры.
Унапьедра

0

В Hugin вы можете использовать инструмент, который это делает. Это называется enfuse.

Проблема : он работает только на нескольких изображениях.

Здесь вы можете найти руководство по использованию enfuse для фокусировки. Вы можете получить маски (что вы хотите) с помощью --save-masks.

enfuse --exposure-weight=0 --saturation-weight=0 --contrast-weight=1 \
       --hard-mask --save-masks --output=base.tif INPUTImage*.tif

Тем не менее, обратите внимание, что хотя это и автоматизировано, основной подход такой же, как и у ответа Рмано: обнаружение большого локального контраста. Более подробное объяснение смотрите в разделе « Обнаружение локального контраста» и «Сложная фокусировка» в документации Enfuse.


-5

Adobe Photoshop CC сделает это после 18 июня. Вот ссылка на функцию предварительного просмотра


5
Вопрос специально задает другие варианты, кроме Photoshop :-)
Филипп Кендалл

Первоначально не было
R Hall

1
Это никогда не редактировалось.
Джон Каван

Ну что ж. Давай продолжим голосование, я думаю. мы в -4 сейчас. Кто-то еще?
Р Холл
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.