МІНІСТЕРСТВО ОСВІТИ І НАУКИ РОСІЙСЬКОЇ ФЕДЕРАЦІЇ
Федеральне державне автономне освітня установа вищої професійної освіти
САНКТ-Петербурзький державний університет аерокосмічного приладобудування
Робота з BMP - зображеннями
по курсу: Основи мультимедіатехнологій
Санкт-Петербург 2 015
. Мета роботи
Написати програму для обробки зображення, що виконує функції:
. завантажити інтерфейс зображенням формату BMP;
. здійснити відображення зображення по вертикалі і горизонталі;
. застосувати до зображення чорно-білий фільтр;
. застосувати згладжує фільтр і фільтр підкреслення кордонів;
. а також один фільтр за бажанням (Медіанний фільтр).
інтерфейс формат зображення фільтр
2. Формалізація
Для виконання завдання скористаємося середовищем розробки MS Visual C #. (від англ. Bitmap Picture) - формат зберігання растрових зображень.
При відкритті зображення розмір поля для відображення підбирається таким чином, щоб картинка не була обрізана і розтягнута, тобто були дотримані пропорції. Так само на цьому етапі дані про бітовій карті зображення поміщаємо в 4 змінні:
bmp1 - відповідає за відображення вихідного зображення,
bmp2 - відповідає за відображення результуючого зображення,
bmp3 - допоміжна карта для більш коректної обробки зображення.
bmp4 - допоміжна карта для більш коректної обробки зображення.
Навіщо потрібні 2 допоміжні карти?
На bmp3 не застосовуються видалення/відновлення колірних каналів, а так само чорно-білі режими. Мінлива bmp3 необхідна нам для відновлення колірних каналів, у разі зняття галочок з певних елементів із збереженням використаних фільтрів
На bmp4 не застосовуються чорно-білі режими. Мінлива bmp4 служить для коректної роботи видалення/відновлення каналів і включенні/виключенні чорно-білих режимів.
Сглаживающий фільтр
Призначення: Згладжування - технологія, використовувана для усунення шумів або зубчастості raquo ;, що виникає на краях об'єктів виводяться на зображенні.
Грунтується на принципі: Обробляється робоче вікно зображення двовимірної матрицею (2n + 1) x (2n + 1) ( + 1 - тому що матриця не повинна бути розміром менше 3х3), n - ціле позитивне число, яке визначається коефіцієнт посилення згладжування (У нашому випадку n=1, тобто матриця згладжування 3х3). Знаходиться середнє значення матриці по кожному колірному каналу окремо, виключаючи значення колірного каналу центрального пікселя, за формулою:
(1)
Де, i - індекс рядка матриці,
j - індекс стовпця матриці,
C - значення колірного RGB-канала,
n - кількість елементів як в стовпці, так і в рядку матриці.
Отримане значення і буде новим значенням колірного каналу центрального пікселя матриці (для матриці 3х3 це буде елемент P 1,1, для матриці 5х5 - Р 2,2 і т.д.)
Примітка: в нашому варіанті пікселі, що знаходяться по краях зображення, не обробляються. Щоб обійти даний ефект можна:
) При штучному зашумлення межі зображення умисно не зашумлять.
) Обробляти якимось чином окремий випадок крайніх точок (наприклад, для кута зображення при апертурі 3 підсумовувати не 9 точок, а 4, і результат відправляти в цей самий кут або значення крайніх точок дублювати до заповнення квадратної матриці потрібних розмірів).
Підкреслення кордонів
Призначення: підкреслення меж служить для відділення ділянок різного тонадруг від одного темною або світлою лінією.
Грунтується на принципі: Обробляється робоче вікно зображення двовимірної матрицею (2n + 1) x (2n + 1) ( + 1 - тому що матриця не повинна бути розміром менше 3х3), n - ціле позитивне число, яке визначається коефіцієнт посилення підкреслення (У нашому випадку n=1, тобто матриця підкреслення 3х3). Знаходиться середнє значення матриці по кожному колірному каналу окремо за формулою:
(2)
Де, i - індекс ря...