Képfeldolgozás és párhuzamosíthatóság

Hasonló dokumentumok
Képfeldolgozás jól párhuzamosítható

Képfeldolgozás jól párhuzamosítható

Sergyán Szabolcs szeptember 21.

Bevezetés. Többszálú, többmagos architektúrák és programozásuk Óbudai Egyetem, Neumann János Informatikai Kar

Kereső algoritmusok a diszkrét optimalizálás problémájához

Él: a képfüggvény hirtelen változása. Típusai. Felvételeken zajos formában jelennek meg. Lépcsős

Párhuzamos programozási feladatok

3. Szűrés képtérben. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

6. Éldetektálás. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

Kereső algoritmusok a diszkrét optimalizálás problémájához

Képfeldolgozó eljárások áttekintés. Orvosi képdiagnosztika

Pontműveletek. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar február 20.

Kereső algoritmusok a diszkrét optimalizálás problémájához

Grafikonok automatikus elemzése

Képfeldolgozó eljárások áttekintés. Orvosi képdiagnosztika 9. ea ősz

A gépi látás és képfeldolgozás párhuzamos modelljei és algoritmusai Rövid András Sergyán Szabolcs Vámossy Szabolcs

Objektumorientált Programozás III.

Párhuzamos algoritmusok tervezésének alapjai

Objektumorientált Programozás VI.

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Figyelem, próbálja önállóan megoldani, csak ellenőrzésre használja a következő oldalak megoldásait!

1. Metrológiai alapfogalmak. 2. Egységrendszerek. 2.0 verzió

2. Pont operációk. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

Rendszámfelismerő rendszerek

Informatika Rendszerek Alapjai

Párhuzamos programozási feladatok

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék

Képszegmentáló eljárások. Orvosi képdiagnosztika 2018 ősz

Képfeldolgozó eljárások áttekintés. Orvosi képdiagnosztika 9. ea ősz

10. Alakzatok és minták detektálása

Éldetektálás. Digitális képelemzés alapvető algoritmusai. Képi élek. Csetverikov Dmitrij. A Canny-éldetektor Az éldetektálás utófeldolgozása

Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII,

2. Elméleti összefoglaló

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Többváltozós, valós értékű függvények

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

Képfeldolgozás. 1. el adás. A képfeldolgozás m veletei. Mechatronikai mérnök szak BME, 2008

Párhuzamos programozási feladatok. BMF NIK tavasz B. Wilkinson és M. Allen oktatási anyaga alapján készült

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

b) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2

Objektum Orientált Programozás VII.

Rendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24.

Képfeldolgozó eljárások áttekintés. Orvosi képdiagnosztika 9. ea ősz

5 1 6 (2x3 + 4) 7. 4 ( ctg(4x + 2)) + c = 3 4 ctg(4x + 2) + c ] 12 (2x6 + 9) 20 ln(5x4 + 17) + c ch(8x) 20 ln 5x c = 11

Hajder Levente 2018/2019. II. félév

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Objektum Orientált Programozás IV.

Függvények Megoldások

Absztrakt Bevezetés Hasonló Rendszerek Létező rendszerek a forgalom figyelésére: Radaros sebességmérő:...

Második zárthelyi dolgozat megoldásai biomatematikából * A verzió

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

Morfológia. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia Intézet

Függvények vizsgálata

Struktúra nélküli adatszerkezetek

Képszűrés II. Digitális képelemzés alapvető algoritmusai. Laplace-operátor és approximációja. Laplace-szűrő és átlagolás. Csetverikov Dmitrij

Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017.

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

A derivált alkalmazásai

Amortizációs költségelemzés

Orvosi diagnosztikai célú röntgenképfeldolgozás

Digitális jelfeldolgozás

ÉRZÉKELŐK ÉS BEAVATKOZÓK I. 0. TANTÁRGY ISMERTETŐ

A C programozási nyelv III. Pointerek és tömbök.

Minták automatikus osztályba sorolása a mintát leíró jellemzők alapján. Típusok: felügyelt és felügyelet nélküli tanuló eljárások

