Fourier analyse van diffractie door zijden doekje
Geplaatst: wo 11 nov 2020, 11:54
Opmerking moderator
afgesplitst van dit topic
Ik zet meer te denken in Fourier transformatie. Toegevoegd twee plaatjes met ronde en vierkante lichtbron (source). Plaatje rechts is de fourier transformatie.
Ik denk dat het eerder een Fourier vermenigvuldiging van twee plaatjes is (als een hologram). Dus de lichtbron en het gaas. Dat heb ik nog niet geprobeerd.
Het zijn eerste pogingen met Python (resolutie en lightsource grootte zijn nog niet gevarieerd). Nooit eerder geprobeerd.
Code: Selecteer alles
import cv2
import numpy as np
img = cv2.imread('test3.jpg') # load an image
img = img[:,:,2] # blue channel
cv2.imshow('an example image 1', img)
f = cv2.dft(np.float32(img), flags=cv2.DFT_COMPLEX_OUTPUT)
f_shift = np.fft.fftshift(f)
f_complex = f_shift[:,:,0] + 1j*f_shift[:,:,1]
f_abs = np.abs(f_complex) + 1 # lie between 1 and 1e6
f_bounded = 20 * np.log(f_abs)
f_img = 255 * f_bounded / np.max(f_bounded)
f_img = f_img.astype(np.uint8)
cv2.imshow('an example image', f_img)