1   2   3
Ім'я файлу: 7 – Методи та засоби аналізу зображень.pdf
Розширення: pdf
Розмір: 1071кб.
Дата: 23.05.2021
скачати

Харківський національний університет радіоелектроніки
Факультет Електронної та біомедичної інженерії
(назва факультету)
Кафедра Біомедичної інженерії
(назва кафедри)
КОМПЛЕКС НАВЧАЛЬНО-МЕТОДИЧНОГО ЗАБЕЗПЕЧЕННЯ навчальної дисципліни
Методи та засоби аналізу зображень
(назва дисципліни) підготовки магістра спеціальності 163 «Біомедична інженерія» спеціалізації «Біомедична інженерія»
Розробник(и):
О.Г. Аврунін, зав.каф. БМІ, д.т.н., проф.
Схвалено на засіданні кафедри БМІ
Протокол від “29” вересня 2017 р. № 3
Харків 2017

ЗМІСТ
1. Робоча програма……………………………………………………………………………3 2. Підручник…………………………………………………………………………………..11 3. Методичні вказівки до лабораторних робіт……………………………………………...12 4. Методичні вказівки до контрольних питань з дисципліни……………………………..44 5. Екзаменаційні запитання…………………………………………………………………..49

Харківський національний університет радіоелектроніки
Кафедра Біомедичної інженерії
(назва кафедри)
ЗАТВЕРДЖУЮ
Декан факультету ЕЛБІ
А.В. Васянович
(підпис, прізвище, ініціали)
"____" ____________20___ р.
РОБОЧА ПРОГРАМА НАВЧАЛЬНОЇ ДИСЦИПЛІНИ
Методи та засоби аналізу зображень
(шифр і назва навчальної дисципліни) спеціальність 163 – «Біомедична інженерія»
(шифр і назва спеціальності) спеціалізація біомедична інженерія
(назва спеціалізації) факультет електронної та біомедичної інженерії
(назва факультету)
Харків – 2017 р.

Робоча програма Методи та засоби аналізу зображень для студентів
(назва навчальної дисципліни) спеціальністю 163 – «Біомедична інженерія», біомедична інженерія
(шифр і назва спеціальності)
Розробник(и): Аврунін О.Г. завідувач кафедри БМІ, д.т.н., професор
__________________________________________________
__________________________________________________
(прізвище та ініціали авторів, їхні посади, наукові ступені та вчені звання)
Робочу програму схвалено на засіданні кафедри БМІ
Протокол від “31” 08 2017 р. № 1
Завідувач кафедри
____________
О.Г. Аврунін
(підпис) (прізвище та ініціали)
Схвалено методичною комісією факультету ___________________________________
Протокол від “____”______________ 20___ р. № ___
Голова методичної комісії
_______________ ___________________
(підпис) (прізвище та ініціали)

1 ОПИС НАВЧАЛЬНОЇ ДИСЦИПЛІНИ
Характеристика навчальної дисципліни*
Найменування показників
Галузь знань, напрям підготовки, освітньо- кваліфікаційний рівень денна форма навчання заочна форма навчання
Галузь знань
16 – Хімічна та біоінженерія
(шифр і назва)
Кількість кредитів
ЄКТС – 5
Спеціальність
163 – Біомедична інженерія
(шифр і назва)
Цикл дисциплін професійно- практичної підготовки (вибір
ВНЗ)
Модулів – 3
Рік підготовки:
Змістових модулів
– 3 1-й
__-й
Індивідуальних завдань*:
РГЗ та КР _____ курс. пр _______
Семестр
2-й
__-й
Кількість годин
150
Загальна кількість годин – 150 год.
Спеціальність:
163 – «Біомедична інженерія»
___________________________
(шифр і назва)
Аудиторні: 1) лекції, год
28 год.
2) практичні, год
6 год.
3) лабораторні, год
16 год.
4) консультації, год
10 год.
Самостійна робота, год
90 год. в тому числі: 1) РГЗ та КР., год.
2) курсова робота, год
Тижневих годин для денної форми навчання: аудиторних – 3 самостійної роботи студента –
4.5
Освітньо-кваліфікаційний рівень: магістр
(назва ОКР)
Вид контролю: ісп. к.
Примітка.
Співвідношення кількості годин аудиторних занять до загальної кількості годин (%) : для денної форми навчання – 40%; для заочної форми навчання _________.
* Відомості з навчального плану.
** Структурна одиниця дисципліни (складається із змістових модулів). Рекомендована кількість модулів дорівнює кількості контрольних точок.