Iványi László ARM programozás. Szabó Béla 6. Óra ADC és DAC elmélete és használata

Számítógépes Grafika SZIE YMÉK

Tartalomjegyzék. Typotex Kiadó, 2010

Termék modell. Definíció:

SZAKKÖZÉPISKOLA ÉRETTSÉGI VIZSGRA FELKÉSZÍTŐ KK/12. ÉVFOLYAM

PÁRHUZAMOS SZÁMÍTÁSTECHNIKA MODUL AZ ÚJ TECHNOLÓGIÁKHOZ KAPCSOLÓDÓ MEGKÖZELÍTÉSBEN

Q 1 D Q 2 (D x) 2 (1.1)

Panorámakép készítése

A C programozási nyelv III. Pointerek és tömbök.

6. Modell illesztés, alakzatok

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

Súlyozott automaták alkalmazása

ÉRZÉKELŐK ÉS BEAVATKOZÓK I. 3. MÉRÉSFELDOLGOZÁS

1. tétel. 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója 7 cm. Mekkora a háromszög átfogója? (4 pont)

x = cos αx sin αy y = sin αx + cos αy 2. Mi a X/Y/Z tengely körüli forgatás transzformációs mátrixa 3D-ben?

HÁZI FELADATOK. 1. félév. 1. konferencia A lineáris algebra alapjai

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Színes képek feldolgozása

Idő-frekvencia transzformációk waveletek

Objektumorientált Programozás IV.

Geoinformatika I. (vizsgakérdések)

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Paraméter

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1

3D Grafika+képszintézis

Matematika tanmenet 10. évfolyam 2018/2019

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

Matematika szóbeli érettségi témakörök 2016/2017-es tanév őszi vizsgaidőszak

X. ANALÓG JELEK ILLESZTÉSE DIGITÁLIS ESZKÖZÖKHÖZ

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

Feladatok megoldásokkal az első gyakorlathoz (differencia- és differenciálhányados fogalma, geometriai és fizikai jelentése) (x 1)(x + 1) x 1

HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév

Grafikus folyamatmonitorizálás

Matematika A2 vizsga mgeoldása június 4.

Átírás:

Többszálú, többmagos architektúrák és programozásuk Óbudai Egyetem, Neumann János Informatikai Kar Képfeldolgozás és párhuzamosíthatóság A képfeldolgozás olyan alkalmazási terület, amely számos lehetőséget biztosít párhuzamosításra Témakörök: Alacsonyszintű műveletek: simítás, hisztogram, éldetektálás Hough transzformáció egyenes detektáláshoz Leképzési technikák és terhelés kiegyensúlyozás B. Wilkinson, M. Allen: Parallel Programming, Pearson Education Prentice Hall, 2nd ed., 2005. könyv 2. fejezete alapján miklos.arpad@nik.uni-obuda.hu

Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik. Ismeretük szükséges, de nem elégséges feltétele a sikeres zárthelyinek, illetve vizsgának. Sikeres zárthelyihez, illetve vizsgához a jelen bemutató tartalmán felül a kötelező irodalomként megjelölt anyag, a gyakorlatokon szóban, illetve a táblán átadott tudnivalók ismerete, valamint a gyakorlatokon megoldott példák és az otthoni feldolgozás céljából kiadott feladatok önálló megoldásának képessége is szükséges. miklos.arpad@nik.uni-obuda.hu 2

Mi a képfeldolgozás? A képfeldolgozás a jelfeldolgozás része, amely képekkel foglalkozik Célja: a kép minőségének javítása az ember, vagy további számítógépes feldolgozás számára Kép Képfeldolgozás Jobb kép miklos.arpad@nik.uni-obuda.hu 3

Képek ábrázolása miklos.arpad@nik.uni-obuda.hu 4

Színes képek RGB piel vektor (R,G,B) miklos.arpad@nik.uni-obuda.hu 5

