当前位置: 首页 > news >正文

基于yolo11+flask打造一个精美登录界面和检测系统

这个是使用flask实现好看登录界面和友好的检测界面实现yolov11推理和展示,代码仅仅有2个html文件和一个python文件,真正做到了用最简洁的代码实现复杂功能。

测试通过环境:

windows x64

anaconda3+python3.8

ultralytics==8.3.81

flask==1.1.2

torch==2.3.0

运行步骤: 安装好环境执行python main.py

后端实现代码:

from flask import Flask, render_template, request, redirect, url_for, session, flash, Response, jsonify
import os
from functools import wraps
from ultralytics import YOLO
import cv2
import numpy as np
import base64
import jsonapp = Flask(__name__)
app.secret_key = 'your_secret_key'  # 设置密钥用于session# 初始化YOLO11模型
model = YOLO('yolo11n.pt')  # 或使用其他版本如 yolo11s.pt, yolo11m.pt
#热启动
model(np.zeros((300, 300, 3), np.uint8))# 登录验证装饰器
def login_required(f):@wraps(f)def decorated_function(*args, **kwargs):if 'logged_in' not in session:return redirect(url_for('login'))return f(*args, **kwargs)return decorated_function# 登录路由
@app.route('/', methods=['GET', 'POST'])
@app.route('/login', methods=['GET', 'POST'])
def login():if request.method == 'POST':username = request.form['username']password = request.form['password']if username == 'admin' and password == 'admin':session['logged_in'] = Truereturn redirect(url_for('detection'))else:flash('Invalid username or password!')return render_template('login.html')# 目标检测路由
@app.route('/detection')
@login_required
def detection():return render_template('detection.html')@app.route('/detect', methods=['POST'])
@login_required
def detect():try:data = request.jsonimage_data = data['image'].split(',')[1]confidence = float(data['confidence'])iou = float(data['iou'])# 解码base64图像image_bytes = base64.b64decode(image_data)nparr = np.frombuffer(image_bytes, np.uint8)image = cv2.imdecode(nparr, cv2.IMREAD_COLOR)# 运行检测results = model(image, conf=confidence, iou=iou)[0]# 在图像上绘制检测结果for box in results.boxes:x1, y1, x2, y2 = map(int, box.xyxy[0])conf = float(box.conf[0])cls = int(box.cls[0])label = f'{results.names[cls]} {conf:.2f}'cv2.rectangle(image, (x1, y1), (x2, y2), (0, 255, 0), 2)cv2.putText(image, label, (x1, y1 - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)# 将结果图像转换为base64_, buffer = cv2.imencode('.jpg', image)image_base64 = base64.b64encode(buffer).decode('utf-8')return jsonify({'success': True,'image': f'data:image/jpeg;base64,{image_base64}'})except Exception as e:return jsonify({'success': False,'error': str(e)})@app.route('/detect_video_frame', methods=['POST'])
@login_required
def detect_video_frame():# 类似于detect路由,但专门处理视频帧# ... implementation similar to detect route ...passif __name__ == '__main__':app.run(debug=True)

登录界面:

目标检测界面:

 

相关文章:

基于yolo11+flask打造一个精美登录界面和检测系统

这个是使用flask实现好看登录界面和友好的检测界面实现yolov11推理和展示,代码仅仅有2个html文件和一个python文件,真正做到了用最简洁的代码实现复杂功能。 测试通过环境: windows x64 anaconda3python3.8 ultralytics8.3.81 flask1.1.…...

【软考-架构】13.1、软件架构概述-构件技术

✨资料&文章更新✨ GitHub地址:https://github.com/tyronczt/system_architect 文章目录 ✨【重点】系统架构设计软件架构概述软件架构设计与生命周期构件🌟软件架构风格数据流风格调用/返回风格独立构件风格虚拟机风格仓库风格闭环控制风格C2体系结…...

RabbitMQ(补档)

RabbitMQ 是一个开源的消息队列软件(有时也被称为消息代理),它实现了高级消息队列协议(AMQP)。它主要用于应用程序之间,或者软件组件之间的消息通信。通过使用 RabbitMQ,可以实现异步的、可靠的…...

仿“东方甄选”直播商城小程序运营平台