2 МЕТА І ЗАВДАННЯ НАВЧАЛЬНОЇ ДИСЦИПЛІНИ
Мета: набуття загальної теоретичну та інженерної підготовку в галузі методів аналізу біомедичних зображень, а також набуння базових знань для їх практичного застосування.
Завдання: за результатом вивчення дисципліни студенти повинні: знати: основні властивості цифрових зображень, методи та алгоритми стиснення та сегментації зображень, афінні перетворювання у трьохмірному просторі. вміти: розумітися в характеристиках зображень, використовувати алгоритми сегментації та стиснення зображень, виконувати геометричні перетворювання над об’єктами у трьохмірному просторі, розробляти розрахунково-графічне програмне забезпечення щодо аналізу біомедичних зображень. володіти (перелік сформованих компетенцій): в процесі технічного проектування в спеціалізованої лабораторії, використовуючи ТЗ, визначати алгоритми, що можна використати для аналізу зображення, проводити аналіз зображень шляхом розробки відповідних автоматизованих програмних засобів.
3 ПРОГРАМА НАВЧАЛЬНОЇ ДИСЦИПЛІНИ
Змістовий модуль 1.
Методи сегментації біомедичних зображень за значенням
інтенсивності.
Тема 1.
Введення.
1.1 Предмет, мета і задачі курсу. Побудова програмних засобів для аналізу зображень.
1.2 Сегментація зображень. Класифікація основних методів сегментації.
Тема 2.
Алгоритми сегментації за порогом інтенсивності.
2.1 Алгоритм сегментації за пошуком однорідностей та неоднорідностей яскравості пікселів на зображенні.
2.2 Метод порогової сегментації.
Змістовий модуль 2.
Методи контурної сегментації.
Тема 1. Алгоритми сегментації на основі виділення границь.
1.1 Сегментація зображень на основі пошуку країв та областей.
1.2 Алгоритм водорозділу.
Тема 2. Методи контурної сегментації.
4.1 Алгоритм нормалізованого розрізу графа.
4.2 Алгоритм контурної сегментації.
Змістовий модуль 3. Практичне застосування методів сегментації для аналізу біомедичних зображень.
Тема 1. Сегментація томографічних та рентгенівських знімків.
Тема 2. Сегментація мікроскопічних клінічних зображень.
4 СТРУКТУРА НАВЧАЛЬНОЇ ДИСЦИПЛІНИ
Кількість годин денна форма
Заочна форма у тому числі у тому числі
Назви змістових модулів і тем
Усь- ого Л п лб конс с.р.
Усь- ого л п лб конс с.р.
1 2
3 4
5 6
7 8
9 10 11 12 13
Модуль 1
Змістовий модуль 1. Методи сегментації біомедичних зображень за значенням
інтенсивності.
Тема 1. Введення
12 2
10
Тема 2. Алгоритми сегментації
32 4
2 4
2 20
за порогом інтенсивності.
Разом за зміст. мод. 1 44 6
2 4
2 30
Усього годин за мод. 1 44 6
2 4
2 30
Модуль 2
Змістовий модуль 2.
Методи контурної сегментації
Тема 1.
Алгоритми сегментації на основі виділення границь.
27 4
2 4
2 15
Тема 2. Методи контурної сегментації
21 4
2 15
Разом за зміст. мод. 2 48 8
2 4
4 30
Усього годин за мод. 2 48 8
2 4
4 30
Модуль 3
Змістовий модуль 3.
Практичне застосування методів сегментації для аналізу біомедичних зображень.
Тема 1.
Сегментація томографічних та рентгенівських знімків.
29 6
2 4
2 15
Тема 2.
Сегментація мікроскопічних клінічних зображень.
29 8
4 2
15
Разом за зміст. мод. 3 58 14 2 8
4 30
Усього годин за мод. 3 58 14 2 8
4 30
Усього годин за семестр
150 28 6 16 10 90 5 ТЕМИ ПРАКТИЧНИХ (СЕМІНАРСЬКИХ) ЗАНЯТЬ
Кількість годин