A digitális képfeldolgozás szintjei A képek számítógépes feldolgozását három szintre lehet osztani: alacsony, közép és magas szintű feladatok (low-level, middle-level, high-level): Low-level: mind az input mind az output kép Middle-level: az inputok általában képek, de az outputok a képekből nyert attribútumok (pl. egy objektum azonosítói a képen) High-level: a felismert objektumok együttesének érzékelése miklos.arpad@nik.uni-obuda.hu 6

Alacsonyszintű képfeldolgozás A tárolt képen operál, hogy javítsa/módosítsa azt A kép képelemek (piel = picture element) kétdimenziós tömbje Origó Piel Számos alacsonyszintű képművelet az intenzitásokat (szürkeségi értékeket) manipulálja miklos.arpad@nik.uni-obuda.hu 7

Számítási igény Tételezzünk fel egy 024 024 pielből álló képet, ahol az intenzitást 8-biten tároljuk. Tárolási igény 2 20 byte ( Mbytes) Tegyük fel, hogy minden pielen csak egy műveletet végzünk, ekkor 2 20 operációt kell végeznünk a képen. Ez kb. 0-8 mp/operáció, ami hozzávetőlegesen 0 ms. Valós idejű képfeldolgozás esetén tipikusan 25-30 képet kell másodpercenként feldolgozni (fps). Tipikusan nem csak egyetlen operációt kell végezni a pieleken, hanem több és összetettebb funkciókat. miklos.arpad@nik.uni-obuda.hu 8

Pont alapú műveletek Olyan műveletek, ahol az output csak egy képponttól függ. Küszöbölés: Egy bizonyos határnál (threshold) nagyobb intenzitású képpont értékéhez az egyik szélső értéket, ellenkező esetben a másik szélsőértéket rendeljük hozzá. Ha egy piel intenzitása i, akkor minden pielre: if ( i < threshold) i = 0; else i = 255; miklos.arpad@nik.uni-obuda.hu 9

Pont alapú műveletek Kontraszt nyújtás: Az intenzitás értékek tartományát széthúzzuk, hogy a részletek jobban érzékelhetőek legyenek. Adott egy piel intenzitása i az l - h tartományból, a kontraszt nyújtás során az H - L tartományba transzformáljuk az intenzitást Szürkeségi szint csökkentés: H L i h l A kevésbé szignifikáns biteket elhagyjuk. I L miklos.arpad@nik.uni-obuda.hu 0

Hisztogram Az egyes intenzitásokból hány darab van a képen Pielek száma Intenzitás szint miklos.arpad@nik.uni-obuda.hu

Hisztogram soros kód ahol a pieleket a p[][] tömb tárolja és a hist[k] vektor megmondja, hogy a k-ik intenzitásból hány darab van a képen. Egyszerű összegző tömb. Könnyen párhuzamosítható dekompozícióval. miklos.arpad@nik.uni-obuda.hu 2

Maszk alapú műveletek g(, y) = T[f(, y)], T a szomszédos pieleken operál (lokális művelet) Origó Kép f(,y) miklos.arpad@nik.uni-obuda.hu 3

Maszk alapú műveletek Simítás (zajszűrés): Az intenzitás nagy változásait simítjuk el, a magas-frekvenciás tartalom csökkentése Élesítés: A részletek kiemelése miklos.arpad@nik.uni-obuda.hu 4

Maszk használata h Maszk digitális kép y - eredmény miklos.arpad@nik.uni-obuda.hu 5

Maszk Ablak alapú műveletekhez gyakran alkalmaznak n n méretű maszkot (n = 3, 5, 7, ) miklos.arpad@nik.uni-obuda.hu 6

Átlagoló szűrő Egyszerű simítási technika, ahol az ablakban lévő intenzitások átlaga az új intenzitás érték:, 4 0 2 3 9 4 5 6 7 8 Soros kód: Kilenc (+) lépés kell az átlag kiszámításához, n pielre 9n. Kompleitás: O(n). miklos.arpad@nik.uni-obuda.hu 7

Párhuzamos átlagoló szűrő A műveletek száma redukálható négyre Elv, ami pontosításra kerül mindjárt Minden pielt összeadunk balról, jobbról, felülről és alulról miklos.arpad@nik.uni-obuda.hu 8

