Je navrženo sloučení tohoto článku nebo jeho části s článkem Detektory hran. (Diskuse)
Detekce hran je postup v digitálním zpracování obrazu, sloužící k nalezení oblastí pixelů, ve kterých se podstatně mění jas.
Hrana v objektu se nemusí krýt s hranicí mezi objekty ve scéně, hrany mohou vznikat a zanikat v závislosti na úhlu pohledu. Hrany tedy můžeme najít na hranici objektů nebo rozhraní světla a stínu — skoková hrana, nebo v místech trojrozměrných hran objektů — trojúhelníková hrana. Čáry v obrazu pak generují dvě hrany, jednu na každé své straně. Typická hrana na rozdíl od teoretické bývá ovšem zašuměná.
Pokud hranu definujeme jako velkou změnu jasové funkce, bude v místě hrany velká hodnota derivace jasové funkce. Maximální hodnota derivace bude ve směru kolmo na hranu. Kvůli jednoduššímu výpočtu se ale hrany detekují jen ve dvou, resp. ve čtyř směrech. Velká skupina metod na detekci hran aproximuje tuto derivaci pomocí konvoluce s vhodným jádrem. Nejjednodušší taková jsou (-1 1) a (-1, 1), případně (-1, 0, 1) a (-1, 0, 1).
Další používaná konvoluční jádra jsou:
.
Je platný pro detekci v ose y. detekce v ose x je dána transponovanou maticí (totéž platí i pro následující operátory). Prewittové operátor 5x5 je definován takto
Platí, že čím je matice větší, tím je výpočet odolnější vůči šumu.
V současnosti asi nejlepší hranový detektor je Cannyho, který na aproximaci první derivace z obrazu aplikuje prahování s hysterezí.
Hrany můžeme hledat i pomocí průchodů druhé derivace nulou (tzv. zero-crossings). Pozor, to není to samé jako hledání nulových bodů, ty se v digitálním obraze vůbec nemusí objevit. Tyto metody pracují většinou s Laplaciánem Δf, což ve dvou rozměrech znamená .
Z výsledků detekce hran v horizontálním a vertikálním směru Gx a Gy lze spočítat sílu hrany jako a směr jako .