Как удалить крупнозернистый шум с изображения?

Это можно обобщить следующим образом: Как удалить из изображения области, похожие на другую область?

Большое изображение в оттенках серого. У меня в нем много песка и мне нужно обнаружить особенности. Частицы песка имеют размер в несколько пикселей. Я знаю, где песок на картинках. Это выглядит примерно так:
Композиция изображения

У меня есть вот такой песок (еще не в оттенках серого):
Песок

Чего я хочу добиться, так это того, чтобы весь песок стал одним значением от 0,0 до 1,0 или одним с очень небольшими вариациями; Таким образом, я смогу легко обнаружить особенности.
Итак, в общем: возьмите все, что выглядит похожим на какую-то область изображения, и удалите этот шумный аспект из изображения.
Я подумал, что можно сделать что-то вроде:
шум + шум = шум; он выглядит так же, как и раньше.
шум + характеристики = шум; выглядит более шумно, чем раньше
(на самом деле это может быть решением, хотя я все еще хочу спросить вас, люди)

Какие алгоритмы подходят и что вы предлагаете?

РЕДАКТИРОВАТЬ: это реальное изображение.
фактическое изображение


person RIJIK    schedule 21.10.2019    source источник
comment
Не могли бы вы предоставить фактическое изображение, из которого вы хотите извлечь свои функции? Это сделало бы ваш вопрос более ясным.   -  person T A    schedule 23.10.2019


Ответы (2)


Я могу предложить вам попробовать сопоставление шаблонов.

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

Отфильтруйте области со средним значением и отклонением, близкими к шуму (оцените это значение для песчаных областей). Размер фильтра в этом случае не должен быть очень большим, в 2+ раза меньше искомых объектов.

Более сложный способ — сопоставление с шаблоном. Это попиксельное сравнение области шаблона (песок) с областью изображения. Если результат ниже (или выше, в зависимости от используемого метода), то соответствует какой-то пороговый шаблон. Но я думаю, что в вашем случае это может работать хуже, чем базовые фильтры, упомянутые выше.

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

P.S. Чуть позже постараюсь добавить пару фото описанным способом применительно к вашему образцу.

person f4f    schedule 25.10.2019
comment
Сопоставление шаблонов — это ключевое слово, которое я искал. Я рассмотрю это и в зависимости от результатов прокомментирую снова. - person RIJIK; 29.10.2019

Для тех, кто случайно наткнулся на это. В конце концов я остановился на обучаемой сегментации WEKA. Я использовал Фиджи (ImageJ), чтобы попробовать. Он работал намного лучше, чем все остальные. Шум всегда был разным, поэтому сопоставление с шаблоном, к сожалению, работало недостаточно хорошо. Другим многообещающим было слияние статистических регионов, которое я нашел на Фиджи в разделе «Плагины»> «Сегментация». Но WEKA дала лучшие результаты.

Я все же надеюсь, что со временем найду что-нибудь побыстрее.

person RIJIK    schedule 06.12.2019