Detekce linky - Line detection
Při zpracování obrazu detekce linky je algoritmus, který bere soubor n okrajové body a najde všechny čáry, na kterých leží tyto okrajové body.[1] Nejoblíbenějšími linkovými detektory jsou Hough transformace a konvoluce -založené techniky.[2]
Hough transformace
The Hough transformace[3] lze použít k detekci linek a výstupem je parametrický popis linek v obraze, například ρ = r cos (θ) + c sin (θ).[1] Pokud je v obrazovém prostoru založeném na řádcích a sloupcích čára, lze ji definovat ρ, vzdálenost od počátku k linii kolmo k linii a θ, úhel kolmého průmětu od počátku k linii měřeno ve stupních po směru hodinových ručiček od kladné osy řady. Proto čára v obraze odpovídá bodu v Houghově prostoru.[4] Houghův prostor pro čáry má tedy tyto dvě dimenze θ a ρ a čára je reprezentována jediným bodem odpovídajícím jedinečné sadě těchto parametrů. Houghovu transformaci lze poté implementovat výběrem sady hodnot ρ a θ, které se mají použít. Pro každý pixel (r, C) na obrázku spočítejte r cos (θ) + c sin (θ) pro každou hodnotu θ a vložte výsledek do příslušné polohy v poli (ρ, θ). Na konci budou hodnoty (ρ, θ) s nejvyššími hodnotami v poli odpovídat nejsilnějším čarám v obraze
Konvoluce - na základě techniky
V konvoluce - na základě techniky se operátor detektoru řádků skládá z konvolučních masek vyladěných pro detekci přítomnosti řádků určité šířky n a orientace θ. Zde jsou čtyři konvoluční masky pro detekci vodorovných, svislých, šikmých (+45 stupňů) a šikmých (-45 stupňů) čar v obraze.
a) Horizontální maska (R1)
−1 | −1 | −1 |
2 | 2 | 2 |
−1 | −1 | −1 |
(b) Vertikální (R3)
−1 | 2 | −1 |
−1 | 2 | −1 |
−1 | 2 | −1 |
(C) Šikmý (+45 stupňů) (R2)
−1 | −1 | 2 |
−1 | 2 | −1 |
2 | −1 | −1 |
(d) Šikmý (-45 stupňů) (R4)
2 | −1 | −1 |
−1 | 2 | −1 |
−1 | −1 | 2 |
V praxi jsou masky spuštěny přes obraz a odpovědi jsou kombinovány podle následující rovnice:
R (x, y) = max (| R1 (x, y) |, | R2 (x, y) |, | R3 (x, y) |, | R4 (x, y) |)
Pokud R (x, y)> T, pak diskontinuita
Jak je vidět níže, pokud je maska překryvná na obrázku (vodorovná čára), vynásobte shodné hodnoty a sečtěte všechny tyto výsledky, výstup bude (konvolvovaný obrázek). Například, (-1) (0) + (- 1) (0) + (- 1) (0) + (2) (1) + (2) (1) + (2) (1) + (- 1) (0) + (- 1) (0) + (- 1) (0) = 6 pixelů na druhém řádku, druhý sloupec na (spojeném obrázku), počínaje od levého horního rohu vodorovných čar.[1] strana 82
Příklad
Vodorovná čára | spletitý obraz | |||||||||||
0 | 0 | 0 | 0 | - | - | - | - | |||||
1 | 1 | 1 | 1 | = | - | 6 | 6 | - | ||||
Maska | * | 0 | 0 | 0 | 0 | - | - | - | - | |||
−1 | −1 | −1 | ||||||||||
2 | 2 | 2 | ||||||||||
−1 | −1 | −1 | ||||||||||
* | Svislá čára | spletitý obraz | ||||||||||
0 | 0 | 1 | 0 | - | - | - | - | |||||
0 | 0 | 1 | 0 | = | - | 0 | 0 | - | ||||
0 | 0 | 1 | 0 | - | - | - | - |
Tyto masky výše jsou vyladěny pro světlé čáry na tmavém pozadí a na tmavé čáry na světlém pozadí by poskytly velkou negativní odpověď.[5]
Příklad kódu
Tento kód byl použit k detekci pouze svislých čar v obraze pomocí Matlabu a výsledek je uveden níže. Původní obrázek je ten nahoře a výsledek je pod ním. Jak je vidět na obrázku vpravo, byly detekovány pouze svislé čáry


Průhledná Všechnoclc% tento program MATLAB detekuje pouze vertikální čáry v obrázkubudova = nečitelný('building.jpg'); % Tím se nahraje budova obrázkutol = 5; % definuje toleranci v úhlu, aby se zohlednil hluk nebo hrana %, které mohou vypadat svisle, ale když je vypočítán úhel % se nemusí zdát být[~, úhel] = bezvýznamný(budova);ven = (úhel >= 180 - tol | úhel <= -180 + tol);% tato část vyfiltruje řádekout_filter = bwareaopen(ven, 50);postava, imshow(budova), titul(„Původní obrázek“);postava, imshow(out_filter), titul(„Zjištěné řádky“);
Viz také
Reference
- ^ A b C Umbaugh, Scott E. (2011). Digitální zpracování a analýza obrazu: aplikace pro lidské a počítačové vidění s CVIPtools (2. vyd.). Boca Raton, FL: CRC Press. ISBN 9781439802052. OCLC 491888664.
- ^ "Houghova transformace - MATLAB hough". www.mathworks.com. Citováno 2018-04-23.
- ^ "Detekce linky pomocí Houghovy transformace" (PDF).
- ^ Li, Fei-Fei (10. října 2011). "Hledání linek: od detekce k přizpůsobení modelu" (PDF). Stanford Vision Lab.
- ^ A b „Detekce linky“. homepages.inf.ed.ac.uk. Citováno 2018-04-23.