Назва теми денна
Заочна
1
Розвязання задач щодо сегментації біомедичних зображень.
2 2
Розвязання задач щодо сегментації зображень методом к- сердніх
2 3
Розвязання задач щодо перетворення Хафа для детектування прямих на зображенні
Загальна кількість
6 6 ТЕМИ ЛАБОРАТОРНИХ ЗАНЯТЬ
Кількість годин

Назва теми денна заочна
1
Методи автоматичного підбору порогів сегментації.
4 2
Перетворення Хафа для детектування прямих на зображенні.
4 3
Сегментація біомедичних зображень методом к-середніх.
4 4
Детектування особливих точок на зображенні.
4
Загальна кількість
16 7 САМОСТІЙНА РОБОТА
Кількість годин

Назва теми денна заочна
1
Вивчення конспекту лекцій
26 2
Підготовка до практичних занять
6

3
Підготовка до лабораторних робіт
8 4
Виконання аудиторних контрольних робіт
4 5
Вивчення додаткових тем за літературними джерелами:
Методи об’ємної візуалізації (Volume Rendering). Воксельна візуалізація (Voxel rendering). Метод крокуючих кубів
(Marching Cubes) для генерування поверхні об’єкту.
Візуалізація методом відкидання променів (RayCasting).
46
Загальна кількість
90 9. МЕТОДИ КОНТРОЛЮ ТА РЕЙТИНГОВА ОЦІНКА ЗА ДИСЦИПЛІНОЮ
Такі методи, як: усне опитування, тестування, оцінювання виконання творчих завдань та розв’язування задач, тощо. Також поточне оцінювання, модульний контроль.
9.1 Розподіл балів, які отримують студенти (Кількісні критерії оцінювання)
Для оцінювання роботи студента протягом семестру підсумкова рейтингова сем
O
оцінка розраховується як сума оцінок за різні види занять та контрольні заходи.
Вид заняття / контрольний захід
Оцінка сем
O
Лб № 1,2
(6..10)х2=12..20
Пз № 1 6..10
Контрольна робота № 1 12..20
Контрольна точка 1 30..50
Лб № 4,5
(6..10)х2=12..20
Пз № 2,3
(3..5)х2=6..10
Контрольна робота № 2 12..20
Контрольна точка 2 30..50
Всього за семестр
60…..100
Примітка. Для підсумкового контролю у формі заліку та модульного іспиту для оцінювання роботи студента протягом семестру використовують підсумкову рейтингову оцінку п
сем
P
O

. Оцінку за семестр сем
O
обчислюють як суму оцінок за різні види занять та контрольні заходи.
Якщо формою підсумкового контролю для дисципліни є письмовий (комбінований)
іспит, підсумкова оцінка п
P
обчислюється за формулою: п
сем
ісп
0, 6 0, 4
P
O
O




, де сем
O
– оцінка за семестр у 100-бальній системі,
ісп
O
– оцінка за іспит у 100-бальній системі.
Критерії оцінювання роботи студента протягом семестру.
Задовільно, D, E (60-74). Мати мінімум знать і умінь. Відпрацювати та захистити всі лабораторні роботи. Уміти розв’язувати найпростіші задачі.
Добре, С (75-89). Знати основні теми дисципліни. Відпрацювати всі лабораторні роботи. Уміти розв’язувати задачі середньої складності
Відмінно, А, В (90-100). Знати всі теми дисципліни. Відпрацювати та захистити всі лабораторні роботи. Уміти розв’язувати задачі підвищеної складності.
Критерії оцінювання знань та вмінь студента на комбінованому іспиті.
Задовільно, D, E (60-74). Показати необхідний мінімум теоретичних знань. Розв’язати найпростішу задачу.
Добре, С (75-89). Знати головні теми теоретичного матеріалу. Розв'язати задачу середнього рівня складності.

