- AI源码解读:数字图像处理案例(Python版)
- 李永华编著
- 561字
- 2022-07-27 17:26:18
AI源码解读.数字图像处理案例:Python版
2.3.7 后端搭建
本部分包括微信小程序界面设计和Flask+uWSGI+Nginx搭建后端。
1.微信小程序界面设计
用户通过微信小程序将图片上传至服务器,服务器对图片进行处理后通过微信小程序返回给用户。
界面布局:微信小程序分为两个页面,用户通过第一个页面上传图片,第二个页面获得处理后的图片。
1)第一个页面
用户在第一个页面进行图片上传,界面布局和组件关系代码如下:
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P84_24876.jpg?sign=1734456354-xkIPfy9Q99OZWQr4S9UKg3x8ASHhRdMB-0-7e2a32f08fe289f55fd5fa4bf03e0f41)
从本地选择图片并上传的代码如下:
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P84_24875.jpg?sign=1734456354-66LK6CyW4tzBP1vw3Lo0YD2ckAjtqPEr-0-eea5ad1a5f94297027e7a558b35aa362)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P85_24877.jpg?sign=1734456354-68VADiVjr5Xdniy4CLrVJpjGGs3IGaoD-0-58a3763314d04bb633d91bb1230ede30)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P86_24514.jpg?sign=1734456354-y6Aezb3YtZuxiB5xFGj9d61r3i9S2hmk-0-413051082c7bcda8123264b7557011c1)
2)第二个页面
用户通过第二个页面获取处理后的图片,布局和组件代码如下:
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P86_24515.jpg?sign=1734456354-miDGF69KLjYh2R4OpMf33NYCCgFcE0mR-0-157eefdc52c4d586467a4cf99084a944)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P87_7012.jpg?sign=1734456354-8GVUcvNbtLlmv0J5jVsAAktxOFFz5W7p-0-b7454b91856d325e2e1ab91a99e0c713)
2.Flask+uWSGI+Nginx搭建后端
Flask是基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,接收HTTP请求并进行预处理,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果返回给用户复杂的内容时,需要借助jinja2模板来实现,即:将模板和数据进行渲染,渲染后的字符串返回给用户浏览器。
Nginx是轻量级的Web服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在BSD-like协议下发行。其特点是占有内存少、并发能力强。
uWSGI项目为构建托管服务开发全栈,使用通用的API和配置风格实现应用服务器(对于各种编程语言和协议)、代理、进程管理器和监控器。由于可插拔架构,可以对其扩展以支持更多的平台和语言。
1)uWSGI配置
uWSGI配置文件如下:
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P88_37746.jpg?sign=1734456354-sEVEm0oJzFDMPPiVA3wWzCJHcQdVMJxk-0-3517acf6daa9f3e4fd9ebbf8e542dfbf)
2)Nginx配置
Nginx主要配置server模块,相关操作如下:
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P88_24880.jpg?sign=1734456354-vMccVeCYClMbAXV5CksmGc71GSpSJJqU-0-b125f39680c26981cecf3a354a7023d9)
3)Flask
Flask相关操作如下:
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P89_24883.jpg?sign=1734456354-0k97cBcSWPaC9Mm4giLBrzBfzW4MTrBh-0-1bae6bcb1a49325af746a86bb48ae704)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P90_24525.jpg?sign=1734456354-A9MFlVDQDuATojKXyDfbzvlBAoMXMt95-0-29ea8e28da7e70f25b56b4ff625ce6a3)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P91_24526.jpg?sign=1734456354-zSAWcynHV8ymLl6H5TQHt51xpIfIClva-0-0eec59ee747f80702ce2876fb2882a2e)