Hough & Radon transform - cvičení

Podobné dokumenty
ROZ1 CVIČENÍ VI. Geometrická registrace (matching) obrazů

NPGR032 Cv úvod

VIDEOSBÍRKA DERIVACE

ROZ II cv. 01 Dekonvoluce KM - FJFI - ČVUT

BPC2E_C08 Parametrické 3D grafy v Matlabu

1. Parametrické vyjádření přímky Přímku v prostoru můžeme vyjádřit jen parametricky, protože obecná rovnice přímky v prostoru neexistuje.

Cvičení z Lineární algebry 1

Matematika 1 MA1. 1 Analytická geometrie v prostoru - základní pojmy. 4 Vzdálenosti. 12. přednáška ( ) Matematika 1 1 / 32

DERIVACE. ln 7. Urči, kdy funkce roste a klesá a dále kdy je konkávní a

VIDEOSBÍRKA DERIVACE

1. Přímka a její části

ROZ1 - Cv. 2 - Fourierova transformace ÚTIA - ZOI

Mechanika II.A Třetí domácí úkol

x 2 = a 2 + tv 2 tedy (a 1, a 2 ) T + [(v 1, v 2 )] T A + V Příklad. U = R n neprázdná množina řešení soustavy Ax = b.

Pracovní text a úkoly ke cvičením MF002

ROZ II cv. 01 Dekonvoluce KM - FJFI - ČVUT

Linearní algebra příklady

MATEMATIKA III. π π π. Program - Dvojný integrál. 1. Vypočtěte dvojrozměrné integrály v obdélníku D: ( ), (, ): 0,1, 0,3, (2 4 ), (, ) : 1,3, 1,1,

Laboratorní úloha č. 8: Elektroencefalogram

(3) vnitřek čtyřúhelníka tvořeného body [0, 0], [2, 4], [4, 0] a [3, 3]. (2) těleso ohraničené rovinami x = 1, y = 0 z = x a z = y

Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)

1 Analytická geometrie

13. cvičení z Matematické analýzy 2

Hledáme lokální extrémy funkce vzhledem k množině, která je popsána jednou či několika rovnicemi, vazebními podmínkami. Pokud jsou podmínky

Lineární algebra : Metrická geometrie

R β α. Obrázek 1: Zadání - profil složený ze třech elementárních obrazců: 1 - rovnoramenný pravoúhlý trojúhelník, 2 - čtverec, 3 - kruhová díra

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

[obrázek γ nepotřebujeme, interval t, zřejmý, integrací polynomu a per partes vyjde: (e2 + e) + 2 ln 2. (e ln t = t) ] + y2

14. cvičení z Matematické analýzy 2

Primární zpracování radarového signálu dopplerovská filtrace

17 Kuželosečky a přímky

Rovnice přímky v prostoru

Geometrické transformace pomocí matic

SEMESTRÁLNÍ PRÁCE Z X37SAS Zadání č. 7

A[a 1 ; a 2 ; a 3 ] souřadnice bodu A v kartézské soustavě souřadnic O xyz

ELIMINACE VLIVU DRUHÉ ROTACE PŘI AFINNĚ INVARIANTNÍM 2D ROZPOZNÁVÁNÍ

Cvičné texty ke státní maturitě z matematiky

Operace s obrazem I. Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno. prezentace je součástí projektu FRVŠ č.

Lineární algebra : Změna báze

Modelové úlohy přijímacího testu z matematiky

12 Trojný integrál - Transformace integrálů

I. Diferenciální rovnice. 3. Rovnici y = x+y+1. převeďte vhodnou transformací na rovnici homogenní (vzniklou

Výpočet průsečíků paprsku se scénou

Zadání. Goniometrie a trigonometrie

Kinematika rektifikace oblouku (Sobotkova a Kochaňského), prostá cykloida, prostá epicykloida, úpatnice paraboly.

Projektivní geometrie. Ing. Zdeněk Krňoul, Ph.D. Katedra Kybernetiky Fakulta aplikovaných věd Západočeská univerzita v Plzni

geekovo minimum počítačového Nadpis 1 Nadpis 2 Nadpis 3

KONSTRUKTIVNÍ GEOMETRIE

Trojúhelníky. a jejich různé středy. Součet vnitřních úhlů trojúhelníku = 180 neboli π radiánů.

Obecný Hookeův zákon a rovinná napjatost

Deformace rastrových obrázků

9.1 Definice a rovnice kuželoseček

3.2. ANALYTICKÁ GEOMETRIE ROVINY

Příklad: Řešte soustavu lineárních algebraických rovnic 10x 1 + 5x 2 +70x 3 + 5x 4 + 5x 5 = 275 2x 1 + 7x 2 + 6x 3 + 9x 4 + 6x 5 = 100 8x 1 + 9x 2 +

VZÁJEMNÁ POLOHA DVOU PŘÍMEK V ROVINĚ

NPGR032 CVIČENÍ III. Šum a jeho odstranění teorie&praxe. Adam Novozámský (novozamsky@utia.cas.cz)

MANUÁL K ŘEŠENÍ TESTOVÝCH ÚLOH

Rovnice přímky. s = AB = B A. X A = t s tj. X = A + t s, kde t R. t je parametr. x = a 1 + ts 1 y = a 2 + ts 2 z = a 3 + ts 3. t R

ŠROUBOVICE. 1) Šroubový pohyb. 2) Základní pojmy a konstrukce

