Вы находитесь на странице: 1из 13

6.

АНАЛИЗ АЛГОРИТМОВ ОБРАБОТКИ/СЖАТИЯ


ИЗОБРАЖЕНИЙ В СРЕДЕ PICLAB
6.1. Общие сведения о программе PicLab
Для анализа, разработки и оптимизации различных алгоритмов
цифровой обработки изображений, а также для проведения
лабораторных работ по соответствующему курсу для студентов
физического факультета ЯрГУ имени П.Г. Демидова, обучающихся по
специальности «Радиофизика и электроника», разработана
исследовательская среда PicLab (Picture Laboratory). В ее основу
положены исследования, проводившиеся на протяжении нескольких лет
в лаборатории «Цифровые цепи и сигналы» ЯрГУ.
Инструменты PicLab позволяют:
− удалять шум из изображений с помощью имеющихся фильтров;
− изменять размеры и поворачивать изображения;
− анализировать статистические характеристики изображений;
− оценивать качество работы алгоритмов по ряду предложенных
критериев;
− автоматизировать проведение исследований;
− экспортировать результаты исследований в виде таблиц
Microsoft Word или Microsoft Excel;
− получать наглядное представление о двумерном спектре
изображения.
Рекомендуемые параметры компьютера для работы в PicLab:
− 50 Мб свободного дискового пространства;
− 256 Мб и более оперативной памяти;
− операционная система Microsoft Windows.
Установка программы PicLab не имеет специфических
особенностей и подобна установке других программных продуктов.
Нужно запустить программу установки (exe-файл) и следовать советам
мастера установки программ.
На официальном сайте поддержки программы (www.piclab.ru)
можно бесплатно скачать текущую полнофункциональную версию
программы PicLab.

6.2. Интерфейс программы


6.2.1. Основное окно
После запуска PicLab перед вами появится основное окно среды.
Оно содержит рабочую область, строку меню, строку состояния и
панель инструментов. Также здесь можно увидеть окно истории,
гистограмму и статистические характеристики изображения. На рис. 6.1
показаны элементы основного окна среды PicLab:
1. Обрабатываемое изображение.
2. Строка меню.
3. Панель инструментов.
4. Строка состояния.
5. Окно История (History).
6. Окно Информация (Image info).

6.2.2. Тестовые изображения


В среду PicLab помимо множества алгоритмов обработки
изображений, моделей шумов, алгоритмов сжатия и средств
автоматизации исследований входит набор тестовых изображений,
среди которых наиболее известным является изображение «Lenna»
(рис. 6.2).

Рис. 6.1. Рабочее окно среды PicLab

Все тестовые изображения представлены в градациях серого и


имеют размер 512×512 пикселей. PicLab позволяет также обрабатывать
любые 8-битные (в градациях серого) и 24-битные (цветные)
изображения в форматах BMP и JPEG.
На рис. 6.2 тестовые изображения 2-10 выстроены в порядке от
наиболее простого для обработки (не содержащего мелких деталей) –
«Peppers» до наиболее сложного (много мелких деталей) – «Baboon».
Важными отличительными особенностями изображений также
являются:
− наличие высокочастотной помехи на изображении «Elaine», в
этом можно убедиться, анализируя его спектр;
− наличие правильных геометрических деталей на изображении
«Barbara» (детали одежды, рисунок на скатерти и др.);
− наличие важных для восприятия мелких деталей на однородном
фоне – изображение «Boat» (мачты корабля).

6.2.3. Команды основного меню


File (Файл)
Команды меню File (рис. 6.3) предназначены для выполнения
общих операций с файлами. С их помощью можно открыть
изображение (Open image), сохранить файл (Save image as…), закрыть
изображение (Close image), начать работу анализатора алгоритмов
(Start analyzer), изменить настройки (Preferences…) и выйти из
программы (Exit).

Edit (Правка)
Меню Edit включает в себя такие операции, как отмена
последнего действия (Undo) и указание нового изображения в качестве
оригинала (Set new origin).

Image (Изображение)
Команды меню Image (рис. 6.4) предназначены для изменения
изображений. Меню включает в себя такие операции, как зеркальное
отражение (Flip) по вертикали (Flip Vertical) и по горизонтали (Flip
Horizontal), поворот изображения (Rotate) на углы кратные 90 градусам
(Rotate 90 CW, Rotate 90 CCW, Rotate 180). Также здесь находятся
команды изменения размеров изображения (Resize), обесцвечивания
(Desaturate) и инверсии (Invert).
1) Lenna

2) Peppers 3) Elaine 4) Barbara

5) Tank1 6) Tank2 7) Boat

8) Stream and Bridge 9) San Diego 10) Baboon


