IPT - AGH

Transkrypt

IPT - AGH
Analiza i Przetwarzania Obrazów Cyfrowych
IIIr Informatyki Stosowanej 2015/2016
copyright: M. Dwornik
[email protected]
Wprowadzenie do Image Processing Toolbox
1
Operacje I/O
Do wczytywania obrazów w MatLABie sªu»y polecenie imread('nazwa_pliku') np.
a=imread('cameraman.tif');
Do zapisywania tablic do plików gracznych sªu»y polecenie
imwrite(zmienna, 'nazwa pliku', opcje). Opcje s¡ zale»ne od wybranego formatu
zapisu obrazu. Szczegóªowe informacje o mo»liwych opcjach zawarte s¡ w help-ie tej
funkcji.
Do wy±wietlania sªu»y polecenie imshow(zmienna, opcje), np.
imshow(a, 'InitialMagnification', 'fit')
Dodatkowym poleceniem jest imtool(obraz), które oprócz wy±wietlania obrazu, udo-
st¦pnia wiele narz¦dzi: pixel region, distance, image intensity, adjust contrast, choose
colormap.
Dost¦pne formaty plików to bmp, cur, gif, hdf, ico, jpg, pbm, pcx, pgm, png, pnm,
ppm, ras, tif, xwd.
2
Formaty przechowywania obrazu
W pakiecie MatLAB obrazy s¡ przechowywane na kilka sposobów:
• BIN - macierz binarna (logiczna), przyjmuj¡ca warto±ci true / false
• GRAY - macierz poziomów szaro±ci. Warto±ci mog¡ by¢ typu double (0-1), uint8
(0-255) lub uint16.
• RGB - potrójna tablica intensywno±ci (3 tablice typu GRAY)
• IND - tablica indeksowa (skªada si¦ z 2 cz¦±ci: mapy i legendy), gdzie legenda jest
tablic¡ o wymiarze Nx3 (gdzie N - ilo±¢ dost¦pnych kolorów), a mapa jest tablic¡ z
numerami kolorów (numerami odpowiednich wersów w legendzie).
3
Formaty kodowania koloru
Istnieje wiele sposobów kodowania koloru. Oprócz najpopularniejszego RGB, bazuj¡cego
na ludzkim sposobie postrzegania barw czy u»ywanym w drukarkach CMYK, istniej¡ równie» specyczne formaty maj¡ce na ogóª bardzo w¡skie zastosowanie. Generalnie podzieli¢
je mo»na ze wzgl¦du na ilo±¢ tablic (kanaªów) sªu»¡cych do przechowywania pojedy«czego
koloru.
1. Pojedy«cza tablica: Gray
2. Potrójna tablica:
• RGB (Red, Green, Blue)
• YCbCr, zwane YUV (Luminance, Chrominance)
• H S V (Hue, Saturation, Value) - oparte o sto»ek: H=0:360; S,V=0:100.
• CMY
• L∗ a∗ b∗ - (Luminance, a i b)
• XYZ
• HLS (Hue, Saturation, Lightness)
1
Analiza i Przetwarzania Obrazów Cyfrowych
IIIr Informatyki Stosowanej 2015/2016
copyright: M. Dwornik
[email protected]
3. Poczwórna tablica: CMYK (Cyan, Magenta, Yellow, Key (black))
4. n-kanaªowe.
Przykªadowe warto±ci kolorów przedstawia tab.1.
Tabela
GA:
1:
kolory
Warto±ci
XYZ,
przykªadowych
CMY,
CMYK
kolorów
zostaªy
http://www.easyrgb.com/index.php?X=CALC,
w
wybranych
okre±lone
natomiast
na
kodowaniach
podstawie
HSV,
YUV
i
koloru
RGB
YIC
(UWA-
przy
na
u»yciu
podstawie:
http://web.forret.com/tools/color.asp)
format
czarny
biaªy
czerwony
zielony
RGB
0, 0, 0
1, 1, 1
1, 0, 0
0, 1, 0
niebieski
0, 0, 1
XYZ
0, 0, 0
95.05, 100, 108.9
41.24, 21.26, 1.93
35.76, 71.52, 11.92
18.05, 7.22, 95.05
CMY
1, 1, 1
0, 0, 0
0, 1, 1
1, 0, 1
1, 1, 0
CMYK
0, 0, 0, 1
0, 0, 0, 0
0, 100, 100, 0
100, 0, 100, 0
100, 100, 0, 0
HSV
0, 0, 0
0, 0, 100
0, 100, 100
120, 100, 100
240, 100, 100
HSL
0, 0, 0
0, 0, 100
0, 100, 50
120, 100, 50
240, 100, 50
YUV
0, 0, 0
100, 0, 0
29.9, -14.7, 61.5
58.7, -28.9, -51.5
11.4, 43.6, -10
YIC
0, 0, 0
100, 0, -62.2
29.0, 59.6, 21.1
58.7, -27.4, -52.3
11.4, -32.1, -31.1
Konwersji pomi¦dzy tymi formatami i typami u»ywa si¦ przy wykorzystaniu funkcji
o nazwie typ2typ, np.: rgb2gray() czy ycbcr2rgb().
Dla przykªadu, przeksztaªcenie RGB->YIQ polega na macierzowym mno»eniu macierzy przeksztaªcenia przez wektor RGB. Macierz przeksztaªcenia przedstawiano jest
poni»ej. Format YIQ jest powszechnie wykorzystywany przy analizie barwionych szlifów
mikroskopowych


 


R
0.299 0.587
0.114
Y

 
 

 I  =  0.596 −0.275 −0.321  ·  G 
B
0.212 −0.523 −0.311
Q
4
Palety barw
Do wy±wietlania palet sªu»y polecenie rgbplot(nazwa(dynamika)). W MatLABie dost¦pne s¡ nast¦puj¡ce palety:
•
•
•
•
•
•
•
•
•
•
•
hsv (Hue, Saturation, Value)
Jet - przestawione hsv
Hot - ciepªe kolory: czarny, czerwony, »óªty, biaªy
Cool - zimne kolory: odcienie bª¦kitu i purpury
Gray - odcienie szaro±ci
Bone - odcienie niebieskiego
Cooper - odcienie miedzi
Pink - odcienie ró»u
Prism - kolory: zielony, »óªty, czerwony, olet, niebieski
ag - kolory: czerwony, biaªy, niebieski, czarny
spring, summer, autumn, winter
Narzucanie palety barw na gur¦ odbywa si¦ przy u»yciu polecenie colormap( paleta).
Narzucenie palety odbywa si¦ po wy±wietleniu obrazu i dotyczy wszystkich obrazów na
danej gurze.
2
Analiza i Przetwarzania Obrazów Cyfrowych
IIIr Informatyki Stosowanej 2015/2016
5
copyright: M. Dwornik
[email protected]
Informacje o obrazie
Do wy±wietlania informacji o pliku obrazu: imfinfo('nazwa_pliku');
Innych informacji o obrazie udziela funkcja regionprops(obraz,'all'). Udziela ona
o powierzchni, poªo»eniu ±rodka ci¦»ko±ci, etc. W starszych wersjach MatLABa zadania
tej funkcji peªni polecenie imfeature.
Do wycinania konkretnego fragmentu sªu»y funkcja imcrop(obraz, rect), gdzie rect
= [xmin, ymin, szeroko±¢, wysoko±¢]. Nie podanie opcji rect powoduje, wyznaczenie obszaru wycinku poprzez zaznaczenie urz¡dzeniem wskazuj¡cym (np. kursorem myszki).
Do uzyskiwania informacji o kolorze pikseli znajduj¡cych si¦ pod lini¡ (lub ªaman¡)
sªu»y polecenie linia=improfile(obraz, [x1 x2 ], [y1 y2 ]);. Natomiast do naniesienie owej linii na wy±wietlany obraz sªu»y polecenie line([x1 x2 ], [y1 y2 ],'color',
[R G B]); RGB jest kodowane w warto±ciach typu double. Do uzyskiwania informacji o
warto±ciach intensywno±ci konkretnego piksela sªu»y polecenie piksel=impixel(obraz,
x,y); x-nr kolumny, y - nr wiersza. Dany piksel mo»na zaznaczy¢ np. poleceniem text(x,y,
'*', 'color', [R G B]). Nale»y pami¦ta¢ o zmianie kolejno±ci numerowania. Polecenie
impixel(obraz,x,y) jest to»same z komend¡ obraz(y,x) w wierszu polece«.
6
Rozdzielczo±¢ przestrzenna
Rozdzielczo±¢ przestrzenna deniowana jest na wiele sposobów. Jedna z najcz¦±ciej spotykanych denicji stanowi, »e jest to rozmiar powierzchni jak¡ zajmuje dany piksel (wielko±¢
terenu). W przypadku wydruków i obrazów cz¦sto spotykan¡ miar¡ rozdzielczo±ci przestrzennej jest DPI (dot per inch) czyli ilo±¢ punktów (pikseli) na 1 cal wydruku lub
skanu.
Do zmiany rozmiaru (a co za tym idzie rozdzielczo±ci) sªu»y polecenie imresize(obraz,
[rozmiar], 'metoda');. W MatLABie istniej¡ 3 metody interpolacji:
• 'nearest' - najbli»szego s¡siada,
• 'bilinear' - interpolacja dwuliniowa,
• 'bicubic' - interpolacja kubiczna (dwukwadratowa).
7
Rozdzielczo±¢ barwna
Rozdzielczo±¢ poziomów szaro±ci dla obrazów monochromatycznych RL deniowana jest
jako (Wróbel & Koprowski):
1
lw − ln
=
RL
P
(1)
gdzie:
lw i ln - wysoki i niski poziom szaro±ci
P - liczba naturalna P ∈ {0, 1, 2, ..., 2b − 2, 2b − 1}
b - liczba bitów sªu»¡cych do reprezentacji danego poziomu szaro±ci
Do zmiany dynamiki obrazu (ilo±ci wy±wietlanych odcieni) sªu»y polecenie imapprox(
mapa, legenda, dynamika). Na wej±ciu i wyj±ciu u»ywane s¡ obrazy indeksowane (konwersja rgb2ind,gray2ind).
3

Podobne dokumenty