Zadání domácích úkolů a zápočtových písemek

3. ÚVOD DO ANALYTICKÉ GEOMETRIE 3.1. ANALYTICKÁ GEOMETRIE PŘÍMKY

Vlastní čísla a vlastní vektory

Lineární algebra s Matlabem cvičení 3


(0, y) 1.3. Základní pojmy a graf funkce. Nyní se již budeme zabývat pouze reálnými funkcemi reálné proměnné a proto budeme zobrazení

14. přednáška. Přímka

P R O M Í T Á N Í. rovina π - průmětna vektor s r - směr promítání. a // s r, b// s r,

Veronika Chrastinová, Oto Přibyl

Modelové úlohy přijímacího testu z matematiky

Příklady pro předmět Aplikovaná matematika (AMA) část 1

transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím [1]

Kulová plocha, koule, množiny bodů

7. Derivace složené funkce. Budeme uvažovat složenou funkci F = f(g), kde některá z jejich součástí

Roman Juránek. Fakulta informačních technologíı. Extrakce obrazových příznaků 1 / 30

Přímá a inverzní kinematika manipulátoru pro NDT (implementační poznámky) (varianta 2: RRPR manipulátor)

11MAMY LS 2017/2018. Úvod do Matlabu. 21. února Skupina 01. reseni2.m a tak dále + M souborem zadané funkce z příkladu 3 + souborem skupina.

11. cvičení z Matematické analýzy 2

Michal Zamboj. January 4, 2018

DIPLOMOVÁ PRÁCE OPTIMALIZACE MECHANICKÝCH

Vzdálenosti a východ Slunce

Matematika 1. 1 Derivace. 2 Vlastnosti a použití. 3. přednáška ( ) Matematika 1 1 / 16

Odchylka ekliptiky od roviny Galaxie

10. cvičení z Matematické analýzy 2

Hledání úhlů se známou hodnotou goniometrické funkce

Substituce ve vícenásobném integrálu verze 1.1

Kapitola 5. Seznámíme se ze základními vlastnostmi elipsy, hyperboly a paraboly, které

Geometrie v R n. z balíku student. Poznamenejme, že vlastně počítáme délku úsečky, která oba body spojuje. (b d)2 + (c a) 2

Geometrie v R n. student. Poznamenejme, že vlastně počítáme délku úsečky, která oba body spojuje. (b d)2 + (c a) 2

Křivky kolem nás. Webinář. 20. dubna 2016

Filip Hroch. Astronomické pozorování. Filip Hroch. Výpočet polohy planety. Drahové elementy. Soustava souřadnic. Pohyb po elipse

Dvojné a trojné integrály příklad 3. x 2 y dx dy,

Funkce a základní pojmy popisující jejich chování

FAKULTA STAVEBNÍ VUT V BRNĚ PŘIJÍMACÍ ŘÍZENÍ PRO AKADEMICKÝ ROK

Téma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Grafická data jsou u 2D vektorové grafiky uložena ve voxelech."

Rost Marek, Záruba Lukáš školitelé: Z. Sekerešová, J. Šonský. Cesta k vědě

Diferenciál funkce dvou proměnných. Má-li funkce f = f(x, y) spojité parciální derivace v bodě a, pak lineární formu (funkci)

11. cvičení z Matematiky 2

FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ KYBERNETIKA, AUTOMATIZACE A MĚŘENÍ. MRBT Projekt

1 Základní funkce pro zpracování obrazových dat

ÚSTAV MATEMATIKY A DESKRIPTIVNÍ GEOMETRIE. Matematika 0A1. Cvičení, zimní semestr. Samostatné výstupy. Jan Šafařík

Transkript:

