From c8d355a7621945a33fba920f8114e5fcf9eb800f Mon Sep 17 00:00:00 2001 From: charlie <1753524606@qq.com> Date: Fri, 22 Jul 2022 11:31:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=82=85=E9=87=8C=E5=8F=B6?= =?UTF-8?q?=E5=8F=98=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- basic/urls.py | 1 + basic/views.py | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/basic/urls.py b/basic/urls.py index 261bf94..fe45ec1 100644 --- a/basic/urls.py +++ b/basic/urls.py @@ -24,4 +24,5 @@ urlpatterns = [ path('noise', views.noise), path('filter', views.filtration), path('wavelet', views.wavelet), + path('fourier', views.fourier) ] diff --git a/basic/views.py b/basic/views.py index 3d0374a..bb7a0f4 100644 --- a/basic/views.py +++ b/basic/views.py @@ -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')