Image restoration
This presentation is the property of its rightful owner.
Sponsored Links
1 / 18

Image Restoration PowerPoint PPT Presentation


  • 134 Views
  • Uploaded on
  • Presentation posted in: General

Image Restoration. Comp344 Tutorial Kai Zhang. Outline. DIPUM Tool box Noise models Periodical noise and removal Noise parameter estimation Spatiral noise removal. The DIPUM Tool box. M-functions from the book Digital Image Processing Using MATLAB

Download Presentation

Image Restoration

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Image restoration

Image Restoration

Comp344 Tutorial

Kai Zhang


Outline

Outline

  • DIPUM Tool box

  • Noise models

  • Periodical noise and removal

  • Noise parameter estimation

  • Spatiral noise removal


The dipum tool box

The DIPUM Tool box

  • M-functions from the book Digital Image Processing Using MATLAB

  • http://www.imageprocessingplace.com/DIPUM_Toolbox_1/dipum_toolbox_main_page.htm

  • Freedownload

    • No original m-functions

    • But can still used for demo


Noise models

Noise models

  • Given a random number generator, how to generate random numbers with a pre-specified CDF?

    • Suppose the random number w is in [0,1]

    • We want to generate a Rayleigh distributed sample set

    • To find z solve the following equation


Functions

Functions

  • Function r = imnoise(f, type, parameters)

    • Corrupt image f with noise specified in type and parameters

    • Results returned in r

    • Type include: uniform, gaussian, salt & pepper, lognormal, rayleigh, exponential

  • Function r = imnoise2(type, M,N,a,b);

    • Generates arrar r of size M-by-N,

    • Entries are of the specified distribution type

    • A and b are parameters


Examples

Examples


Codes

Codes

  • Code1

    • f = imread('lenna.jpg');

    • g = imnoise(f, 'gaussian', 0, 0.01);

    • figure, imshow(g);

    • g = imnoise(f, 'salt & pepper', 0.01);

    • figure, imshow(g);

  • Code2

    • r = imnoise2('gaussian',10000,1,0,1);

    • p = hist(r,50);

    • bar(p);


Periodical spatial noise

Periodical spatial noise

  • Model

    • Using 2-d sinusoid functions

    • M, N: image size

    • A: magnitude of noise

    • U0, v0: frequency along the two directions

    • Bx, By: phase displacement

  • Observation: when x goes through 0,1,2,…,M, the left term will repeat u0 times. So the horizontal frequency is u0. Similar for v0.


Image restoration

  • Function: [r, R, S] = imnoise3(M,N, C, A, B);

    • Generate a sinusoide noise pattern r

    • Of size M by N

    • With Fourier transform R

    • And spectrum S

    • C is a K-by-2 matrix, each row being coordinate (u,v) of an impulse

    • A 1-by-K contains the amplitude of each impulse

    • B is K-by-2 matrix each row being the phase replacement


Periodic noise examples

Periodic noise examples


Codes1

Codes

  • C = [0 64; 0 128; 32 32; 64 0; 128 0; -32 32];

  • [r, R, S] = imnoise3(256,256,C);

  • figure,imshow(S,[]);

  • figure,imshow(r,[]);


Noise estimation

Noise estimation

  • How to determine type and parameters of noise given an image f corrupted by noise?

    • Step 1. Manually choosing a region as featureless as possible, so that variability is primarily due to noise.

      [B,c,r] = roipoly(f);

    • Step2. compute the histogram of the selected image patch

      [p, npix] = histroi(f, c, r);

    • Step3. determine the noise type

      through observation

    • Step4. estimating the central moments

      [v, unv] = statmoments(p, 2);


Illustrations

Illustrations


Functions1

Functions

  • Function: [B,c,r] = roipoly(f);

    • F is the image

    • C and r are sequential column and row coordinates of the polygon / can also be specified by the mouse

    • B is the region selected (of value 1), and all the rest part of the image is 0

  • Function [p, npix] = histroi(f, c,r);

    • Generating histogram p of the region of interest(ROI) specified in c and r (vertex coordinates)


Codes2

codes

  • f = imread(‘lenna.jpg’);

  • noisy_f = imnoise(f,'gaussian',0,0.01);

  • figure,imshow(noisy_f,[]);

  • [B, c, r] = roipoly(noisy_f); %needs mouse interations

  • figure,plot(B);

  • [p,npix] = histroi(f,c,r);

  • figure,bar(p,1);

  • [v, unv] = statmoments(p,2);

  • X = imnoise2('gaussian', npix,1,unv(1),unv(2)^0.5); figure, hist(X,100);


Spatial noise removal

Spatial noise removal

  • Function f = spfilter(g, type, m, n, parameter);

    • Performs spatial filtering

    • Type include: amean, gmean, hmean, chmean, median, max, min, midpoint, artimmed


Codes3

Codes

  • Creating a salt noise image

    • f = imread('lenna.jpg');

    • R = imnoise2('salt & pepper', M, N, 0.1, 0);

    • c = find(R == 0);

    • gp = f;

    • gp(c) = 0;

    • figure, imshow(gp);

  • Filtering

    • fp = spfilt(gp, 'chmean', 3, 3, 1.5);

    • fpmax = spfilt(gp, 'max',3,3);

    • figure,imshow(fp);

    • figure,imshow(fpmax);


Examples of filtering

Examples of filtering


  • Login