Відмінно, А, В (90-100). Показати повні знання теоретичного матеріалу. Безпомилково розв'язати складну задачу, пояснити та обґрунтувати обраний метод.
Шкала оцінювання: національна та ЄКТС
Оцінка за національною шкалою
Сума балів за всі види навчальної діяльності
Оцінка
ЄКТС для іспиту, курсового проекту (роботи), практики для заліку
96–100
А
90–95
В відмінно
75–89
С
Добре
66–74
D
60–65
Е задовільно зараховано
35–59
FX незадовільно з можливістю повторного складання не зараховано з можливістю повторного складання
0-34
F незадовільно з обов’язковим повторним вивченням дисципліни не зараховано з обов’язковим повторним вивченням дисципліни
11 МЕТОДИЧНЕ ЗАБЕЗПЕЧЕННЯ ТА РЕКОМЕНДОВАНА ЛІТЕРАТУРА
11.1 Базова література
1. Гонсалес Р. Цифровая обработка изображений в среде MATLAB [Електронний ресурс] : пер. с англ. / Р. Вудс, Р. Гонсалес, С. Эддинс. – М. : Техносфера, 2006. – 616 с. –
ISBN 5-94836-092-Х. – djvu / 11,6 Mb.
2. Павлидис Т. Алгоритмы машинной графики и обработки изображений : пер. с англ.
/ Т. Павлидис ; под ред. И. Б. Гуревича. – М. : Радио и связь, 1986. – 399 с. : ил.
3. Бондарев В. Н. Цифровая обработка сигналов: методы и средства : учеб.пособие для вузов / В. Н. Бондарев, Г. Трестер, В. С. Чернега. – 2-е изд. – Харьков : Конус, 2001. – 398 с. : ил. – ISBN 966-7636-14-3. – djvu / 5,36 Mb.
11.2 Допоміжна література
4. Краснов М. DirectX. Графика в проектах Delphi / М. Краснов. – СПб. : БХВ-
Петербург, 2005. – 416 с. : ил. – ISBN 5-94ё57-033-3.
5. Быстрые алгоритмы в цифровой обработке изображений: Преобразования и медианные фильтры : пер. с англ. / Ш. Зохар, Г. Дж. Нуссбаумер, Т. С. Хуанг та ін. ; под ред.
Хуанга Т. С. – М. : Радио и связь, 1984. – 224 с. : ил.
6. Фоли Д. Основы интерактивной машинной графики : пер. с англ., Кн.2 / А. Дэм, Д.
Фоли ; под ред. Ю. М. Баяковского. – М. : Мир, 1985. – 368 с. : ил.
7. Прэтт У. Цифровая обработка изображений : пер. с англ., кн.1 / У. Прэтт. – М. :
Вища школа, 1982. – 310 с. : ил. – djvu / 3,86 Mb.
11.3 Методичні вказівки до різних видів занять

8. Методичні вказівки до практичних занять з дисципліни "Методи та засоби аналізу зображень" для студентів спеціальності "Біомедична інженерія" [Електронний ресурс] /
Упоряд. О.Г. Аврунін – Харків: ХНУРЕ. – 2017.
9. Методичні вказівки до лабораторних робіт з дисципліни "Методи та засоби аналізу зображень для студентів спеціальності "Біомедична інженерія" [Електронний ресурс] /
Упоряд. О.Г. Аврунін – Харків: ХНУРЕ. – 2017.

Посібник
Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде MATLAB
[Електронний ресурс] . - пер. с англ.; Мир цифровой обработки; djvu / 11,6 Mb, М.:
Техносфера, 2006. — 616 с.
Монография предназначена для тех. кто хочет в короткие сроки освоить методы
обработки изображений с использованием пакета MATLAB. Книга разбита на 12 глав,
охватывающих самые важные области обработки изображений: градационные
преобразования, линейную и нелинейную пространственную фильтрацию, вейвлеты.
фильтрацию в частотной области, восстановление, регистрацию, сжатие,
морфологическую обработку; сегментацию, представление и описание областей и границ
изображений, а также распознавание объектов и обработку цветных изображений.
Книга будет полезна всем, кто хочет овладеть практическими навыками работы с
изображениями, особенно специалистам по дистанционному зондированию, цифровому
телевидению, компьютерной микроскопии, системам безопасности, программистам и
дизайнерам.

