首页 > 其他分享 >基于web的深度学习图像处理界面开发(二)

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

时间:2024-10-22 21:51:39浏览次数:8  
标签:web 界面 IMG image re 图像处理 import model

         现在很多搞算法的人,跑跑代码,比如训练和测试代码搞得飞溜,但想把算法代码打包成一个软件,比如给它包装一个界面,就不会了,一般来说,对使用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()

三. 运行结果显示

6cf0e733f1968730e09a20d3c15ed8e9.png

a50bc7688fa0a794113ef7b3ba645060.png

项目源码下载:

整套算法系列:https://blog.csdn.net/u013289254/category_12814208.html?spm=1001.2014.3001.5482icon-default.png?t=O83Ahttps://blog.csdn.net/u013289254/category_12814208.html?spm=1001.2014.3001.5482项目源码下载地址:关注WX【AI街潜水的八角】,回复【web界面】即可下载

整套项目源码内容包含

整套界面程序和深度学习推理代码

标签:web,界面,IMG,image,re,图像处理,import,model
From: https://blog.csdn.net/u013289254/article/details/143168548

相关文章

  • 基于PyQt Python的深度学习图像处理界面开发(二)
         Python标准库更多的适合处理后台任务,唯一的图形库tkinter使用起来很不方便,所以后来出现了针对Python图形界面开发的扩展库,例如PyQt。    在介绍PyQt之前,必须先简单介绍一下Qt。Qt是一个C++可视化开发平台,是一个跨平台的C++图形用户界面应用程序框架(C++......
  • 玄机蓝队靶场_应急响应_25:webshell查杀
    参考:https://blog.csdn.net/administratorlws/article/details/139521078Xterm连接之后看到/var/www有网站,直接下载下来用工具扫扫木马。客户端太拉了,下次直接用河马在线网站扫。找shell.php.提交flag{1}发现不对,河马客户端没给它扫出来。然后乱翻翻到了flag{027ccd04-506......
  • 【Azure Developer】System.Net.WebException: The request was aborted: Could not c
    问题描述在Azure中,使用操作系统为WinServer2019和WinServer2012的虚拟机,同样代码可以链接同一个AzureServiceBus。Win2019成功运行,但是在Win2012上报错:CouldnotcreateSSL/TLSsecurechannel. 问题解答WinServer2012默认不支持TLS1.2,可以通过安装 Update3140245 ......
  • 【Azure Developer】System.Net.WebException: The request was aborted: Could not c
    问题描述在Azure中,使用操作系统为WinServer2019和WinServer2012的虚拟机,同样代码可以链接同一个AzureServiceBus。Win2019成功运行,但是在Win2012上报错:CouldnotcreateSSL/TLSsecurechannel. 问题解答WinServer2012默认不支持TLS1.2,可以通过安装 Update314......
  • webSocket协议
    websocket是什么了解websocket之前首先要说一下HTTP。首先我们想象一下大部分的用户在操作网页时,用户在页面上点击一下按钮前端会给后台服务器发送一次HTTP请求,后台返回一次HTTP响应。但是这种方式的前提都是用户自己请求(点击页面)的方式太被动了,而且只有在请求之后服务器才会......
  • 鸿蒙 Flutter 开发中集成 Webview
    鸿蒙Flutter开发中集成Webview主要有两种方案使用第三方库如使用flutter_inappwebview插件,在pubspec.lock文件中配置:flutter_inappwebview:git:url:https://gitee.com/openharmony-sig/flutter_inappwebview.gitpath:"flutter_inappwebview"编......
  • WebGl 缩放矩阵
    缩放矩阵是线性代数中的一种矩阵,用于描述图形在空间中沿着各个坐标轴进行均匀缩放的变换。在3D图形编程中,缩放矩阵通常用于调整物体的大小,而不改变其形状。|x000||0y00||00z0||0001|其中,(x,y,z)是缩放向量,表示沿着x、y、z轴的缩放比......
  • WebGl 旋转矩阵
    旋转矩阵是一个正交矩阵,用于在二维或三维空间中描述一个坐标系绕原点的旋转。在三维空间中,旋转矩阵通常用于沿x轴、y轴或z轴进行旋转,或者沿任意给定轴线进行旋转。旋转矩阵具有一些重要性质,例如它们是正交的,即它们的共轭转置等于其逆矩阵,而且它们保持向量的长度和夹角不变。......
  • 基于VCCT法的界面裂纹扩展计算
    1、任何粘结在一起的两种材料之间都存在界面人们对于复合材料界面特别感兴趣,因为当这种类型的结构承受特定的外部载荷时,失效或界面开裂过程具有独一无二的特征。界面开裂一般使用断裂力学方法模拟,例如节点释放技术。因为界面裂纹一般沿着界面扩展,所以VCCT方法已经广泛应用于......
  • SpringBoot搭建webSocket长链接,实现双向实时通信
    很多网站为了实现推送技术,所用的技术都是轮询。轮询是在特定的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数......