Рис. 6.2. Набор тестовых изображений среды PicLab
Рис. 6.3. Меню File

а) б)

Рис. 6.4. Меню Image: а) подменю отображений; б) подменю поворот

Filters (Фильтры)
Меню Filters (рис. 6.5) содержит набор используемых в программе
PicLab фильтров. Фильтр – это определенный алгоритм, по которому
преобразуется изображение для улучшения его визуальных свойств или
выделения информации. В программе имеются следующие группы
фильтров.

Рис. 6.5. Меню Filters


Математические фильтры (Mathematics):
− фильтр Лапласа (Laplasian Filter);
− градиентный фильтр (Gradient).
Линейные фильтры (Linear Filters):
− фильтр Винера (Wiener Filter).
Meaning Filters (Усредняющие фильтры):
− арифметическое усреднение (Arithmetic Mean);
− геометрическое усреднение (Geometric Mean);
− гармоническое усреднение (Harmonic Mean);
− контргармоническое усреднение (Contraharmonic Mean).
Максимально-минимальные фильтры (Max-Min Filters):
− минимальный фильтр (Minimum Filter);
− максимальный фильтр (Maximum Filter).
− максимально-минимальный фильтр (Max-Min Filter).
Медианные фильтры (Median Filters):
− медианный фильтр (Median Filter);
− адаптивный медианный фильтр (Adaptive Median Filter).
Медианные фильтры с детектором (Detector Median Filters):
− медианный фильтр с простым детектором (Foolish Detector
Median Filter);
− прогрессивный переключающийся медианный фильтр
(PSM Filter);
− адаптивный прогрессивный переключающийся медианный
фильтр (APSM Filter).
Латеральные фильтры (Lateral Filters):
− билатеральный (Bilateral);
− трилатеральный (Trilateral).
Фильтры, находящиеся на момент выхода этой книги в стадии
разработки и тестирования, находятся в группе Смешанные фильтры
(Misc Filters).

Noises (Шумы)
Модели шумов вынесены в отдельное меню Noises (рис. 6.6). Они
используются для внесения искажений в изображения.
Аддитивные шумы (Additive Noises):
− гауссов шум (Gaussian Noise);
− экспоненциальный шум (Exponential Noise);
− шум Релея (Rayleigh Noise).
Мультипликативные шумы (Multiplicative Noises):
− спекл-шум (Speckle Noise).
Рис. 6.6. Меню Noises

Импульсные шумы (Impulse Noises):


− шум «соль-и-перец» (Salt-and-Pepper Noise);
− шум «соль» (Salt Noise);
− шум «перец» (Pepper Noise);
− импульсный шум со случайным значением импульсов,
равномерное распределение (Random Valued (uniform) Noise);
− импульсный шум со случайным значением импульсов,
гауссовское распределение (Random Valued (gaussian) Noise).
Полосовой шум (Streaks Noise).

Compression (Сжатие)
В меню Compression находятся алгоритмы сжатия изображений.
На момент опубликования книги в среде PicLab представлен только
алгоритм JPEG. В ближайших планах разработчиков добавление
описанных выше алгоритмов JPEG2000 и SPIHT.
View (Вид)
В меню View (рис. 6.7) можно увеличить (Zoom in) или
уменьшить (Zoom out) масштаб изображения, также здесь находится
команда включения измерительных линеек (Rulers).
Кроме того, в этом меню представлены команды отображения
пространственной (Spatial domain) и частотной областей (Frequency
domain), которые позволяют переключать вид обрабатываемого
изображения (рис. 6.8).

Window (Окно)
Команды меню Window позволяют управлять инструментальными
окнами истории (History) и информации об изображении (Image info).
Если напротив любого из этих пунктов стоит галочка, то панель
находится в области рабочего пространства, если нет – она скрыта.
Рис. 6.7. Меню View

а) б)

Рис. 6.8. Изображение «Elaine»: а) пространственная область;


б) частотная область с заметными на ней высокочастотными помехами

Help (Помощь)
Команды меню Help предназначены для выведения справочной
информации о программе PicLab.

6.2.4. Панель инструментов


Часто используемые команды основного меню продублированы на
Панели инструментов (рис. 6.9).
открыть увеличить отмена операции

сохранить уменьшить начать анализ

Рис. 6.9. Панель инструментов


6.2.5. Окно History
Все выполняемые действия фиксируются в окне History
(рис. 6.10), благодаря чему в произвольный момент времени можно
вернуться в любое состояние изображения, включая оригинал (напротив
него стоит красная стрелка).

Рис. 6.10. Окно History

Кроме того, в этом окне отражены оценки качества изображения