在公域直播流量红利趋于饱和、流量成本大幅攀升的当下,私域直播为企业开辟了新的流量聚集和转化渠道,特别是对于那些希望在私域流量领域取得突破的品牌商家来说,直播场景以其独特的高频互动氛围,相比其他运营方式,展现…...

增量数据同步怎么做

增量数据同步怎么做?比如A系统里有母猪数据,新增了一头母猪,这条母猪数据要低延迟地同步到B系统。而不是A系统全表扫描一遍,然后全部同步到B系统。这种全扫描同步方法延迟非常大,尤其涉及到母猪大数据时,会…...

LeetCode 解题思路 18(Hot 100)

解题思路: 继承 LinkedHashMap: 内置双向链表,自动维护节点的插入顺序和访问顺序。LRU 淘汰逻辑: 覆盖 removeEldestEntry,当元素数量超过 capacity 时,移除最旧条目。removeEldestEntry 方法提供钩子&…...

基于Spring Boot的民宿租赁系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...

Go红队开发—web网络编程

文章目录 web网络编程Req快速请求 调试DevModeDebugLogTraceInfo瓶颈分析 控制请求与响应控制请求的字段内容控制调试打印的内容分开dump请求与响应部分请求体设置 作用范围级别设置参数查询URL 路径参数表单请求设置请求头设置 判断响应状态码解析数据SetSuccessResultgjson响…...

ollama不安装到c盘,安装到其他盘

ollama 安装包默认安装到c盘,安装程序并没有提供选择文件夹安装功能,本来c盘就快满了,下几个模型c盘都快爆了,如何将ollma安装到其他盘呢? ollama 默认安装位置 C:\Users\Admin\.ollama 是 Ollama 用来放大模型的文件夹…...

【HTML】一、基础标签

文章目录 1、开发环境准备2、html介绍3、html基本骨架4、标签的关系5、常用标签5.1 标题5.2 段落5.3 换行与水平线5.4 文本格式化标签5.5 图像标签5.6 超链接标签5.7 音频标签5.8 视频标签 6、路径7、网页制作 1、开发环境准备 在编辑器中写代码,在浏览器中看效果 …...

NPU、边缘计算与算力都是什么啊?

考虑到灵活性和经济性,公司购置一台边缘计算机,正在尝试将PCGPU的计算机视觉项目转到边缘计算机NPU上。本文简单整理了三个概念,并试图将其做个概要的说明。 一、算力:数字世界的“基础能源” 1.1 算力是什么 **算力&#xff08…...

spring声明式事务原理01-调用第1层@Transactional方法(事务访问入口)

文章目录 【README】【步骤1】UserAppService调用userSupport.saveNewUser()【步骤2】获取到TransactionInterceptor【步骤3】chain不为空,接着执行CglibMethodInvocation#proceed方法【补充】AopContext作用 【步骤4】CglibMethodInvocation#proceed方法【步骤5】调…...

[MoeCTF 2021]babyRCE

打开题目在线环境可以看到&#xff1a; <?php$rce $_GET[rce]; if (isset($rce)) {if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\|\%|\>|\<|\|\"/i", $rce)) {system($rce);}else {echo "hhhhhhacke…...

【leetcode hot 100 114】二叉树展开为链表

解法一&#xff1a;执行一次先序遍历&#xff0c;把元素放入list中&#xff0c;然后放回root中 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { th…...

嵌入式八股,为什么单片机中不使用malloc函数

1. 资源限制 单片机的内存资源通常非常有限&#xff0c;尤其是RAM的大小可能只有几KB到几十KB。在这种情况下&#xff0c;使用 malloc 进行动态内存分配可能会导致内存碎片化&#xff0c;使得程序在运行过程中逐渐耗尽可用内存。 2. 内存碎片问题 malloc 函数在分配和释放内…...

基于Python的selenium入门超详细教程(第1章)--WebDriver API篇

学习路线 自动化测试介绍及学习路线-CSDN博客 ​自动化测试之Web自动化&#xff08;基于pythonselenium&#xff09;-CSDN博客 参照博文&#xff1a;selenium入门超详细教程——网页自动化操作-CSDN博客 目录 前言 一、WebDriver API介绍 1.1 什么是WebDriver? 1.2 工…...

IIC通信协议详解与STM32实战指南

