C++ Bc. 46: Porovnání verzí
mBez shrnutí editace |
mBez shrnutí editace |
||
Řádek 1: | Řádek 1: | ||
Napište funkci pro vyhlazení rastrových dat, uložených v (celočíselné) matici s hodnotami 0 až 127. Funkce pro každý pixel (prvek matice) vypočte novou hodnotu jako vážený aritmetický průměr daného pixelu s váhou p a všech sousedních pixelů s váhou 1, kde váha p je dána počtem sousedů. | |||
Například pro vstupní matici M dimenze 4x5 s prvky | |||
<math>\begin{pmatrix} | |||
11 & 12 & 13 & 14 & 15 \\ | |||
21 & 22 & 23 & 24 & 25 \\ | |||
31 & 32 & 33 & 34 & 35 \\ | |||
41 & 42 & 43 & 44 & 45 \\ | |||
\end{pmatrix} \Rightarrow | |||
\begin{pmatrix} | |||
15 & 15 & 16 & 17 & 18 \\ | |||
21 & 22 & 23 & 24 & 25 \\ | |||
31 & 32 & 33 & 34 & 35 \\ | |||
38 & 39 & 40 & 41 & 41 \\ | |||
\end{pmatrix}</math> | |||
je vyhlazená hodnot prvku <math>n_{11}</math> (tři sousedi) rovna | |||
<math> n_{11} = ( 3\times11 + 12 + 21 + 22 ) / 6 = 15</math> (zaokrouhleno 14.667) | |||
podobně | |||
<math> n_{45} = ( 3\times45 + 34 + 35 + 44 ) / 6 = 41</math> (zaokrouhleno 41.333) | |||
pro prvek m_22 (osm sousedů) | |||
<math>n_{22} = (8\times22 + 11+12+13 + 21+23 + 31+32+33) / 16 = 22</math> | |||
Oveřte pro uvedený příklad. | |||
[ [[C++ Bc. | Zpět]] | [[C++ Bc. 46 cpp | C++]] | [[C++ Bc. 47|Další]] ] | [ [[C++ Bc. | Zpět]] | [[C++ Bc. 46 cpp | C++]] | [[C++ Bc. 47|Další]] ] | ||
[[Kategorie:Programování]] | [[Kategorie:Programování]] | ||
[[Kategorie:C++]] | [[Kategorie:C++]] |
Verze z 10. 2. 2011, 13:10
Napište funkci pro vyhlazení rastrových dat, uložených v (celočíselné) matici s hodnotami 0 až 127. Funkce pro každý pixel (prvek matice) vypočte novou hodnotu jako vážený aritmetický průměr daného pixelu s váhou p a všech sousedních pixelů s váhou 1, kde váha p je dána počtem sousedů.
Například pro vstupní matici M dimenze 4x5 s prvky
je vyhlazená hodnot prvku (tři sousedi) rovna
(zaokrouhleno 14.667)
podobně
(zaokrouhleno 41.333)
pro prvek m_22 (osm sousedů)
Oveřte pro uvedený příklad.