1
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ
УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ
МЕТОДИЧНІ ВКАЗІВКИ до лабораторних робіт з дисципліни
“МЕТОДИ ТА ЗАСОБИ АНАЛІЗУ ЗОБРАЖЕНЬ ” для студентів усіх форм навчання за спеціальністю 163 «Біомедична інженерія» спеціалізації «Біомедична інженерія»
Електронне видання
ЗАТВЕРДЖЕНО кафедрою «Біомедична інженерія».
Протокол № 3 від 2017 р.
ХАРКІВ 2017

2
Методичні вказівки до самостійної роботи з дисципліни “Методи та засоби аналізу зображень ” для студентів усіх форм навчання за спеціальністю “Біомедична інженерія” спеціалізації «Біомедична інженерія»
[Електронне видання] / Упорядники: О.Г. Аврунін – Харків: ХНУРЕ, 2017. –
32 с.
Упорядники: О.Г. Аврунін
Рецензент:
Т.В. Новсова

3
ЗМІСТ
Вступ ………….…………………………………………………… 4 1 Методи автоматичного підбору порогів сегментації ………… 5 2 Перетворення Хафа для детектування прямих на зображенні 12 3 Сегментація медичних зображень методом К-середніх ………18 4 Детектування особливих точок на зображенні …………………24

4
ВСТУП
Методичні вказівки призначені для проведення лабораторних робіт з курсу «Методи та засоби аналізу зображень». Лабораторні роботи введені в навчальний процес з метою вивчення на практиці різних методів аналізу біомедичних зображень та розробці відповідних програмних засобів в середовищі Borland Delphi 6.0 і 7.0.
Методичні вказівки мають описання 4 лабораторних робіт. Кожний розділ курсу відповідає окремій лаборант роботі, яка складається з таких підрозділів: мета роботи, підготовка до виконання роботи, порядок виконання роботи, зміст звіту, контрольні питання.
Для виконання лабораторних робіт студент повинен володіти основними навиками програмування в середовищі Delphi та Object Pascal.
Також студент повинен продемонструвати творчий підхід до розробки модулів програмного забезпечення, алгоритмічне мислення.
Виконання кожної лабораторної роботи включає наступні етапи:
- отримання завдання;
- вивення теоретичного матеріалу з теми лабораторної роботи;
- розробка алритму програми;
- написання програмного засобу;
- перевірка правильності виконання завдання;
- оформлення звіту та захист лабораторної роботи.
Обробка біомедичних зображень та даних є найбільш інформативним носієм діагностичної інформації. На сучасному етапі розвитку різних програмних засобів розробка та більш глибокий аналіз зображень є важливою та актуальною задачею в області біомедичної інженерії.

5 1 МЕТОДИ АВТОМАТИЧНОГО ПІДБОРУ ПОРОГІВ СЕГМЕНТАЦІЇ
1.1 Мета роботи
Ознайомитися з методами автоматичного підбору порогів сегментації для біомедичних зображень. Реалізувати програмне забезпечення, котре дало б змогу в автоматичному режимі обирати пороги сегментації, а також сегментувати біомедичні зображення.
1.2 Підготовка до виконання роботи
Під час підготовки до виконання роботи слід згадати матеріал, котрий стосується мови програмування Object Pascal – базової мови програмування
Delphi.
Для сегментації зображень дуже часто використовується поняття як яскравість пікселів. Найбільш простим є задати порог сегментації, котрий буде виражати, які пікселі зображення слід вважати фоном, а які досліджуваним об’єктом.
Вибір порогу має свої складнощі, в багатьох випадках він є спеціалізованим для конкретної ситуації в залежності від природи зображення і т.д. Метод шукає поріг сегментації таким чином, щоб мінімізувати дисперсію всередині класу.
Метод збалансованного порогового відсічення гістограми також побудований на припущенні, що існує два класи пікселів – фону та об’єкту.
Алгоритм починається з середнього значення яскравості, на кожному кроці вираховується вага пікселів зліва та справа гістограми. Видаляється стовбчик в гістограмі з того боку де вага переважає. Перераховується центральне значення яскравості. Це відбувається до тих пір, поки не лишиться один стовбчик в гістограмі. Це значення й використовується як порогове.
1.3 Порядок виконання роботи
1.3.1 Запустити програму Delphi
1.3.2 На диску у папці зі своїм прізвищем створити нову папку Lab1, у якій зберегти створюваний проект. У цій же папці зберегти медичні зображення видані викладачем.
1.3.3 У вікні Form1 розмістити 4 компоненти типу TImage, 1 компонент типу TButton та 1 компонент типу TOpenPictureDialog. Для перших трьох зображень вставновити властивості Stretch та Proportional в True. Для четвертого компоненту TImage лише властивість Strecth встановити як True.
Вигляд інтерфейсу представлено на рис. 1.1