Párhuzamos átlagoló szűrő I. (a) Első lépés (b) Második lépés miklos.arpad@nik.uni-obuda.hu 9

Párhuzamos átlagoló szűrő II. (c) Harmadik lépés (d) Negyedik lépés miklos.arpad@nik.uni-obuda.hu 20

Medián szűrő Soros megvalósítás: A medián meghatározása érdekében rendezni kell a pielértékeket és a középsőt kell kiválasztani. Például 3 3-as esetben a rendezett értékek: y 0, y, y 2, y 3, y 4, y 5, y 6, y 7, és y 8. A medián y 4. Az ötödik elemet kell kivenni a rendezés után. Pl. buborékos rendezésnél a műveletek (összehasonlítás és ha kell csere) száma: 8 + 7 + 6 + 5 + 4 = 30 lépés, azaz n pielre 30n művelet. miklos.arpad@nik.uni-obuda.hu 2

Közelítő medián szűrő Párhuzamos megvalósítás: Elsőként a soron belül hajtsunk végre három összehasonlítást és cserét: ahol jelenti, hogy hasonlítsd össze és cseréld fel, ha a baloldali érték nagyobb, mint a jobboldali. Ezután oszlopokra vonatkozóan három lépés: Összesen hat lépés Mikor nem pontos? miklos.arpad@nik.uni-obuda.hu 22

Közelítő medián szűrő A legnagyobb a sorban A következő legnagyobb a sorban A következő legnagyobb az oszlopban miklos.arpad@nik.uni-obuda.hu 23

Hibadiffúziós algoritmus (Floyd 975) Folytonos tónusú kép megjelenítése korlátozott színtartományú eszközön (pl. 8 bites szürke kép fekete-fehér nyomtatón) Közelítő technikával lehet szimulálni az árnyalatokat Bal oldali 8 bit felbontású, jobb oldali 2 bit felbontású kép miklos.arpad@nik.uni-obuda.hu 24

Algoritmus. Az aktuális képpont értéke alapján az output meghatározása: ha [0, 27] => 0; ha [28, 255] => 2. Hiba meghatározás: pl. ha az input 68 volt, akkor az output:, a hiba pedig az reprezentációjának megfelelő 255 és az eredeti érték különbsége, azaz 68 255 = -87 3. A hibaérték terjesztése a szomszédos képpontokra: 7/6 3/6 5/6 /6 miklos.arpad@nik.uni-obuda.hu 25

Algoritmus (pszeudó kód) 2 3 4 5 6 7 8 9 0 for each y fentről lefele for each balról jobbra korábbi_érték := piel[][y] új_érték := A_legközelebbi_érték_a_cél_színskáláján (korábbi_érték) piel[][y] := új_érték hiba := korábbi_érték - új_érték piel[+][y] := piel[+][y] + 7/6 * hiba piel[-][y+] := piel[-][y+] + 3/6 * hiba piel[][y+] := piel[][y+] + 5/6 * hiba piel[+][y+] := piel[+][y+] + /6 * hiba miklos.arpad@nik.uni-obuda.hu 26

Párhuzamosított hibadiffúzió Fordított jellegű megfogalmazás, mivel az előző pielek intenzitásából generált hibát (a, b, c, d) kell ismerni: a/6 b/6 c/6 7/6 3/6 5/6 /6 => d/6 miklos.arpad@nik.uni-obuda.hu 27

Párhuzamosított hibadiffúzió 3. A hibaterjesztéshez három elem kell az előző sorból és egy a megelőző oszlopból = > két képpontnyi késés! Feldolgozott piel Feldolgozás alatt álló piel Még nem feldolgozott piel Az első szál által feldolgozott sor A második szál által feldolgozott sor A harmadik szál által feldolgozott sor Az oldal bal széle Több szál több sort is fel tud dolgozni egymástól függetlenül. miklos.arpad@nik.uni-obuda.hu 28