IIC通信协议详解与STM32实战指南 引言 IIC&#xff08;Inter-Integrated Circuit&#xff09;是Philips公司开发的串行通信协议&#xff0c;广泛应用于传感器、EEPROM、RTC等低速外设的连接。本文深入解析IIC协议原理&#xff0c;并提供基于STM32的GPIO模拟实现方案&#xff…...

【算法】数组、链表、栈、队列、树

⭐️个人主页&#xff1a;小羊 ⭐️所属专栏&#xff1a;Linux 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 持续更新中...数组、链表点击消除环形链表环形链表 II 栈、队列树 持续更新中… 数组、链表 点击消除 AB5 点击消除 这个题很容…...

vscode 配置golang开发环境

vscode 配置golang开发环境 在go1.20环境中需要指定工具的安装版本 go install golang.org/x/tools/goplsv0.15.3 go install github.com/go-delve/delve/cmd/dlvv1.21.0使用go Install/Update tool安装工具会报错 go版本太低, 而很多时候为了项目稳定或风险太高, 我们不太希…...

uniapp APP使用web-view内嵌 h5 解决打包发版浏览器有缓存需要清除的问题

1.在当前项目根节点下的public目录下的index.html里面写入禁止缓存的 meta <!-- 解决前端发版缓存问题 start --><meta http-equiv"pragma" content"no-cache"><meta http-equiv"cache-control" content"no-cache, no-stor…...

机器学习与深度学习中模型训练时常用的四种正则化技术L1,L2,L21,ElasticNet

L1正则化和L2正则化是机器学习中常用的两种正则化方法&#xff0c;用于防止模型过拟合。它们的区别主要体现在数学形式、作用机制和应用效果上。以下是详细对比&#xff1a; 1. 数学定义 L1正则化&#xff08;也叫Lasso正则化&#xff09;&#xff1a; 在损失函数中加入权重参…...

LLM自动化评测

使用的数据集&#xff1a;ceval-exam import requests from datasets import load_dataset, concatenate_datasets import re from tqdm import tqdm import re, time, tiktoken, ollama from ollama import ChatResponse from ollama import Optionsdef llm(model, query, te…...

Android 英文文章选词

点击文章中的一个单词&#xff0c;获取它。 通过点击的坐标y来获取行数&#xff0c;通过x坐标获取字符偏移量&#xff0c;向前遍历匹配&#xff0c;向后遍历匹配&#xff0c;匹配不成功则跳出循环。截取开始位置和最后位置的字符串。 主要代码 public String getSelectText…...

56.HarmonyOS NEXT 登录模块开发教程(十):总结与展望

温馨提示&#xff1a;本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦&#xff01; HarmonyOS NEXT 登录模块开发教程&#xff08;十&#xff09;&#xff1a;总结与展望 文章目录 HarmonyOS NEXT 登录模块开发教程&#xff08;十&a…...

【Go每日一练】猜数字游戏

&#x1f47b;创作者&#xff1a;丶重明 &#x1f47b;创作时间&#xff1a;2025年3月16日 &#x1f47b;擅长领域&#xff1a;运维 目录 1.&#x1f636;‍&#x1f32b;️题目&#xff1a;猜数字游戏2.&#x1f636;‍&#x1f32b;️代码开发3.&#x1f636;‍&#x1f32b;…...

论文分享:PL-ALF框架实现无人机低纹理环境自主飞行

在室内仓库、地下隧道等低纹理复杂场景中&#xff0c;无人机依赖视觉传感器进行自主飞行时&#xff0c;往往会遇到定位精度低、路径规划不稳定等难题。针对这一问题&#xff0c;重庆邮电大学计算机学院雷大江教授团队在IEEE Trans期刊上提出了一种新型自主飞行框架&#xff1a;…...

element-plus中Autocomplete自动补全输入框组件的使用

目录 1.基本使用 ①从官网复制如下代码 ②查看运行效果 ③代码解读 2.调用后端接口&#xff0c;动态获取建议数据 结语 1.基本使用 ①从官网复制如下代码 <template> <div><!-- 自动补全输入框 --><el-autocompletev-model"state":fetc…...

【医学影像 AI】大型语言模型生成 ROP 患者信息材料的能力