6
Рисунок 1.1 – Варіант вікна під час проектування інтерфейсу програми
1.3.5 Перейти в вікно редагування коду (F12). В класі TForm1 в приватній секції об’явити поле FHistogram, що буде містити сірошкальну гістограму зображення.
FHist: Array [0..255]of Integer;
В приватній секції також об’явити наступні методи: procedure CalculateHist(); function GetOtsuThreshold(): Integer; function GetBalansedThresold(): Integer;
Скориставшись швидкими клавішами Ctrl+Shift+C створити пусті реалізації цих класів.
1.3.6
Реалізувати алгоритм побудови сірошкальної гістограми зображення: procedure TForm1.CalculateHist; var i,j,w,h: Integer; c: TColor; begin for i:=0 to 255 do FHist[i] := 0; w := Image1.Picture.Bitmap.Width; h := Image1.Picture.Bitmap.Height; for j:=0 to h-1 do begin for i:=0 to w-1 do begin

7 c := Image1.Picture.Bitmap.Canvas.Pixels[i,j];
Inc(FHist[Trunc(0.3*GetRValue(c)+0.6*GetGValue(c)+0.1*GetBValue(c))]); end; end; end;
1.3.7 Реалізувати алгоритм пошуку оптимального порогу методом сбалансованого порогового відсічення гістограми: function TForm1.GetBalansedThresold: Integer; var size, threshold_m, threshold_start, threshold_finish: Integer; weight_left, weight_right: Integer; i: Integer; begin threshold_start := 0; size := 256; threshold_finish := size - 1; threshold_m := (threshold_finish + threshold_start) div 2; weight_left := 0; for i:=threshold_start to threshold_m do weight_left := weight_left + FHist[i]; weight_right := 0; for i:=threshold_m+1 to threshold_finish do weight_right := weight_right + FHist[i]; while threshold_start<=threshold_finish do begin if weight_right>weight_left then begin weight_right := weight_right - FHist[threshold_finish];
Dec(threshold_finish); if ((threshold_finish + threshold_start) div 2) < threshold_m then begin

8 weight_right := weight_right + FHist[threshold_m]; weight_left := weight_left - FHist[threshold_m];
Dec(threshold_m); end; end else begin weight_left := weight_left - FHist[threshold_start];
Inc(threshold_start); if ((threshold_finish + threshold_start) div 2) > threshold_m then begin weight_left := weight_left - FHist[threshold_m+1]; weight_right := weight_right - FHist[threshold_m+1];
Inc(threshold_m); end; end; end;
Result := threshold_m; end;
1.3.8 Реалізувати алгоритм пошуку оптимального порогу методом Оцу: function TForm1.GetOtsuThreshold: Integer; var maxvariance,variance,weight1,weight2,mean1,mean2 : Double; resThreshold: Integer; currThreshold: Integer; i,size: Integer; begin size := 255; currThreshold := 1; resThreshold := currThreshold; weight1 := 0; for i:=0 to currThreshold do weight1 := weight1 + FHist[i]; weight2 := 0; for i:=currThreshold to size-1 do weight2 := weight2 + FHist[i]; mean1 := 0; for i:=0 to currThreshold do begin mean1 := mean1 + FHist[i]*i; end;