PSNR (пиковое отношение сигнал/шум, ПОСШ) и IQ (универсальный
индекс качества изображения, УИК), а также Time (время, затраченное
на его обработку). Эта информация может быть экспортирована в
Microsoft Word или Microsoft Excel, для этого в пределах окна History
следует нажать правую кнопку мыши.

6.2.6. Окно Image info


Окно Image info (рис. 6.11) позволяет получать основные сведения
об обрабатываемом изображении. В окне находятся несколько вкладок:
Основные свойства (General Properties):
− ширина (Width);
− высота (Height);
− размер (Raw size);
− число каналов (Channels count).
Статистические свойства (Statistics):
− среднее значение (Mean);
− дисперсия (Variance).
Рис. 6.11. Окно Image info

Измеренные величины (Measures):


− СКО (MSE),
− ПОСШ (PSNR),
− УИК (IQ),
− время обработки (Time).

6.3. Пример проведения исследований в среде PicLab


Предположим, необходимо проанализировать качество удаления
из изображения импульсного шума «соль-и-перец» (вероятность
искажения пикселя 0,40) двумя фильтрами:
− адаптивным прогрессивным переключающимся медианным
фильтром (размер окна детектора 5×5, размер окна
фильтра 3×3);
− адаптивным медианным фильтром (максимальный размер окна
22×22, рекурсия).
В качестве тестового можно использовать полутоновое
изображение «Lenna» размером 512×512 пикселей.
Ниже представлена последовательность действий для проведения
эксперимента.
1. Запустить среду PicLab, используя ярлык на рабочем столе или
меню «Пуск».
2. Открыть изображение командой File ► Open Image или нажать
соответствующую кнопку на панели инструментов. При этом появится
диалоговое окно Open Image (рис. 6.12). Следует выбрать изображение
«Lenna» (тестовые изображения находятся в папке
C:\Program Files\PicLab\Samples) и нажать кнопку Открыть. При
выделении файла изображения в диалоговом окне справа появляется его
миниатюра.
Рис. 6.12. Диалоговое окно Open Image

3. Выбрать модель шума в меню Noises ► Impulse Noise ► Salt-


and-Pepper Noise. В открывшемся диалоговом окне нужно установить
вероятность искажения пикселя (Noise percent), равным 0,40 (рис. 6.13).
При установленной галочке Предварительный просмотр (Full
Preview) будет видно, как шум действует на все изображение.
4. Провести обработку зашумленного изображения выбранными
фильтрами:

Рис. 6.13. Установка параметров шума

− выберем адаптивный прогрессивный переключающийся


медианный фильтр (Filters ► Detector Median Filters ► APSM
Filter) с параметрами: размер окна детектора (Detector window
size) – 5, размер окна фильтра (Filter window size)
– 3 (рис. 6.14а);
− вернемся с помощью панели History к изображению с шумом
«соль-и-перец» и используем адаптивный медианный фильтр
(Filters ► Median Filters ► Adaptive Median Filter) с размером
окна (Window size) – 22 и установленным флажком
Рекурсивное выполнение (Recursive executing) (рис. 6.14б).
5. Анализ полученных результатов. Для этого используется окно
History (рис. 6.15). Можно сравнить параметры ПОСШ (PSNR), УИК
(IQ) и время (Time), затраченное на обработку изображения, разными
фильтрами.
Двигаясь по списку преобразований (окно History), можно
визуально оценить изображение до и после воздействия фильтров.
Можно видеть, что адаптивный переключающийся медианный
фильтр превосходит адаптивный медианный фильтр для заданной
степени зашумления по всем критериям.
В среде PicLab предусмотрена возможность автоматического
построения экспериментальных зависимостей поведения различных
фильтров при обработке одного и того же изображения, искаженного
некоторым набором степеней зашумления (рис. 6.16). Для проведения
подобного эксперимента понадобится:
1. Запустить анализатор алгоритмов File ► Start Analyzer.
2. Выбрать искажение, в роли которого могут выступать модели
шумов или, например, алгоритмы сжатия изображений.

а) б)

Рис. 6.14. Установка параметров фильтров APSM Filter и Adaptive Median Filter
Рис. 6.15. Окно History после проведения эксперимента

3. Выбрать параметр искажения, который будет меняться в процессе


эксперимента, задать пределы изменения параметра и количество
шагов.
4. Задать оставшиеся параметры искажения.
5. Выбрать один или несколько алгоритмов фильтрации и задать их
параметры.
6. Выбрать критерий (ПОСШ, СКО или др.).
7. Запустить эксперимент.

В результате проведения эксперимента будет получена


необходимая зависимость. Результат эксперимента можно также
экспортировать в Microsoft Word или Microsoft Excel.

Рис. 6.16. Окно Analyzer после проведения эксперимента