II Всероссийская конференция пользователей MATLAB, 25-26 мая 2004 года >>
На первую страницу
Рубрика Matlab&Toolboxes
Российские MATLAB-разработки
Вход
Раздел "Обработка сигналов и изображений\Image Processing Toolbox"

И.М.Журавель "Краткий курс теории обработки изображений"

В оглавление \ К следующему разделу \ К предыдущему разделу

Гранулометрия

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

В первую очередь, это медицина. Гранулометрия в медицине применяется для подсчета количества определенных объектов на изображениях срезов биологических тканей. Например, позволяет автоматически выделять различные объекты изображения и оценивать их процентный состав в зависимости от площади; также применяется при анализе крови (построении и анализе эритроцитарной гистограммы, подсчете тромбоцитов и т.д.). Это может быть также анализ снимков микроскопа (подсчет бактерий, анализ хромосом и т.д.). Похожая область - это анализ фармацевтических препаратов при их изготовлении.

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


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

Содержание

  • Считывание изображения.
  • Улучшение контрастности изображения.
  • Определение яркости поверхности на улучшенном изображении.
  • Вычисление первой производной распределения.
  • Формирование объектов (снежинок) с учетом вычисленного радиуса.

Считывание изображения.

Считываем файл 'snowflakes.png', который представляет собой изображение хлопьев снега.

I=imread('snowflakes.png');
figure, imshow(I)

Улучшение контрастности изображения.

Эффективность решения любой задачи по обработке изображений, в большой мере, зависит от качества исходных данных. В данном случае, когда необходимо идентифицировать объекты и анализировать их размер, то высокое качество исходного изображения является одним из необходимых условий. Для решения задачи повышения контрастности изображения в системе Matlab можно использовать функцию ADAPTHISTEQ. Эта функция реализует контрастно-ограниченную адаптивную эквализацию (выравнивание) гистограммы. Для коррекции яркостей изображения используется функция IMADJUST, которая позволяет управлять диапазоном яркостей изображения.

claheI=adapthisteq(I, 'Divisions', [10 10]);
claheI=imadjust(claheI);
imshow(claheI);

Определение яркости поверхности на улучшенном изображении.

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

for counter=0:22
remain=imopen(claheI, strel('disk', counter));
intensity_area(counter+1)=sum(remain(:));
end
figure,plot(intensity_area, 'm - *'), grid on;
title('Функция зависимости суммы пикселей раскрытого изображения от их радиуса');
xlabel('радиус раскрытия (в пикселях)');
ylabel('значение суммы пикселей раскрытых объектов (интенсивность)');

Вычисление первой производной распределения.

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

intensity_area_prime=diff(intensity_area);
plot(intensity_area_prime, 'm-*'), grid on;
title('Granulometry (Size Distribution) of Snowflakes');
set(gca, 'xtick', [0 2 4 6 8 10 12 14 16 18 20 22]);
xlabel('радиус снежинок (в пикселях)');
ylabel('зависимость суммы пикселей снежинок от радиуса');

Формирование объектов (снежинок) с учетом вычисленного радиуса

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

open5=imopen(claheI, strel('disk', 5));
open6=imopen(claheI, strel('disk', 6));
rad5=imsubtract(open5, open6);
imshow(rad5, []);

В оглавление \ К следующему разделу \ К предыдущему разделу


О получении локальных копий сайтов
  Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro   
E-mail:    
  Информация на сайте была обновлена 11.05.2004 Copyright 2001-2004 SoftLine Co 
Наши баннеры