Яркость пикселя
|
Пользователь Сообщения: 74 |
Профиль | Сайт | Отправить PM | Цитировать Как нарисовать в делфи гистограмму зависимости количества пикселов от яркости для любой картинки, которую можно поместить в Image1?
В фотошопе это находиться в Image>Histograme. Мне надо сделать что-то наподобие этого. Народ, поделитесь идеями |
|
------- Отправлено: 00:34, 21-05-2005 |
Старожил Сообщения: 401
|
Профиль | Отправить PM | Цитировать выкопал лабу (кому-то из друзей делал) в свое время было написано для Turbo Pascal 7.0 for DOS
(в то время Delphi в институтах не учили ) program Histogram; uses Crt; const xmax = 100; ymax = 100; {размер картинки} colormax = 65535; {для 16-битной картинки} histomax = 640; {количество столбцов гистограммы, выводимой в режиме 640х480} var image: array[1..xmax, 1..ymax] of word; {для 16-битной картинки} h: array[1..histomax] of integer; x, y: integer; a: real; k: real; begin {здесь загрузка картинки в массив image} k := histomax / colormax; {коэффициент пересчета из цвета в гистограмму} for x := 1 to xmax do begin for y := 1 to ymax do begin a := image[x, y] * k; {приводим цвет к столбцам, здесь же можно превратить "цвет" в "яркость"} Inc(h[round(a)]); {прибавляем к соотв. столбцу} end; end; {здесь прорисовка результатов} end. или вам нужен был именно алгоритм превращения номера цвета в яркость?.. |
------- Последний раз редактировалось aESThete, 21-05-2005 в 09:54. Отправлено: 09:41, 21-05-2005 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать >> гистограмму зависимости количества пикселов от яркости для любой картинки
Сбивает с толку слово "зависимости". Скорее "распределения", да? Яркость определяется компонентами R, G, B. Возможно, каждая компонента даёт не треть, а какое-то (пропорциональное) количество к яркости - тут я не очень большой знаток. Определяем всю шкалу как 0 - 255*3. Делим её, скажем, на 100 частей. В пределах одного процента получится 7.68 единицы. делаем массив из 100 ячеек, прогоняем для каждой точки картинки h[((R+G+B)*100)/768)]++; Ну а потом надо просто отстроить график. Кстати, компонента A (прозрачность) также может влиять на яркость, наверное... |
Отправлено: 23:45, 29-05-2005 | #3 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Не работает функциональная кнопка яркость (+/-) на Sony VAIO | Petya V4sechkin | Ноутбуки | 313 | 23-01-2022 11:01 | |
Debian/Ubuntu - [решено] Контролировать яркость экрана | Artem-Samsung | Общий по Linux | 7 | 15-11-2010 16:37 | |
Как найти максимальные и минимальные координаты искомого пикселя | Не флужу | AutoIt | 3 | 16-08-2009 03:08 | |
Разное - Яркость монитора | mr.crowley999 | Microsoft Windows 7 | 2 | 19-05-2009 22:06 | |
Как узнать размер пикселя? | SASHA 333 | Программирование и базы данных | 3 | 20-03-2005 20:19 |
|