# How to get diffraction pattern (fft2) from image of double slit(jpeg image)

5 Ansichten (letzte 30 Tage)
Dimitar am 10 Nov. 2014
Kommentiert: Dimitar am 11 Nov. 2014
I would like to obtain the diffraction pattern from double slit. How can I set all blacks to 0 and all white to 1 so that the image fairly represents double slit? Thank you.
clear all; close all; clc;
x = imrotate(x,-48.9);
figure(2)
imagesc(x)
x1 = rgb2gray(x);
x1 = im2double(x1);
X =ifftshift(ifft2(fftshift(x1)));
figure(1)
imagesc(log(abs((X)).^2))
colormap('jet')
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Mikhail am 11 Nov. 2014
Bearbeitet: Mikhail am 11 Nov. 2014
After you get grayscale (2D array) Image, in order to get binary image you can use im2bw function. So you should choose threshold, and this function will set all values above it to 1, and all values below to zero. For example:
threshold=mean(mean(x));
x=im2bw(x,threshold);
You should figure out what formula for threshold is better in your particular case.
##### 1 Kommentar-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden
Dimitar am 11 Nov. 2014
Thank you.

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Image Arithmetic finden Sie in Help Center und File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by