From e2ec48b8d6fef9d5ef5cbbd4ec717ef54cd13457 Mon Sep 17 00:00:00 2001 From: charlie <1753524606@qq.com> Date: Fri, 22 Jul 2022 09:42:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=9B=BE=E5=83=8F=E5=BD=A2?= =?UTF-8?q?=E6=80=81=E5=AD=A6=E6=93=8D=E4=BD=9C?= 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 d35c699..7a5647f 100644 --- a/basic/urls.py +++ b/basic/urls.py @@ -20,4 +20,5 @@ urlpatterns = [ path('lcd', views.line_change_detection), path('smooth', views.smooth), path('sharpen', views.sharpen), + path('morphology', views.morphology) ] diff --git a/basic/views.py b/basic/views.py index 2316f3d..13cbaee 100644 --- a/basic/views.py +++ b/basic/views.py @@ -810,5 +810,28 @@ def sharpen(request): return HttpResponse('请使用POST方法') +@csrf_exempt +def morphology(request): + if request.method == 'POST': + para = json.loads(request.body) + image = para['img'] + size = para.get('size', 5) + img = cv2.imread(PREFIX + image, cv2.IMREAD_UNCHANGED) + kernel = cv2.getStructuringElement(cv2.MORPH_CROSS, (size, size)) + op = para['type'] + if op == 'open': + img = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel) + elif op == 'close': + img = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel) + elif op == 'erode': + img = cv2.erode(img, kernel) + elif op == 'dilate': + img = cv2.dilate(img, kernel) + filename = getImageName() + DEFAULT_FORMAT + cv2.imwrite(PREFIX + filename, img) + return HttpResponse(filename) + return HttpResponse('请使用POST方法') + + def r(request): return render(request, 'upload.html')