Př: odvoďte matici H pro detekci hran Laplaceovým operátorem na obraz 3×3. Aplikujte na obraz F. Konvoluční maska L = ( 0 1 0 1 -4 1 0 1 0) 0 1 0 1 -4 1 0 1 0 f = ( 1 10 10 1 10 10 1 10 10) Laplaceúv operátor je druhá derivace funkce, nebo co to žvatlal :) Obecná matice: f11 f12 f13 f21 f22 f21 f31 f32 f33 Rozšíření matice f33 f31 f32 f33 f31 f13 f11 f12 f13 f11 f23 f21 f22 f21 f21 f33 f31 f32 f33 f31 f13 f11 f12 f13 f11 1.ř.: 0×f33 + 1×f31 + 0×f32 + 1×f13 -4×f11 + 1×f12 + 0×f23 + 1×f21 + 0×f22 (konvoluční matice × rozšířená matice - ale jen 3×3 matici) musíme je seřadit podle matice f = (f11;f21;f31;f12;f22;f32;f13;f23;f33) -4 1 1 1 0 0 1 0 0 2.ř.: 0×f13 1×f11 0×f12 1×f23 -4×f21 1×f22 0×f33 1×f31 0×f32 1 -4 1 0 1 0 0 1 0 3.ř.: 0f23 1f21 0f22 1f33 -4f31 1f32 0f13 1f11 0f12 1 1 -4 0 0 1 0 0 1 Výsledná odvozená matice: H_L = -4, 1, 1, 1, 0, 0, 1, 0, 0; 1, -4, 1, 0, 1, 0, 0, 1, 0; 1, 1, -4, 0, 0, 1, 0, 0, 1; 1, 0, 0, -4, 1, 1, 1, 0, 0; 0, 1, 0, 1, -4, 1, 0, 1, 0; 0, 0, 1, 1, 1, -4, 0, 0, 1; 1, 0, 0, 1, 0, 0, -4, 1, 1; 0, 1, 0, 0, 1, 0, 1, -4, 1; 0, 0, 1, 0, 0, 1, 1, 1, -4; f =[1;1;1;10;10;10;10;10;10] g = H * f g =[18;18;18;-9;-9;-9;-9;-9;-9] Př: odvození matice H u bodových operací. (nejspíš taky u zkoušky, ten nad určitě, možná i stejnej :)) odvoďte matici H pro k-násobné zvýšení jasu a kontrastu. Aplikujte na obraz f, přesvědčte se, že je obraz sepatabilní. konvoluční suma g(x,y) = suma(alpha = 0;2;(suma(beta = 0;2;f(alpha, beta) * h(x-alpha, y-beta)))) = f(alpha, beta) * h(x,y) = K * f(alpha,beta) f = ( f11 f12 f13 f21 f22 f23 f31 f32 f33 ) g11 = K*f11 + 0*f21 + 0*f31 ... + 0*f33 g21 = K*f21 + 0*f11 + ... + 0*f33 g31 = K*f31 + 0*f11 + ... + 0*f33 g = [ K 0 0 0 0 0 0 0 0; 0 K 0 0 0 0 0 0 0; 0 0 K 0 0 0 0 0 0; 0 0 0 K 0 0 0 0 0; 0 0 0 0 K 0 0 0 0; 0 0 0 0 0 K 0 0 0; 0 0 0 0 0 0 K 0 0; 0 0 0 0 0 0 0 K 0; 0 0 0 0 0 0 0 0 K; ] hc = hr = [ sqrt(K) 0 0 0 sqrt(K) 0 0 0 sqrt(K) Př: Ukažte platnost vztahu g = Hc * f * Hr' pro haarovu transformaci a obraz f. !!! bude u zkoušky !!! f = [ 0,0,0,0; 0,50,50,0; 0,50,50,0; 0,0,0,0] haarova transformace bude také 4×4, výsledná bude tedy 16×16. hc = hr = [ 1,1,1,1; 1,1,-1,-1; 1.414,-1.414,0,0; 0,0,1.414,-1.414] gs = hc * f * hr'; % obraz po haarově transformci, je separatibilní Pro kontrolu: H = kron(hr,hc); vf = matnavek(4,4,f); % vektor F vg = H*vf; % vektor G g = veknamat(4,4,vg); Př: Proveďte rozklad separabilní vložharabilní transformace (VH) 4×4 na elementární obrazy. Elementární obrazy se počítají z matic Hc a Hr, sloupce se berou jako vektory a sloupce dávají nějaký obrazy... WTF? f = [ 0,0,0,0; 0,50,50,0; 0,50,50,0; 0,0,0,0] hc = hr = [ 1,1,1,1; 1,-1,1,-1; 1,1,-1,-1; 1,-1,-1,1] g = hc * f * hr'; Kontrola? u1 = [1;1;1;1]; u2 = hc(:,2); % druhý sloupec, všechny řádky u3 = hc(:,3); u4 = hc(:,4); v1 = u1; v2 = u2; v3 = u3; v4 = u4; eo11 = 0*u1*v1'; eo12 = 0*u1*v2'; eo13 = 0*u1*v3'; eo14 = 0*u1*v4'; eo21 = 0*u2*v1'; eo22 = 50*u2*v2'; eo23 = 50*u2*v3'; eo24 = 0*u2*v4'; eo31 = 0*u2*v1'; eo32 = 50*u2*v2'; eo33 = 50*u2*v3'; eo34 = 0*u2*v4'; eo41 = 0*u1*v1'; eo42 = 0*u1*v2'; eo43 = 0*u1*v3'; eo44 = 0*u1*v4'; % sečtení deo = eo11 +eo12 +eo13 +eo14 + eo21 +eo22 +eo23 +eo24 + eo31 +eo32 +eo33 +eo34+eo41 +eo42 +eo43 +eo44; N2KDE TAM? JE CHYBA!!! :///