nh9k / Digital-Image-Processing

Image Processing Implementation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Digital_Image_Processing

These source code that summarizes the codes that I have gathered while attending Professor Sungho Kim's class (Yeungnam University, Digital Image Processing class) and my personal studies.

0. Outline

all of index have matlab code but some index have no result

1. Install Matlab
1.1 Basic Matrix
2. Image resolution
2.1. Image Resize with Interpolation
3. Blob Labeling
3.1. Noise Reduction
4. Intensity Transform
4.1 Histogram equalization
5. Spatial Filtering
5.1. Spatial Sharpening
6. Furier Series
6.1. Aliasing in Image Resizing
6.2 2-D DFT Fourier Spectrum
6.3 Phase Angles and The Reconstructed
6.4. Frequency Analysis
6.5. Steps for Filtering in the Frequency Domain
6.6. Image Low Pass Filter & High Pass Filter
7. Deep learning

1. Install Matlab

  • Install Matlab
  • read Image and show
Image=imread('want_to_read.jpg');
imshow(Image);
title('want_to_read','fontsize',16);

Go 0. Outline

1.1 Basic Matrix

2. Image resolution

2.1 Image Resize with Interpolation

%builtin function

Image=imread('rice.png'); %load an gray image

Image_NN=imresize(Image,0.4,'nearest');
Image_BL=imresize(Image,0.4,'bilinear');
Image_BC=imresize(Image,0.4,'bicubic');

subplot(1,4,1); imshow(Image); title('origin');
subplot(1,4,2); imshow(Image_NN); title('NN');
subplot(1,4,3); imshow(Image_BL); title('bilinear');
subplot(1,4,4); imshow(Image_BC); title('bicubic');
Result

my impletation(resize func) is in directory source_code/myResizeNN or myResizeBil

Go 0. Outline

3. Blob Labeling

Result 1
Result 2

Go 0. Outline

3.1. Noise Reduction

4. Intensity Transform

4.1 Histogram equalization

Result

Go 0. Outline

5. Spatial Filtering

Result 1
Result 2
Result 3

Go 0. Outline

5.1. Spatial Sharpening

Logic Input
  • Laplacian kernel
K=[0 1 0;
   1 -4 1;
   0 1 0]
before shapen Result 1
  • Laplacian kernel
K=[1 1 1;
   1 -8 1;
   1 1 1]
before shapen Result 2
  • Gaussian kernel
K=fspecial('gaussian',[5,5],1)
Kernel Result 3

Go 0. Outline

6. Furier Series

  • make sine waves
  • combine each sine waves
  • sine waves to square waves

Go 0. Outline

6.1. Aliasing in Image Resizing

  • same subsampling
Input Output

Go 0. Outline

6.2. 2-D DFT Fourier Spectrum

Result

Go 0. Outline

6.3. Phase Angles and The Reconstructed

my implement code: doesn't exist. The report exists. but upload the correct code

Result

Go 0. Outline

6.4. Frequency Analysis

6.5. Steps for Filtering in the Frequency Domain

  1. Given an input image f(x,y) of size MxN, obtain thepadding parameters P and Q : Output1
  2. Form a padded image, fp(x,y) of size PxQ by appending the necessary number of zeros to f(x,y): Output2
  3. Multiply fp(x,y) by (-1)x+y to center its transform: Output3
Input Output1 Output2 Output3
  1. Compute the DFT, F(u,v) of the image from step 3: Output4
  2. Generate a real, symmetric filter function*, H(u,v), of size PxQ with center at coordinates (P/2, Q/2): Output5
  3. Form the product G(u,v) = H(u,v)F(u,v) using array multiplication: Output6
  4. Obtain the processed image : Output7
Output4 Output5 Output6 Output7
  1. Obtain the final processed result, g(x,y), by extracting the MxN region from the top, left quadrant of gp(x,y)
  • Cut-off Frequency 200: Output8
  • Cut-off Frequency 100: Output9
  • Cut-off Frequency 5: Output10
Output8 Output9 Output10
  1. Space domain filtering(Output11) vs Frequency domain filtering(Output12)
Output11 Output12

Go 0. Outline

6.6. Image Low Pass Filter & High Pass Filter

7. Deep learning

  • Exercise 1: Object Detection

  • Exercise 2: Regression
    Estimating real number given vector data

  • Exercise 3: Transfer Learning using Alexnet
    Introduce my project Demo video --> [link]

Go 0. Outline

Image Source

searching at matlab, nanhee kim's and sungho kim class

myimg: nanhee kim
others: matlab and prof.sungho kim

Author

Nanhee Kim / @nh9k