Имя пользователя:
Пароль:
 

Название темы: Яркость пикселя
Показать сообщение отдельно

Старожил


Сообщения: 401
Благодарности: 10

Профиль | Отправить 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.
предполагается что картинка - 16 бит градаций серого, т.е. это только общая идея, без выделения яркости и разбивки на цвета...
или вам нужен был именно алгоритм превращения номера цвета в яркость?..

-------
Успехов.


Последний раз редактировалось aESThete, 21-05-2005 в 09:54.


Отправлено: 09:41, 21-05-2005 | #2

Название темы: Яркость пикселя