ZSO   -  Úloha è.3                                                                                                   Jiøí Filip
Odstranìní rozmazání zpùsobeného pohybem


Úkol:
Pøi skenování obrazu došlo k posunutí pøedlohy ve smìru øádky obrazu. Odstraòte rozmazání z obrazu tak, aby zpráva na nìm napsaná, byla èitelná.

K dispozici je výkonové spektrum Fourierova obrazu ostrého textu (pøed rozmazáním). Pomocný text. Tentýž text ve formátu PDF.



            Pùvodní obraz                                                                            Obraz po rekonstrukci - maskovací matice která mìla odstranit pohybové rozmazání
                                                                                                                  TIF                                obsahuje na první øádce posloupnost 10 bodù
            
Poèet bodù v maskovací matici lze urèit z frekvenèního spektra obrazu (dole frekvenèní spektrum masky).
Použitý filtr :


Spektrum je symetrické a je zde znázornìna jen jeho pravá strana.


Ze spektra je patrné, že místa s minimalni amplitudou jsou vzdálena pøibližnì 30 bodu. Jelikož obraz má šíøku 300 bodù bude koeficient
 skuteènì Apix = N / Tpix = 300 / 30 = 10. Výsledné frekvenèní spektrum masky kde jej použijeme je odpovídající.



Zajímavá situace nastane pokud nevložíme posloupnost bílých znakù na první øádek, ale na o nìkolik øádkù níže. V tomto pøípadì dojde k posunutí obrazu
dolù o tolik bodù, o kolik bodù níže vložíme naši posloupnost (dole je obraz posunutý o 30 bodù a jeho frek. spektrum, stejnì tak jako spetrum posunující maskovací matice).


Výpis programu z MATLABu:
close all;
clear all;
figure(1);
obrazek = double(imread('message.tif'))/255;
imshow(obrazek);
figure(2);
vykon_spektrum=imread('napftp.tif');
imshow(vykon_spektrum);

frek_spek_obrazku=fftshift(fft2(obrazek));

sirka=size(obrazek,2);
vyska=size(obrazek,1);

maska=zeros(vyska,sirka);
% pocet svetlych bodu v masce
maska(1,1:10)=1;

spektrum_masky=fftshift(fft2(maska));

upravene_spektrum=(spektrum_masky.^2./(spektrum_masky.^2+0.1)).*(frek_spek_obrazku./spektrum_masky);
figure(3);
subplot(211);
%imshow(real(vykon_obr));
plot(real(frek_spek_obrazku(77,:)));

subplot(212);
%imshow(1./real(spektrum_masky));
plot(real(spektrum_masky(77,:)));
figure(4)
x=real(ifft2(fftshift(upravene_spektrum)));
imshow(x/max(max(x)));% korekce jasu a vykresleni



ZSO - úloha è.4                                                                                                                                10.12.1999   Jiøí Filip