基于web的深度学习图像处理界面开发(二)

        现在很多搞算法的人,跑跑代码,比如训练和测试代码搞得飞溜,但想把算法代码打包成一个软件,比如给它包装一个界面,就不会了,一般来说,对使用python的人来说,界面的开发有两种,一种是桌面界面基于qt,另外一种是网页界面基于web。本文的猪脚是基于web开发一个界面。

        Web开发界面可以使用Python来创建。下面是一些常见的库和工具,可以在Python中进行Web开发界面的设计和构建:

        1.Flask(https://flask.palletsprojects.com/) - Flask是一个轻量级的Web应用程序框架,适合于小型项目或原型开发。它提供了基本的路由、模板引擎等功能,并支持与数据库交互。

        2.Django(https://www.djangoproject.com/)- Django是一个全功能的Web应用程序框架,非常适合大型复杂项目。它提供了ORM(对象关系映射)、表单处理、身份认证等高级特性,同时也有自动生成管理后台的功能。

        从头再开始学这两个东西,我感觉又要掉很多头发,为了我们的发量幸福,必须搞点简单的方法,那么nicegui则就横空而出了。NiceGUI 是一个基于Python的开源库,它提供了一种优雅的方式来创建Web界面。 通过NiceGUI,开发人员可以使用Python编写代码来构建交互式用户界面,而无需熟悉前端开发技术

        下面界面的开发,需要有一点的基础,建议先看看我写的另外一篇文章:基于web的深度学习图像处理界面开发(一)-CSDN博客

一. 需求

       包装深度学习的界面应该具有以下几个几个基本功能:

       1.通过按钮选择图片或者模型

       2.显示图片

       3.显示运行结果

二.部分代码展示(完整代码看下载链接)

        以一个简单的深度学习分类代码作为演示,大家可以基于这个改,该有的功能都有

#!/usr/bin/env python3
import cv2
import numpy as np
from PIL import Image
from nicegui import ui, app
from model import HappyModel
from tensorflow.keras.utils import img_to_array



app.native.window_args["resizable"] = False


model_path = "logs/HappyModel_model_logep042-accuracy0.966-val_accuracy0.999.h5"

IMG_W = 96
IMG_H = 96
model_cnn = HappyModel((IMG_H, IMG_W, 3))
model_cnn.load_weights(model_path)

EMOTIONS = ['Apple_Braeburn', 'Banana', 'Blueberry', 'Cherry', 'Chestnut', 'Cocos', 'Corn', 'Eggplant',
                 'Fig', 'Ginger_Root', 'Granadilla', 'Lemon', 'Onion_Red', 'Orange', 'Pear']



img = Image.open(result[0])
pil_image = img.resize((IMG_W, IMG_W))

# 将 PIL 图像转换为 NumPy 数组
np_array = np.array(pil_image)
# 创建 OpenCV 图像对象
cv_image = cv2.cvtColor(np_array, cv2.COLOR_RGB2BGR)
image_re = cv_image.astype("float") / 255.0
image_re = img_to_array(image_re)
image_re = np.expand_dims(image_re, axis=0)

# 用模型预测各分类的概率
preds = model_cnn.predict(image_re)[0]
# emotion_probability = np.max(preds)  # 最大的概率
label = EMOTIONS[preds.argmax()]  # 选取最大概率的

  
# ui.label('预测结果:狗 ').classes('fixed-bottom-right mb')
ui.label('预测结果:' + label).classes('fixed-bottom-right')




ui.label('基于神经网络CNN水果分类系统').classes('self-center')  # 居中
ui.run()

三. 运行结果显示

代码的下载路径(新窗口打开链接)基于web的深度学习图像处理界面开发

有问题可以私信或者留言,有问必答

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值