Hough & Radon transform - cvičení ROZ UTIA - ZOI Adam Novozámský (novozamsky@utia.cas.cz)

Motivace Co to je Houghova transformace a k čemu se používá?: metoda pro nalezení parametrického popisu objektů v obraze detekce jednoduchých objektů v obraze jako jsou přímky, kružnice, elipsy, atd. je používána především pro segmentaci objektů, jejichž hranice lze popsat jednoduchými křivkami aplikace také v 3D vidění 2 / 33

Motivace Aplikace: hledání úběžníků: Detekce hran / objektů: 3 / 33

Houghova transformace Bod v Houghově prostoru (x,y) je suma obrazových bodů náležících objektu s parametry x,y 1 bod v HP = právě 1 přímka v obrázku 4 / 33

HT Algoritmu Pro každý bod v HP Najdu přímku body, které jí náleží Každý bod v obrázku Započtu do všech přímek, kam náleží Tvoří sinusoidu v HP Pozn.: Bod hlasuje pro všechny směry Bod je nezávislý na okolí Výpočet trvá dlouho řád sekund 5 / 33

HT Příklad 6 / 33

HT Příklad hledání úběžníku 7 / 33

Úkol: Napište výpočet HT: otevřete skript houghstud.m a na vyznačené místo doplňte Nápověda I: paramatrizace přímky? : y y ax b y 0 θ r. r = x cos θ + y sin θ [1971]Duda & Hart x 0 x 8 / 33

Úkol: Nápověda I: paramatrizace přímky? : skript na zobrazení přímky je psán pro α = 90 θ, tedy: r = x cos(90 θ) + y sin(90 θ) = x sin α + y cos α v našem případě obrázku je [0,0] vlevo nahoře, takže pokud chceme dosazovat index matice, tak: r = x sin α y cos α x 0 -y 0 θ α r x. -y 9 / 33

Úkol: Napište výpočet HT: otevřete skript houghstud.m a na vyznačené místo doplňte Nápověda II: projděte v obrázku pixel po pixelu pokud je pixel nenulový, tak pro všechny směry přímek, které jím procházejí spočítám jejich vzdálenost od počátku tuto vzdálenost musím přeškálovat na vzdálenost <1,Delek> pro danou vzdálenost a úhel připočtu v matici Hits další zásah (+1) 10 / 33

Úkol: Napište výpočet HT: % projiti vsech pixelu snimku for Y = 1 : size(img,1) for X = 1 : size(img,2) % chci jen nenulove body if ~Img(Y,X) continue end % pro vsechny smery primek prochazejicich bodem pocitam jejich vzdalenost for U = 1 : Uhlu % uhel v radianech Alfa = U / Uhlu * pi; % vzdalenost primky od pocatku v pixelech C = sin(alfa) * X - cos(alfa) * Y; % vzdalenost preskalovana na 1 az Delek V = round(c*pixnadelky + (Delek-1)/2) + 1; % bod s uhlem U ma pro vzdalenost V dalsi hit Hits(V,U) = Hits(V,U) + 1; end end end 11 / 33

Úkol: Napište skript primkysnimku(img, Primek) najde a vykresli primky na snimku použijte kresliprimku.m Nápověda I: 1. detekujte hrany pomocí sobel.m 2. proveďte HT 3. najděte uhel a vzdálenost pro nejvyšší hodnotu 4. převeďte na stupně a pixely 5. vykreslete přímku pomocí kresliprimku.m 6. vynulujte tuto nejvyšší hodnotu v HP včetně malého okolí 7. opakujte bod 3 6 podle počtu hledaných přímek 12 / 33

Úkol: primkysnimku(img, Primek) : function primkysnimku(img, Primek) % primkysnimku(img, Primek) - najde a vykresli primky na snimku Hrany = sobel(img, 400); Hits = houghstud(hrany, 360, 800); zobr(img); % detekce hran % Houghova transformace % nachazeni nejvyznamnejsich primek Uhlopricka = norm(size(hrany)); for I = 1 : Primek waitforbuttonpress; % souradnice nejvetsi hodnoty v matici hitu [V,U] = find(hits == max(hits(:)),1); % prepocet uhlu na stupne Uhel = U / size(hits,2) * 180; % prepocet vzdalenosti na pixely Vzdal = V / size(hits,1) * 2 * Uhlopricka - Uhlopricka; % vykresleni kresliprimku(uhel, Vzdal, size(hrany,2), size(hrany,1)); % vynulovani Hits(U,V) a jeho okoli Hits(max(V-20,1):min(V+20,size(Hits,1)),... max(u-20,1):min(u+20,size(hits,2))) = 0; end 13 / 33

