Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как правильно менять увеличивать резкость изображения [D7, WinXP]


dimon_programmer ©   (2004-05-09 13:12:00) 

Я пробую менять резкость битмапа по вот такому алгоритму:
1). Для каждого цветового канала (24-битный битмап) для каждого пикселя я
нахожу сумму значений соседей, затем делю на их количество(8)-
получаю среднее значение окружающего цвета.
2). Нахожу  разность между центральным пикселем и полученным средним
значением.
3). Умножаю эту разность на некий K - больше 1 для увеличения контраста.
4). Прибавляю получившееся значение к значению цвета центрального пикселя
Получается, что "темные" по отношению к соседям становятся темнее, "светлые" -
светлее.
Но увеличения резкости вроде как не происходит, и каким - то образом
прилично возрастает яркость. Что я делаю не так ? - помогите!!!


ma5ter   (2004-05-31 13:20:00) [1]

Вообще то резкость (контрастность) изображения это характеристика отличия соседних пикселей друг от друга. Соответственно яркость - интенсивность точки. Таким образом для изменения яркости добавляем/уменьшаем значение интенсивности на дельту, а контрастность - умножаем на некий коэффициент больше/меньше 1. Все это делается по каждому цветовому каналу в отдельности и сводится воедино.

Или я не прав?


Мимо проходил   (2004-05-10 10:48:00) [2]

Однозначно, не факт.


Serzh ML   (2004-05-09 13:35:00) [3]

я делал проще, (хотя не факт что правильно), цвет с яркостью > 128 становиться ещё ярче, а с яркостью < 128 ещё темнее.


Наверх

Титульная страница Поиск, карта сайта Написать письмо