Súlyozó maszkok Gyakran nem egységnyi súlyúak a maszkelemek: w 0, w, w 2, w 3, w 4, w 5, w 6, w 7, és w 8. Az új intenzitás érték 4 :, 4 w0 0 w w2 2 w3 3 w4 k 4 w5 5 w6 6 w7 7 w8 8 ahol /k skálázási tényező az intenzitás értékét állítja be és k nagysága gyakran a súlyok összegével egyezik meg. miklos.arpad@nik.uni-obuda.hu 29

Kereszt-korreláció 3 3-as súlyozó maszk használatával Maszk Pielek Eredmény azaz a súlyozott összeg (w i i ) két függvénynek (f és w) a (diszkrét) kereszt-korrelációja: f w miklos.arpad@nik.uni-obuda.hu 30

Maszkok Átlagoló Zajszűrő Felüláteresztő élesítő miklos.arpad@nik.uni-obuda.hu 3

Éldetektálás Ahol az intenzitásban jelentős változás van, ott található él. Kép deriváltja: Gradiens: y f y f y f,, lim, 0 y f y f y y f,, lim, 0 y f y f y f m n m n,,, y f y f y y f m n m n,,, y f f f grad ) ( miklos.arpad@nik.uni-obuda.hu 32

Éldetektálás differenciálással Intenzitás Első derivált Második derivált miklos.arpad@nik.uni-obuda.hu 33

Gradiens nagyság és irány Gradiens nagyság: Gradiens irány: Gradiens nagyságra más mérték: 2 2 y f f f f y f y arctan ), ( y f f f miklos.arpad@nik.uni-obuda.hu 34 Kép f(,y) Konstans intenzitás gradiens

Éldetektáló maszkok A gradiens összetevőinek közelítő számolása: f ( ) 3 5 f y ( ) 7 A gradiens nagyság: f f y f 7 5 3 miklos.arpad@nik.uni-obuda.hu 35

Prewitt operátor A gradiens összetevőinek közelítő számolása: A Prewitt maszk: ) ( ) ( ) ( 6 8 3 5 0 2 f ) ( ) ( ) ( 2 8 7 0 6 y f miklos.arpad@nik.uni-obuda.hu 36

Prewitt éldetektor 0 Kép Elmosott kép élek átlagolás y irányban Differenciáló szűrő irányban 0 0 0 0 0 0 és Kép Elmosott kép élek y Átlagolás irányban Differenciálás y irányban és 0 miklos.arpad@nik.uni-obuda.hu 37

Sobel éldetektáló Kép Elmosott kép Élek Átlagolás y irányban Differenciáló szűrő irányban 2 0 0 0 2 0 2 0 2 0 0 0 2 2 és Kép Elmosott kép élek y Átlagolás irányban Differenciáló szűrés y irányban és miklos.arpad@nik.uni-obuda.hu 38

Sobel éldetektáló Kép f 0 2 0 2 0 2 0 0 0 2 * * f y f 2 2 y f f Küszöbölés Élek miklos.arpad@nik.uni-obuda.hu 39

Sobel éldetektáló f f y miklos.arpad@nik.uni-obuda.hu 40

Sobel éldetektáló f 2 2 f y Threshold 00 miklos.arpad@nik.uni-obuda.hu 4

Vonaldetektálás miklos.arpad@nik.uni-obuda.hu 42

Vonaldetektálás Hough transzformációval Cél: Az f(, y) képen találjuk meg a vonalakat és határozzuk meg azok egyenletét O(NNMM) nagyságrendű számítást kell elvégezni miklos.arpad@nik.uni-obuda.hu 43

Vonaldetektálás Hough transzformációval Főbb pontok: Konverzió paraméter térbe Az m és n paraméterek megtalálása Visszakonvertálás derékszögű koordinátákba miklos.arpad@nik.uni-obuda.hu 44

Vonaldetektálás Hough transzformációval Kulcs: Használjuk a paraméterteret, ahol a bonyolult probléma az egyszerűbb lokális maimumok megtalálását jelenti Input: Bináris kép élpontokkal Küszöb miklos.arpad@nik.uni-obuda.hu 45

Hough transzformáció b m y b' m' y b'' m' ' y miklos.arpad@nik.uni-obuda.hu 46

Vonalillesztés Vonal egyenlet y m b m meredekség, - metszéspont Az (m, b) teret osszuk fel egy ráccsal és minden cellához rendeljünk egy számlálót: c(m, b) kezdetben 0 értékkel b az y Minden élpiel ismert koordinátáival Számoljuk ki b értékét minden lehetséges m mellett b i y m Növeljük meg a c(m i, b i )-t eggyel j Keressük meg a lokális maimumokat a paraméter térben! miklos.arpad@nik.uni-obuda.hu 47

Hough trafó: kvantálás Vonal detektálás maimum/klaszter keresésével a paraméter térben Függőleges vonalak esetén probléma m és b végtelen m miklos.arpad@nik.uni-obuda.hu 48

Hough transzformáció Polár koordinátás reprezentáció Egy egyenes minden pontjára és r állandó Bármely irányban numerikusan stabil leírás Különböző konstans értékeke fi értékeinél különböző vonalakat szolgáltatnak cos y sin r miklos.arpad@nik.uni-obuda.hu 49

Akkumulátor tömb Gyűjtő (Akkumulátor) miklos.arpad@nik.uni-obuda.hu 50

Algoritmus Készítsünk egy 2D (, r) számláló tömböt, a szög 0 és 80 fok között változik, a távolság maimum a kép átlója Nullázuk ki az akkumulátort A szög lehetséges értékeit vegyük fel Például 0-os növekmények Minden (, y) élpontra és minden lehetséges szögre Számoljuk ki r értékét cos ysin r Minden kiszámolt (, r) párra növeljük meg a számlálótömb értékét Keressük meg a lokális maimumokat miklos.arpad@nik.uni-obuda.hu 5

Vonaldetektálás - példa ideális zajos Nagyon zajos miklos.arpad@nik.uni-obuda.hu 52

Nehézségek Hogyan osszuk fel a paraméter teret (, r)? nagy? Nem tudunk különbséget tenni vonalak között kicsi? A zaj hibákat eredményez Hány vonalat találunk? Melyik élpont, melyik vonalhoz tartozik? A zaj miatt nehéz kielégítő megoldást találni miklos.arpad@nik.uni-obuda.hu 53

Soros kód 2 3 4 5 6 7 8 9 0 2 for each y fentről lefele for each balról jobbra sobel ([], [y], d, dy) // éldetektálás grad_nagyság := grad_mag (d, dy) // gradiens nagyság if (grad_nagyság > threshold) { theta := grad_dir(d, dy) theta := theta_quntize(theta) r := * cos(theta) + y* sin(theta) r := r_quantize(r) acc[r, theta] ++ piel[+][y+] := piel[+][y+] + /6 * hiba } miklos.arpad@nik.uni-obuda.hu 54

Párhuzamosítás Mivel az akkumulátor tömb számítása független más összegzésektől, ezért párhuzamosítható: Az egész képre olvasási jog szükséges. miklos.arpad@nik.uni-obuda.hu 55

Felhasznált és javasolt irodalom [] A. Grama, A. Gupta, G. Karypis, V. Kumar Introduction to Parallel Computing Addison-Wesley, ISBN 0-20-64865-2, 2003, 2nd ed., angol, 636 o. [2] B. Wilkinson, M. Allen Parallel Programming Prentice Hall, ISBN 978-03405639, 2004, 2nd ed., angol, 496 o. [3] S. Akhter, J. Roberts Multi-Core Programming (Increasing Performance through Software Multi-threading) Intel Press, ISBN 0-9764832-4-6, 2006, angol, 340 o. [4] Iványi A. Párhuzamos algoritmusok ELTE Eötvös Kiadó, ISBN 963-463-590-3, Budapest, 2003, magyar, 334 o. [5] R. Gonzales, R. Woods Digital Image Processing Addison-Wesley, ISBN-3: 978-02050803, 2nd ed. 2005, angol 730 o. miklos.arpad@nik.uni-obuda.hu 56

miklos.arpad@nik.uni-obuda.hu

miklos.arpad@nik.uni-obuda.hu