【医学影像 AI】大型语言模型生成 ROP 患者信息材料的能力 0. 论文简介0.1 基本信息0.2 摘要 1. 引言2. 材料与方法2.1 大语言模型的使用2.2 可读性标准2.3 统计分析 3. 结果3.1 Bezirci-Yılmaz可读性评分3.2 Ateşman可读性评分3.3 全面性评分3.4 准确性评分 4. 讨论4.1 可读…...

(性能测试)性能测试工具 2.jmeter的环境搭建 3jmeter元件和4使用实例 5jmeter元件和参数化

目录 性能测试工具 性能测试工具 jemeter环境搭建 jmeter的常用目录介绍 jmeter修改语言和主题--jmeter界面的汉化 jmeter元件 jmeter元件和组件的介绍 jmeter的作用域原则 jmeter的执行顺序 案例&#xff1a;执行顺序 jmeter使用案例 jmeter线程组的介绍 jmeter…...

Matlab 四分之一车体车辆半主动悬架鲁棒控制

1、内容简介 略 Matlab 173-四分之一车体车辆半主动悬架鲁棒控制 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...

Kafka可视化工具KafkaTool工具的使用

Kafka Tool工具 介绍 使用Kafka的小伙伴&#xff0c;有没有为无法直观地查看 Kafka 的 Topic 里的内容而发过愁呢&#xff1f;下面推荐给大家一款带有可视化页面的Kafka工具&#xff1a;Kafka Tool &#xff08;目前最新版本是 3.0.2&#xff09; 注意&#xff1a;以前叫Kafk…...

【Unity】在项目中使用VisualScripting

1. 在packagemanager添加插件 2. 在设置中进行初始化。 Edit > Project Settings > Visual Scripting Initialize Visual Scripting You must select Initialize Visual Scripting the first time you use Visual Scripting in a project. Initialize Visual Scripting …...

【Maven教程与实战案例】

文章目录 前言一、Maven是什么&#xff1f;二、Maven的安装与配置1. 安装前置条件2. 下载与配置 Maven3. 验证安装 三、Maven的核心概念1. POM.xml 文件2. 构建生命周期与插件机制 四、实战项目示例1. 项目目录结构2. 编写代码App.javaAppTest.java 3. 构建项目4. 运行项目 前言…...

Flask中使用with语句手动加载应用上下文

在 Flask 中&#xff0c;with app.app_context(): 手动加载应用上下文&#xff0c;使代码块可以访问 Flask 全局对象&#xff08;如 current_app、g&#xff09;&#xff0c;即使代码不在请求中运行。 1. 为什么需要手动加载应用上下文&#xff1f; 在 Flask 中&#xff0c;某…...

ROS实践(五)机器人自动导航(robot_navigation)