9 if weight1<>0 then mean1 := mean1/weight1 else mean1 := 0; mean2 := 0; for i:=currThreshold to size-1 do begin mean2 := mean2 + FHist[i]*i; end; if weight2<>0 then mean2 := mean2/weight2 else mean2 := 0; maxvariance := (mean1-mean2)*(mean1-mean2)*weight1*weight2; for currThreshold:=2 to size-2 do begin weight1 := 0; for i:=0 to currThreshold do weight1 := weight1 + FHist[i]; weight2 := 0; for i:=currThreshold to size-1 do weight2 := weight2 + FHist[i]; mean1 := 0; for i:=0 to currThreshold do begin mean1 := mean1 + FHist[i]*i; end; if weight1<>0 then mean1 := mean1/weight1 else mean1 := 0; mean2 := 0; for i:=currThreshold to size-1 do begin mean2 := mean2 + FHist[i]*i; end; if weight2<>0 then mean2 := mean2/weight2 else mean2 := 0; variance := (mean1-mean2)*(mean1-mean2)*weight1*weight2; if variance>maxvariance then

10 begin resThreshold := currThreshold; maxvariance := variance; end; end;
Result := resThreshold; end;
1.3.9 Для кнопки Button1 написати обробник події: procedure TForm1.Button1Click(Sender: TObject); const
HIST_HEIGHT = 100; var thresholdOtsu: Integer; thresholdBalanced:Integer; max,i,j: Integer; w,h: Integer; intensity: Byte; c: TColor; begin if not OpenPictureDialog1.Execute then Exit;
Image1.Picture.Bitmap.LoadFromFile(OpenPictureDialog1.FileName);
CalculateHist(); thresholdOtsu := GetOtsuThreshold; thresholdBalanced := GetBalansedThresold;
Image4.Picture.Bitmap.Width := 256;
Image4.Picture.Bitmap.Height := HIST_HEIGHT;
Image4.Picture.Bitmap.Canvas.Brush.Color := clWhite;
Image4.Picture.Bitmap.Canvas.FillRect(Rect(0,0,256,HIST_HEIGHT)); max := FHist[0]; for i:=1 to 255 do begin if max Image4.Picture.Bitmap.Canvas.Pen.Color := clBlack; for i:=0 to 255 do begin
Image4.Picture.Bitmap.Canvas.MoveTo(i,HIST_HEIGHT);
Image4.Picture.Bitmap.Canvas.LineTo(i,Trunc(HIST_HEIGHT-
HIST_HEIGHT*(FHist[i]/max))); end;
Image4.Picture.Bitmap.Canvas.Pen.Color := clGreen;
Image4.Picture.Bitmap.Canvas.MoveTo(thresholdOtsu,HIST_HEIGHT);

11
Image4.Picture.Bitmap.Canvas.LineTo(thresholdOtsu,0);
Image4.Picture.Bitmap.Canvas.Pen.Color := clBlue;
Image4.Picture.Bitmap.Canvas.MoveTo(thresholdBalanced,HIST_HEIGHT);
Image4.Picture.Bitmap.Canvas.LineTo(thresholdBalanced,0); w := Image1.Picture.Bitmap.Width; h := Image1.Picture.Bitmap.Width;
Image2.Picture.Bitmap.Width := w;
Image2.Picture.Bitmap.Height := h;
Image3.Picture.Bitmap.Width := w;
Image3.Picture.Bitmap.Height := h; for j:=0 to h-1 do begin for i:=0 to w-1 do begin c := Image1.Picture.Bitmap.Canvas.Pixels[i,j]; intensity :=
Trunc(0.3*GetRValue(c) + 0.6*GetGValue(c) + 0.1*GetBValue(c)); if intensity Image2.Picture.Bitmap.Canvas.Pixels[i,j] := clBlack else
Image2.Picture.Bitmap.Canvas.Pixels[i,j] := clWhite; if intensity Image3.Picture.Bitmap.Canvas.Pixels[i,j] := clBlack else
Image3.Picture.Bitmap.Canvas.Pixels[i,j] := clWhite; end; end; end;
1.3.10 Запустити программу на виконання. Для всіх зображень наданих викладачем спостерігати вибір порогу сегментації. Приклад роботи програми зображено на рис. 1.2.
Рисунок 1.2 – Результат роботи програми

12 1.4 Зміст звіту
У звіті наводять:
– назву роботи;
– мету роботи;
– зображення інтерфейса програми;
– результати роботи програми для різних зображень
– лістинг програми;
– висновки.
1.5 Контрольні питання


  1   2   3

скачати

© Усі права захищені
написати до нас