PRZETWARZANIE OBRAZÓW CYFROWYCH
Transkrypt
PRZETWARZANIE OBRAZÓW CYFROWYCH
PRZETWARZANIE OBRAZÓW CYFROWYCH ĆWICZENIE 2 AKWIZYCJA OBRAZÓW BARWNYCH - DEMOSAICING CEL ĆWICZENIA Celem ćwiczenia jest zapoznanie studentów z metodami pozyskiwania obrazów barwnych wykorzystywanymi w popularnych kamerach i aparatach cyfrowych wyposażonych w pojedynczy sensor CCD lub CMOS. PROGRAM ĆWICZENIA 1. Wybierz kilka „surowych” obrazów testowych wykonanych aparatem cyfrowym z matrycą stosująca filtr mozaikowy CFA (ang. Color Filter Array). 2. Zidentyfikuj układ pikseli występujących w danej matrycy. 3. Przygotuj skrypt Matlaba realizujący a) interpolację biliniową składowych RGB, b) zaimplementuj inną wybraną metodę interpolacji. 4. otrzymane wyniki porównaj z wynikami działania funkcji demosaic toolboxa Image Processing. 5. Dodatkowo można zasymulować działanie macierzy Bayer i przeanalizować działanie skryptów z wykorzystaniem obiektywnych wskaźników jakości takich jak PSNR czy NCD. SYMULACJA DZIAŁANIA FILTRU BAYERA: Przykład symulacji działania filtru Bayera z układem pikseli ‘grbg’ można zrealizować za pomocą funkcji Matlaba: function [out] = mosaic(im) im=double(im); M = size(im, 1); N = size(im, 2); red_mask = repmat([0 1; 0 0], M/2, N/2); green_mask = repmat([1 0; 0 1], M/2, N/2); blue_mask = repmat([0 0; 1 0], M/2, N/2); R=im(:,:,1).*red_mask; G=im(:,:,2).*green_mask; B=im(:,:,3).*blue_mask; out=uint8(R+G+B); end SKŁADNIA POLECENIA DEMOSAIC: RGB = demosaic(I, sensorAlignment) Sensor 2×2 Alignments: 'gbrg' 'grbg' 'bggr' 'rggb' G B R G G R B G B G G R R G G B ILUSTRACJA INTERPOLACJI BILINIOWEJ: Kanał zielony: GI 1 (G L G R G B G A ) 4 Kanał czerwony: RC 1 ( RNW RNE RSW RSE ) 4 RS 1 RSW RSE 2 Interpolacje kanału niebieskiego przeprowadzamy tak jak dla kanału czerwonego. PLIKI DO POBRANIA: Obrazy testowe Obrazy testowe2. MATERIAŁY: http://en.wikipedia.org/wiki/Color_filter_array