imdiffuseest

Оцените параметры для анизотропной фильтрации диффузии

Описание

пример

[gradientThreshold,numberOfIterations] = imdiffuseest(I) оценивает порог градиента и количество итераций, требуемых отфильтровать полутоновое изображение I использование анизотропной диффузии.

[gradientThreshold,numberOfIterations] = imdiffuseest(I,Name,Value) пары "имя-значение" использования, чтобы изменить поведение анизотропного алгоритма диффузии.

Примеры

свернуть все

Считайте полутоновое изображение, затем примените сильный Гауссов шум к нему. Отобразите шумное изображение.

I = imread('pout.tif');
Inoisy = imnoise(I,'gaussian',0,0.005);
imshow(Inoisy)
title('Noisy Image')

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

[gradThresh,numIter] = imdiffuseest(Inoisy)
gradThresh = 1x5 uint8 row vector

   64   50   39   34   29

numIter = 5

Отфильтруйте шумное изображение при помощи анизотропной диффузии предполагаемыми параметрами.

Idiffuseest = imdiffusefilt(Inoisy,'GradientThreshold', ...
     gradThresh,'NumberOfIterations',numIter);

Для сравнения также отфильтруйте шумное изображение при помощи анизотропной диффузии параметрами по умолчанию. Порог градиента по умолчанию 25.5, потому что типом данных изображения является uint8, и количество по умолчанию итераций равняется 5.

Idiffusedef = imdiffusefilt(Inoisy);

Визуально сравните два отфильтрованных изображения.

 montage({Idiffusedef,Idiffuseest},'ThumbnailSize',[])
 title(['Anisotropic Diffusion Filtering Using ' ...
     'Default Parameters (Left) vs. Estimated Parameters (Right)'])

Некоторый шум остается в изображении, которое было отфильтровано с помощью параметров по умолчанию. Шум почти абсолютно отсутствует в изображении, которое было отфильтровано с помощью оцененных параметров. Резкость ребер в обоих изображениях, особенно высококонтрастные ребра, такие как решетка и белый воротничок, сохраняется.

Входные параметры

свернуть все

Отобразите, чтобы быть отфильтрованными, заданными как 2D полутоновое изображение.

Типы данных: single | double | int16 | uint8 | uint16

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: imdiffuseest(I,'Connectivity','minimal') оценочные параметры потребовали для анизотропной диффузии на изображении I, использование минимальной возможности соединения.

Возможность соединения пикселя его соседям, заданным как разделенная запятой пара, состоящая из 'Connectivity' и 'maximal' или 'minimal'. Максимальная возможность соединения рассматривает восемь самых близких соседей, и минимальная возможность соединения рассматривает четырех самых близких соседей.

Метод проводимости, заданный как разделенная запятой пара, состоящая из 'ConductionMethod' и 'exponential' или 'quadratic'. Экспоненциальная диффузия способствует высококонтрастным ребрам по низкоконтрастным ребрам. Квадратичная диффузия способствует широким областям по меньшим областям.

Выходные аргументы

свернуть все

Порог градиента, возвращенный как числовой вектор совпадающего типа данных как входное изображение, I. Длина вектора равна numberOfIterations.

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

Ссылки

[1] Perona, P. и Дж. Малик. "Пробел шкалы и обнаружение ребра с помощью анизотропной диффузии". IEEE® Transactions согласно Анализу Шаблона и Искусственному интеллекту. Издание 12, № 7, июль 1990, стр 629–639.

[2] Tsiotsios, C. и М. Петроу. "На выборе параметров для анизотропной диффузии в обработке изображений". Распознавание образов. Издание 46, № 5, май 2013, стр 1369–1381.

Смотрите также

Введенный в R2018a