Motivace Co to je Houghova transformace a k čemu se používá?: metoda pro nalezení parametrického popisu objektů v obraze detekce jednoduchých objektů v obraze jako jsou přímky, kružnice, elipsy, atd. je používána především pro segmentaci objektů, jejichž hranice lze popsat jednoduchými křivkami aplikace také v 3D vidění 14 / 33

Radon Transform [Radon 1917] g ρ j, θ k = ඵ f x, y δ x cos θ k + y sin θ k ρ j dxdy y y g ρ j, θ k g ρ, θ k x θ k f x, y L ρ j, θ k x x cos θ k + y sin θ k = ρ j ρ j 15 / 33

Radon Transform [Radon 1917] g ρ j, θ k = ඵ f x, y δ x cos θ k + y sin θ k ρ j dxdy y y g ρ j, θ k g ρ, θ k x g ρ, θ = ඵ f x, y δ x cos θ + y sin θ ρ dxdy f x, y θ k x g ρ, θ = M 1 N 1 f x, y δ x cos θ + y sin θ ρ ρ j x=0 y=0 Illustration f x, y = ቊ A x2 + y 2 r 2 0 otherwise r 2 ρ 2 g ρ, θ = න Ady = g ρ = ቊ 2A r2 ρ 2 ρ r r 2 ρ 2 0 otherwise 16 / 33

Radon Back projection: formal interpretation for a single point, g ρ j, θ k, copying the line L ρ j, θ k onto the empty image with its intensity g ρ j, θ k repeating this process of all values of ρ j in the projected signal f θk x, y = g ρ, θ k = g x cos θ k + y sin θ k, θ k f θ x, y = g x cos θ + y sin θ, θ final image by integrating over all the back-projected images : f x, y = න 0 π f θ x, y dθ ~ π θ=0 f θ x, y laminogram 17 / 33

Radon Back projection: A little trick that almost works! Back Projection 18 / 33

Radon Back projection: A little trick that almost works! Back Projection 19 / 33

Radon [Gonzalez 2008 3rd] Image 1 2 4 32 64 20 / 33

Úkol: Spočítejte Radonovu Transformaci: Spočítejte Radonovu Transformaci obrázku Shepp-Logan phantom pro úhly [0..179] a zobrazte jeho sinogram Použijte Matlab funkce phantom(), radon() 21 / 33

Řešení I = phantom(); theta = 0:179; [R,xp] = radon(i,theta); subplot(1,2,1) obr(i,'nofig'); title('original'); subplot(1,2,2) imshow(r,[],'xdata',theta,'ydata',xp); title(sprintf('sinogram')); xlabel('\theta (degrees)') ylabel('\rho') colormap(gca,hot), colorbar 22 / 33

Úkol: Spočítejte inverzní Radonovu Transformaci: Načtěte si data ze souboru sinograms.mat a zobrazte si všechny tři sinogramy. Poté pomocí funkce iradon() pro ně spočtěte IRT bez filtrace naivní back-projection 23 / 33

Řešení load('sinogram180.mat'); load('sinogram90.mat'); load('sinogram45.mat'); theta = 0:179; I180 = iradon(r180,theta,'none'); theta = theta(1:2:end); I90 = iradon(r90,theta,'none'); theta = theta(1:2:end); I45 = iradon(r45,theta,'none'); subplot(1,3,1) obr(i180,'nofig'); title('theta = [0:179]'); subplot(1,3,2) obr(i90,'nofig'); title('theta = [0:2:179]'); subplot(1,3,3) obr(i45,'nofig'); title('theta = [0:4:179]'); 24 / 33

Úkol: Spočítejte inverzní Radonovu Transformaci: To samé s Ram-Lak filtarcí 25 / 33

Řešení load('sinogram180.mat'); load('sinogram90.mat'); load('sinogram45.mat'); theta = 0:179; I180 = iradon(r180,theta,'ram-lak'); theta = theta(1:2:end); I90 = iradon(r90,theta,'ram-lak'); theta = theta(1:2:end); I45 = iradon(r45,theta,'ram-lak'); subplot(1,3,1) obr(i180,'nofig'); title('theta = [0:179]'); subplot(1,3,2) obr(i90,'nofig'); title('theta = [0:2:179]'); subplot(1,3,3) obr(i45,'nofig'); title('theta = [0:4:179]'); 26 / 33

Děkuji za pozornost! ROZ UTIA - ZOI Adam Novozámský (novozamsky@utia.cas.cz)