0% found this document useful (0 votes)
32 views

Simulation Speckled Synthetic Aperture Radar Images After Noise Filtering Using MatLab

The goal of this project is to simulate a speckled image before and after noise filtering using Matlab code and functions.

Uploaded by

Majed Imad
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

Simulation Speckled Synthetic Aperture Radar Images After Noise Filtering Using MatLab

The goal of this project is to simulate a speckled image before and after noise filtering using Matlab code and functions.

Uploaded by

Majed Imad
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

SATELLITE AND RADARS

Final Project Report


Name: Majed Imad
Date: 11/12/2019

1. Speckled Synthetic Aperture Radar Images


The goal of this project is to simulate a speckled image before and after noise filtering using
Matlab code and functions.

2. Project Requirements
The code must be able to generate random variables that follow an exponential random
distribution without the use of pre-define Matlab codes such as imnoise(…).

3. Implementation:
• First it is required to read an image. Using the imread(…) function an image is read and assigned
to a variable as a matrix.
• Second and after converting the image to greyscale using rgb2gray(..) and converting the matrix
to a double precision using the double(..) function it is required to generate noisy images.
• To generate the noisy image it is required to generate exponential noise with mean 1 and multiply
it with the noise free image: noise =exprnd(1, m, n) where m and n are the dimensions of the
matrix (image).
• In order to implement the multi-look technique, it is required to repeat the process of generating
exponential noise and multiplying it with the noise free image to create stack of ‘n’ images.
• In order to reduce the speckle, the availability of the created speckled images can be utilized to
obtain speckle reduced image by displaying the average of those speckled images

4. Challenges faced:
As for the challenges that I faced, it was with the familiarity with Matlab and the coding rather than
with a technical challenge. At first, I was displaying my results using the imshow(..) function. This
proved ineffective due to the high brightness of the image that it displays. Instead, I used imagesc(..)
which scales an image data to the full range of the current colormap. But it is recommended to add to
the function: colormap(grey) so that the displayed image will be in greyscale rather than the default
(blue) scale. Furthermore, converting the matrix to a double precision using the double(..) function is
required because the exponential random variable (noise) is an mxn (2D) matrix, preventing any
errors regarding the size of the multiplied matrices (noise and I).
Note that the matrices should be multiplied as follows: noise.*I
The “ .* ” operator indicates that the matrices should be multiplied element by element.

1
5. Explanation:
A random noise with exponential distribution is multiplied with the noise free images to generate
images affected by speckle as shown in the figures below.

2
After computing the average of the 8 images and displaying it we observe a filtered image(fig.2)
which is way better that the noisy ones:

Figure 1: Original Image Figure 2: Filtered Image (8-looks)

Figure 3: Filtered Image (4-looks) Figure 4: Filtered Image (2-looks)

3
6. Conclusion:
The above figures are a comparison between the original image (fig.1), and filtered images of looks L=
8,4, and 2 (figures 2,3,4) respectively. The multi-look image is the average of the stack of images. This
technique is used widely in the field of Synthetic Aperture Radar (SAR) to reduce speckle. As a
conclusion, when the number of looks increase, the quality of the image improves.

You might also like