目录 一、知识点 1. 定位 2. 路径规划 (1)全局路径规划 (2)局部路径规划 3. 避障 二、常用工具和传感器 三、相关功能包 1. move_base(决策规划) 2. amcl(定位) 3. costmap_2d(代价地图) 4. global_planner(全局规划器) 5. local_planner(局部规划器…...

【数学建模】层次分析法(AHP)详解及其应用

层次分析法(AHP)详解及其应用 引言 在现实生活和工作中&#xff0c;我们经常面临复杂的决策问题&#xff0c;这些问题通常涉及多个评价准则&#xff0c;且各准则之间可能存在相互影响。如何在这些复杂因素中做出合理的决策&#xff1f;层次分析法(Analytic Hierarchy Process…...

【大模型】Transformer、GPT1、GPT2、GPT3、BERT 的论文解析

前言 在自然语言处理&#xff08;NLP&#xff09;和深度学习的快速发展中&#xff0c;Transformer模型和 GPT系列模型扮演了至关重要的角色。本篇博客旨在对这些开创性的论文进行介绍&#xff0c;涵盖它们的提出时间、网络结构等关键信息&#xff0c;能够快速的理解这些模型的设…...

Android 手机启动过程

梳理 为了梳理思路&#xff0c;笔者画了一幅关于 Android 手机启动的过程图片内容纯属个人见解&#xff0c;如有错误&#xff0c;欢迎各位指正...

【redis】hash基本命令和内部编码

文章目录 表示形式命令HSET 和 HGET HEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSETNXHINCRBYHINCRBYFLOAT命令小结内部编码 表示形式 Redis 自身已经是键值对结构了 Redis 自身的键值对就是通过哈希的方式来组织的 把 key 这一层组织完成之后&#xff0c;到了 value 这一层&…...

统计数字字符个数(信息学奥赛一本通-1129)

【题目描述】 输入一行字符&#xff0c;统计出其中数字字符的个数。 【输入】 一行字符串&#xff0c;总长度不超过255。 【输出】 输出为1行&#xff0c;输出字符串里面数字字符的个数。 【输入样例】 Peking University is set up at 1898. 【输出样例】 4 【输出样例】 #in…...

基于javaweb的SSM+Maven网上选课管理系统设计与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…...

算法及数据结构系列 - BFS算法

文章目录 框架思路经典题型111. 二叉树的最小深度752. 打开转盘锁 框架思路 BFS 的核心思想应该不难理解的&#xff0c;就是把一些问题抽象成图&#xff0c;从一个点开始&#xff0c;向四周开始扩散。一般来说&#xff0c;我们写 BFS 算法都是用队列这种数据结构&#xff0c;每…...

深入剖析 MetaSpace OOM 问题:根因分析与高效解决策略

目录 一、MetaSpace 区 OOM&#xff1a;概述 &#xff08;一&#xff09; MetaSpace的变革与挑战 &#xff08;二&#xff09;MetaSpace OOM的影响 &#xff08;三&#xff09; 为什么要关注MetaSpace OOM 二、MetaSpace 区 OOM的根本原因 &#xff08;一&#xff09;Met…...

java自带日志系统介绍(JUL)以及和Log4j 2、Logback、SLF4J不同日志工具的对比

Java 日志系统是开发中用于记录应用程序运行时信息的重要工具。以下是 Java 日志系统的核心组件及其使用场景、配置参数的详细介绍&#xff0c;以及不同日志系统的对比分析。 Java 日志系统核心组件 1. 日志记录器&#xff08;Logger&#xff09; 作用&#xff1a;负责生成日…...

Kubernetes 中metrics-server的采集周期,采集链路是什么样的?

0. 运维干货分享 软考高级系统架构设计师备考学习资料软考高级网络规划设计师备考学习资料Kubernetes CKA认证学习资料分享信息安全管理体系&#xff08;ISMS&#xff09;制度模板分享免费文档翻译工具(支持word、pdf、ppt、excel)PuTTY中文版安装包MobaXterm中文版安装包ping…...

一分钟了解深度学习

一分钟了解深度学习 A Minute to Know About Deep Learning By JacksonML 1. 什么是深度学习&#xff1f; 深度学习(Deep Learning) 是机器学习的一个子集&#xff0c;都属于人工智能的范畴&#xff1b;它使用多层神经网络&#xff08;称为深度神经网络&#xff09;来模拟人…...

Git LFS (Large File Storage) 简介

目录 Git LFS (Large File Storage) 简介 1. 什么是 Git LFS&#xff1f; 2. 为什么需要 Git LFS&#xff1f; 3. Git LFS 的工作原理 4. 如何使用 Git LFS&#xff1f; 4.1 安装 Git LFS 4.2 配置 Git LFS 5. Git LFS 的优缺点 优点 缺点 6. 适用场景 7. 结论 1. …...

前端权限系统

前端权限系统是为了确保用户只能访问他们有权限查看的资源而设计的。在现代前端开发中&#xff0c;权限控制不仅仅是简单的显示或隐藏元素&#xff0c;还涉及到对路由、组件、数据和操作权限的细致控制。下面是前端权限系统的常见设计方案和实现步骤。 前端权限系统的组成部分 …...

【蓝桥杯速成】| 4.递归

递归 题目一&#xff1a;最大公约数 问题描述 1979. 找出数组的最大公约数 - 力扣&#xff08;LeetCode&#xff09; 给你一个整数数组 nums &#xff0c;返回数组中最大数和最小数的 最大公约数 。 两个数的 最大公约数 是能够被两个数整除的最大正整数。 解题步骤 需要…...

QEMU源码全解析 —— 块设备虚拟化(4)

接前一篇文章:QEMU源码全解析 —— 块设备虚拟化(3) 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM源码解析与应用》 —— 李强,机械工业出版社 类模板是创建类的模式_创建类是的模版-CSDN博客<...