完成傅里叶变换

master
charlie 4 years ago
parent f5d0a62dd4
commit c8d355a762

@ -24,4 +24,5 @@ urlpatterns = [
path('noise', views.noise),
path('filter', views.filtration),
path('wavelet', views.wavelet),
path('fourier', views.fourier)
]

@ -1083,5 +1083,28 @@ def wavelet(request):
return HttpResponse('请使用POST方法')
@csrf_exempt
def fourier(request):
if request.method == 'POST':
para = json.loads(request.body)
image = para['img']
img = cv2.imread(PREFIX + image, 0)
# 傅里叶
f = np.fft.fft2(img)
fshift = np.fft.fftshift(f)
magnitude_spectrum = 20 * np.log(np.abs(fshift))
# 逆傅里叶
ishift = np.fft.ifftshift(f)
iimg = np.fft.ifft2(ishift)
iimg = np.abs(iimg)
fourier_transform_name = getImageName() + DEFAULT_FORMAT
inverse_name = getImageName() + DEFAULT_FORMAT
cv2.imwrite(PREFIX + fourier_transform_name, magnitude_spectrum)
cv2.imwrite(PREFIX + inverse_name, iimg)
ret = [{"fourier_transform": fourier_transform_name, "inverse": inverse_name}]
return HttpResponse(ret)
return HttpResponse('请使用POST方法')
def r(request):
return render(request, 'upload.html')

Loading…
Cancel
Save