![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте. Помогите вычислить средний цвет блока по заданию:
" Цикл перебора по всем блокам входной картинки (размер блока k*k пикселей). Вычислить средний цвет блока C sr = (1/(k sqr 2)) * Ʃ (где i= от 1 до k)*Ʃ (где j= от 1 до k)*C i,j , где каждый C i,j и C sr - вектор (red, green, blue) компонентов цветов: красного, зелёного и синего соответственно". Нужно это представить в виде кода программы в Delphi 7. Заранее большое спасибо. ) |
#2
|
||||
|
||||
![]() когда то делал гауссово размытие.
level это то же что и k Код:
kof:=1/(sqr(level)); for i:=0 to Image.width do for j:=0 to image.height do begin r:=0; g:=0; b:=0; for ii:=-level to level do for jj:=-level to level do begin ik:=i+ii; jk:=j+jj; if (ik>=0)and (jk>=0) and (ik<=image.width)and (jk<=image.height) then begin r:=r+image.texture[jk,ik].R; g:=g+image.texture[jk,ik].g; b:=b+image.texture[jk,ik].b; end; end; image.texture[j,i].R:=round(r*kof); image.texture[j,i].g:=round(g*kof); image.texture[j,i].b:=round(b*kof); end; Последний раз редактировалось Pilot_Red, 24.03.2011 в 18:44. |