operacje na obrazach matlab
TRANSCRIPT
![Page 1: operacje na obrazach matlab](https://reader038.vdocuments.mx/reader038/viewer/2022100507/5571f9c84979599169906b51/html5/thumbnails/1.jpg)
Operacje na obrazach logicznych
Do innych operacji (ni» morfologiczne) na obrazach logicznych nale»¡ nast¦pu-j¡ce przeksztaªcenia i operacje:
1. bwarea(obraz); - podaje estymowane pole powierzchni. Warto±¢ uzyska-na t¡ funkcj¡ mo»e by¢ inna od warto±ci rzeczywistej (uzyskanej funkcj¡sum(obraz(:))). Zliczania dokonuje si¦ w otoczeniu 2x2 i na podstawie na-st¦puj¡cych warunków:
• 0 - je»eli w otoczeniu wszystkie piksele maj¡ warto±¢ 0.
• 0.25 - je»eli tylko jeden piksel ma warto±¢ 1.
• 0.5 - je»eli dwa piksele maj¡ warto±¢ 1 i stykaj¡ si¦ bokami.
• 0.75 - je»eli dwa piksele maj¡ warto±¢ 1 i stykaj¡ si¦ rogami.
• 0.875 - je»eli 3 piksele maj¡ warto±¢ 1.
• 1 - je»eli wszystkie 4 piksele maj¡ warto±¢ 1.
2. bweuler(obraz, s¡siedztwo); - podaje warto±¢ liczby Eulera. Jest to ilo±¢obiektów wyst¦puj¡cych na obrazie binarnym, pomniejszona o ilo±¢ dziurw tych obiektach. S¡siedztwo przyjmuje warto±¢ 4 lub 8.
3. bwdist(obraz,'metryka');. Podaje odlegªo±¢ od najbli»szego piksela o war-to±ci 1, przy wykorzystaniu jednej z nast¦puj¡cych metryk:
• 'euclidean': d =√(m1 −m2)2 + (n1 − n2)2
• 'quasieuclidean':
d =
|m1 −m2|+ (√(2)− 1)|n1 − n2| dla |m1 −m2| > |n1 − n2|
(√(2)− 1)|m1 −m2|+ |n1 − n2| dla |m1 −m2| ¬ |n1 − n2|
• 'chessboard': d = max(|m1 −m2|, |n1 − n2|)• 'cityblock': d = |m1 −m2|+ |n1 − n2|
4. bwperim(obraz, s¡siedztwo); - wyznacza linie obwodu. S¡siedztwo dlaobrazów 2D mo»e przyjmowa¢ warto±¢ 4 lub 8.
5. D=bwboundaries(obraz, s¡siedztwo, opcje) - rozbudowana wersja pole-cenia bwperim. Jako rezultat dziaªania funkcji otrzymujemy wektor o rozmia-rze równym ilo±ci izolowanych obiektów, skªadaj¡cy si¦ z tablic wspóªrz¦d-nych ka»dej granicy. Jako opcje mamy dwie mo»liwo±ci: 'noholes' i 'holes'.
1
![Page 2: operacje na obrazach matlab](https://reader038.vdocuments.mx/reader038/viewer/2022100507/5571f9c84979599169906b51/html5/thumbnails/2.jpg)
Na �g.1 pokazano efekt dziaªania tych parametrów. Kolorem czerwonymzaznaczono granice obliczone z parametrem 'noholes'. Dzi¦ki zastosowa-niu opcji 'holes' zyskujemy, oprócz dwóch czerwonych, dodatkow¡ granic¦zaznaczon¡ kolorem niebieskim.
Fig. 1: Efekt dziaªania funkcji bwboudaries z parametrami 'noholes' - kolor czerwony, i 'holes' -czerwony + niebieski
6. imfill(obraz,s¡siedztwo,lokalizacja,'holes'); - (we wcze±niejszychwersjach biblioteki jest to funkcja bwfill) sªu»y do zalewania "dziur" we-wn¡trz �gur. W przypadku obrazów logicznych wypeªnia wskazane myszk¡lub poprzez wspóªrz¦dne obszary zªo»one z zer wewn¡trz �gury. Dodanieparametru 'holes' wypeªnia wszystkie dziury na obrazie. W przypadku ob-razu monochromatycznego poprzez dziur¦ rozumie si¦ obszary zbudowanez pikseli o mniejszej intensywno±ci ni» otoczenie.
7. bwlabel(obraz, s¡siedztwo); - (etykietowanie) - numeruje jednakowo ob-szary jednorodne, nie stykaj¡ce si¦. S¡siedztwo przyjmuje warto±¢ 4 lub 8.Ka»dy jednorodny obiekt ma unikalny numer, b¦d¡cy kolejnymi dodatnimiliczbami caªkowitymi. Do prezentacji wyników etykietowania do±¢ cz¦sto wy-korzystuje si¦ polecenie label2rgb(wynik, 'paleta', [kolor_zerowy],
'kolejno±¢'). Do etykietowania obrazów wielowymiarowych sªu»y polece-nie bwlabeln(obraz, s¡siedztwo).
8. bwselect(obraz, x, y, s¡siedztwo); - Sªu»y do wskazywania obszarówjednorodnych poprzez wskazanie dowolnego punktu wewn¦trznego. Wekto-ry x,y wskazuj¡ poªo»enie pikseli wewn¦trznych. W przypadku ich braku,wskazywanie odbywa si¦ przy u»yciu myszki. S¡siedztwo=4,8 i oznacza typs¡siedztwa. Wynikiem dziaªania tego polecenia jest mapa logiczna, gdzie war-to±¢ jeden maj¡ tylko obiekty wskazane poprzez punkty wewn¦trzne.
2
![Page 3: operacje na obrazach matlab](https://reader038.vdocuments.mx/reader038/viewer/2022100507/5571f9c84979599169906b51/html5/thumbnails/3.jpg)
9. imreconstruct(marker,obraz, s¡siedztwo) - Rekonstrukcja obrazu przyu»yciu markera. Obraz i marker mog¡ by¢ obrazami logicznymi lub mono-chromatycznymi i musz¡ mie¢ ten sam rozmiar. Rekonstrukcja polega nacyklicznym dokonywaniu dylatacji obrazu i wyznaczaniu cz¦±ci wspólnej ob-razu uzyskanego po dylatacji i obrazu wej±ciowego dla caªego przeksztaªce-nia. Cykl ten powtarza si¦ a» do uzyskania zbie»no±ci, to znaczy braku zmianpomi¦dzy s¡siednimi iteracjami.
10. bwmorph(obraz, 'metoda', parametr); Funkcja ta aplikuje operacje mor-fologiczne na obrazie logicznym. Do metod zaliczamy:
• 'bothat' - operacja Bottom hat, która polega na odj¦ciu od zamkni¦ciaobrazu samego obrazu.
• 'bridge' - ª¡czy blisko siebie le»¡ce piksele.
• 'clean' - zeruje pojedy«czego piksela, otoczonego samymi zerami.
• 'close' i 'open'- zamkni¦cie i otwarcie elementem ones(3).
• 'diag' - zamienia poª¡czenia diagonalne (8-s¡siedztwo) na 4-s¡siedztwopoprzez zmian¦ warto±ci piksela le»¡cego pod przek¡tn¡ na 1.
• 'dilate' i 'erode' - dylatacja i erozja elementem ones(3)
• 'fill' - zmienia warto±¢ zerowego piksela otoczonego samymi jedyn-kami na jeden.
• 'hbreak' - rozdziela H-poª¡czone piksele (w pionie i poziomie) 1 0 11 1 11 0 1
⇒
1 0 11 0 11 0 1
• 'majority' - je»eli suma maski 3x3 jest wi¦ksza lub równa 5, to ele-ment centralny przyjmuje warto±¢ 1. Je»eli nie, to element centralny mawarto±¢ 0.
• 'remove' - zmienia warto±¢ ±rodkowego piksela na 0, je»eli wszyscy jego4-s¡siedzi maj¡ warto±¢ 1.
• ('shrink',n) - kurczy obiekty do punktów. W przypadku obiektuz "dziurami", i u»ycia tej funkcji z n=inf, powstaje obwódka w po-mi¦dzy granic¡ zewn¦trzn¡ i wewn¦trzn¡ obiektu. Obiekty jednoro-dne s¡ zmniejszane do punktu. Parametr n oznacza ilo±¢ iteracji, przyn=inf operacja jest wykonywana do momentu, kiedy pomi¦dzy wynika-mi dwóch s¡siednich iteracji nie b¦dzie ró»nicy. Efekt dziaªania tej funk-cji z parametrem n=inf (kolor czerwony) naniesiony na obraz wej±ciowy
3
![Page 4: operacje na obrazach matlab](https://reader038.vdocuments.mx/reader038/viewer/2022100507/5571f9c84979599169906b51/html5/thumbnails/4.jpg)
Fig. 2: Efekt dziaªania funkcji bwmorph('shrink',inf) zaznaczony kolorem czerwonym
przedstawia �g.2. Widoczna jest obwódka wokóª dziury oraz pojedy«czypunkt w wewn¦trznym obiekcie.
• ('skel',n) - szkieletyzacja. Dziaªanie parametru n jest analogiczne dofunkcji 'shrink'.
• 'spur' - usuwa gaª¦zie, poª¡czone diagonalnie.1 1 0 0 01 0 0 1 00 1 0 0 11 0 1 1 01 1 0 1 0
⇒
1 1 0 0 01 0 0 0 00 1 0 0 11 0 1 1 01 1 0 1 0
• ('thicken', n) i ('thin', n) - pogrubianie i wycienianie obiektu
• 'tophat' - operacja Top hat. Funkcja zwraca ró»nice pomi¦dzy obra-zem, a jego otwarciem.
4