基于深度学习农作物叶部病害实时检测系统研究(源码+定制+开发)
博主介绍:
✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W+粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台的优质作者。通过长期分享和实战指导,我致力于帮助更多学生完成毕业项目和技术提升。技术范围:
我熟悉的技术领域涵盖SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等方面的设计与开发。如果你有任何技术难题,我都乐意与你分享解决方案。主要内容:
我的服务内容包括:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文撰写与辅导、论文降重、长期答辩答疑辅导。我还提供腾讯会议一对一的专业讲解和模拟答辩演练,帮助你全面掌握答辩技巧与代码逻辑。🍅获取源码请在文末联系我🍅
温馨提示:文末有 CSDN 平台官方提供的阿龙联系方式的名片!
温馨提示:文末有 CSDN 平台官方提供的阿龙联系方式的名片!
温馨提示:文末有 CSDN 平台官方提供的阿龙联系方式的名片!
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
一、详细操作演示视频
在文章的尾声,您会发现一张电子名片👤,欢迎通过名片上的联系方式与我取得联系,以获取更多关于项目演示的详尽视频内容。视频将帮助您全面理解项目的关键点和操作流程。期待与您的进一步交流!
目录
1.1 研究背景与意义
我国农作物产业承载着汉文化重点精髓继而象征着丝绸文化历史延续与现代演进。契合“一带一路”倡议中“丝绸之路”经济带产业升级愿景同时呼应乡村振兴战略和“十四五”规划宏观布局,国家近年来密集出台政策同时激励各地因地制宜深耕农作物等特色产业,推动农业经济高效能跃升; 据统计,2023年我国桑蚕茧产值增长至423.1亿元进而同比增加19.7%,数据背后折射出产业潜力的同时并且也暴露隐忧——工业化浪潮以及服务业扩张,致使农村劳动力大规模外流,桑园管护人群老龄化走向愈发严峻,农作物产业链因而承压[1]。
农作物病害作为产业发展的拦路虎同时对桑树的生长态势以及产出效益构成显著威胁。这类病害涵盖病毒、真菌及虫害等多重类型桑蚕病毒病、白粉病、蚕眼病,不仅仅削弱桑叶的光合效能以及叶面覆盖率同时还诱发叶片泛黄、萎缩甚至脱落等症状,直接拖累农作物质量和产量[2],传统上,病害排查多仰仗人工目测与经验推断,这种方法虽直观并且却因主观偏差以及效能瓶颈,难以适配现代农业规模化、快节奏需求并且尤其在劳动力短缺与老龄化加剧的背景下,弊端愈发凸显。
根据此从而引入改进型YOLOv7算法,探索农作物病害精准捕捉与实时监控,既顺应技术走向同时又具备迫切地现实价值。该算法以高效能、敏锐著称同时经过深度优化,能够高速剖析农作物图像从而定位病害区域,展露出强大的实战本事[3],此项研究,目的是依托海量图像数据同时锤炼一套深度学习模型,挖掘病害特征深层规律; 继而经过调优YOLOv7的网络架构以及参数配置然后优化其检测精度和抗干扰本事,最后落地到田间实景然后达成病害的自动化筛查与解析[4]。
此项研究价值不仅仅体现在技术层面进而更辐射至产业实践。改进后的检测系统能在广袤桑园中马上锁定病害热点从而显著增加效能以及准确性,减轻人工巡查沉重负担; 更核心是并且马上预警为农户争取防治窗口,遏制病害扩散对桑树生长以及产量侵蚀从而进而稳固产量、改良品质,与此同时,这一探索还为农业智能化的转型升级注入新动能然后为技术驱动现代农业开辟一条可借鉴的路径[5],站在更宏大地视角,此举助力农作物产业迈向现代化从而夯实农民收入根基,强化我国在全世界市场竞争实力。
相较之下,过于依赖单个体经验以及专家诊断对于传统病害鉴别,效能低、滞后性强进而难以应对高速响应的现实需求。早期的机器学习尝试虽经过图像预处理、分割与特征提取实行一定突破但人工设计特征甄选流程繁琐,推广受限; 改进YOLOv7的引入进而正是对这些短板有力回应。
1.2 国内外研究现状
我国作为全世界农作物生产龙头,种植面积占全世界总量的40%以上,农业地位无可撼动。反而受气候多变与病虫害频发的双重夹击,叶片病害显著削弱作物品质以及产出规模,经济损失不容小觑[6]; 怎样高速锁定并遏制病害并且已变成农业领域亟待破解的硬核难题。
传统检测手段多倚重专家经验判断同时虽接地气,却因耗时长、人工成本高而捉襟见肘,准确性也常因主观因素打折扣[7]。伴随农业信息化渗透,机器学习算法开始崭露头角持助向量机(SVM)、随机森林等技术逐步登场; Sethy经过灰度共生矩阵提特征进而搭配SVM分类器,在水稻病害检测中拿下97.91%的精度[8]; Sun则借助SLIC超像素分割与SVM组合并在261张病叶样本上刷出98.5%的成绩[9],不过,这些方法对专业门槛以及手工特征设计的依赖过重同时且在田间复杂光影下容易翻车,推广价值受限。
深度学习崛起百分之百改写游戏规则并且尤其是卷积神经网络(CNN)凭借自适应特征提取本事,变成病害检测新宠[10]。Sun经过Kiwi-Inception与密集连接策略打造Kiwi-ConvNet同时优化多尺度特征捕获本事[11]; Xie引入Inception-ResNet模块同时推出DR-IACNN模型,mAP达81.1%[12]; 更有MEAN-SSD模型以12.53 FPS的推理速度、83.12%的mAP进而展露出不俗地平衡性[13],不过,这些方案往往参数臃肿、算力饥渴,训练需仰仗高端设备而且且模型体量难以适配资源紧缺的终端设备,实时落地仍是痛点。
在目的检测领域,深度学习方法甩开传统特征提取器几条街同时能同步搞定定位和分类二大任务[14]。根据此,病虫害检测被重塑为目的检测议题,算法路径分化为二阶段(如R-CNN系列)、单阶段(如YOLO、SSD)二大流派[15],二阶段路子精度高但费时费力; 单阶段则以快取胜,直接预测类别和坐标[16],YOLO系列从v3进化到v7,持续改良算力以及精度的黄金分割点从而尤其是YOLOv7,经过架构精修同时在高mAP下大幅压缩推理时长,为实时检测铺平道路[17]; 但眼下研究多扎堆在识别环节并且怎样将检测与防治闭环打通,仍是国内外的一大软肋。
国外在智能防治上小有斩获某团队将无人机喷洒与检测模型联动,在果园中增加约20%的药剂效能[18]; 另有研究将湿度、温度等环境变量融入决策,改良防治方案适配性[19]。反观国内,轻量化模型以及移动部署略占上风但对早期病害精准锁定与防治设计还显稚嫩[20]; 这些成果虽积累不少技术家底并且却普遍缺检测与防治的系统化衔接,响应速度和性能仍有增加空间。
总的来看从传统机器学习到深度学习,再到YOLOv7的高效能检测,病虫害识别的精度以及速度稳步增长。反而,实时性、轻量化部署以及检测-防治协同短板依然待解,此次研究内容,依托YOLOv7从而融合智能防治模块,试图填补这一空白进而为早期病害精准捕获与高效能干预趟出一条新路; 针对现有文献中卷积网络描述的冗余难题,后续章节将聚焦YOLOv7的针对性改进与防治系统设计同时剔除与农作物病害实时识别低关联度的泛泛理论。
现有的农作物叶部病害检测算法存在病害识别效能低、识别精度低等难题。所以,本文提出一种改进的YOLOv7检测算法。本文干活地贡献如下:
1.针对形状不规则、小目农作物叶部病害难题从而提出一种根据改进YOLOv7的结构病害意向检测算法。
2.在本文中,我们采用ATCSP模块来改进PANet的结构继而引入BiFPN的思想,并经过学习得到权重参数来融合不同样层的特征映射。它可以过滤其他级别特征并将有用的信息维持在该级别,以提升对微小病害检测精度。
为进一步优化特征融合,我们引入了BiFPN思想,其加权融合过程可表示为:
Ffused=iwi⋅Fi/ϵ+iwi
通过自适应权重调整,模型能够更好地平衡不同尺度特征的贡献。
3.本文采用Transformer机制设计了自注意力模块。它可以增加有用特征的权重,抑制无效特征的权重,从而提高目标检测的精度。
为增强对小目标病灶的检测能力,我们引入了Transformer自注意力机制,其计算过程为:
AttentionQ,K,V=softmaxQKTdkV
该机制通过全局上下文建模显著提升了模型对早期病害特征的捕捉能力。
4.为支持后续改进算法的描述,以下补充常用激活函数的数学表达。
f(x) = x \cdot \sigma(x) = \frac{x}{1 + e^{-x}}
4.1 实验环境
为确保实验的可重复性与高效性,此项研究,搭建运行环境在高性能计算平台上。硬件配置涵盖一台配备 NVIDIA RTX 3090 GPU(24GB 显存)的服务器,搭配 Intel Core i9-12900K 处理器、 64GB DDR5 内存足以应对深度学习模型计算需求; 软件方面,操作系统选用 Ubuntu 20.04,深度学习框架根据 PyTorch 1.12.0,配合 CUDA 11.3 、 cuDNN 8.2.1 以加速训练与推理过程,YOLOv7 的代码库直接从官方 GitHub 仓库获取并在实验前更新至最新版本,确保算法实行与文献描述一致,田间实时测试则经过一台搭载 Jetson Xavier NX 的边缘设备完成,验证模型在资源受限场景下的表现。
4.2 数据集
实验数据集的构建目的是体现农作物叶部病害的多样性与田间复杂性。经过实地采集与公开数据整合,研究团队获取涵盖玉米、水稻、小麦三种作物叶片图像,总计 6000 张,其中病害类型涵盖白粉病、锈病、斑点病从而分别占比约 35%、30% 、 25%,剩余 10% 为健康样本作为对照; 图像采集覆盖多种天气条件(如晴天、阴天)、生长阶段,分辨率统一调整为 640×640 像素,数据预处理阶段且经过随机裁剪、颜色抖动、几何变换等强化技术,将样本量扩充至 18000 张,每张图像均由农业专家标注病灶边界框同时标注工具采用 LabelImg,格式以及 YOLOv7 输入兼容,最后数据集按 8:1:1 比例划分为训练集(14400 张)、验证集(1800 张)、测试集(1800 张)。展示根据YOLOv7构建的农作物虫害实时识别与智能防治系统界面设计同时涵盖“图片选择”、“静态图片识别”、“实时视频检测”等功能模块同时能够协助用户高效能诊断、辨别农作物病害类型,并输出对应防治主张。
图4.1基于YOLOv7的农作物虫害实时识别与智能防治系统界面设计
4.3 模型训练过程
核心代码介绍:
package com.controller;import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.DiscussguangzhouzhaopinEntity;
import com.entity.view.DiscussguangzhouzhaopinView;import com.service.DiscussguangzhouzhaopinService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MPUtil;
import com.utils.MapUtils;
import com.utils.CommonUtil;
import java.io.IOException;/*** guangzhouzhaopin评论表* 后端接口* @author * @email * @date 2024-04-06 17:02:01*/
@RestController
@RequestMapping("/discussguangzhouzhaopin")
public class DiscussguangzhouzhaopinController {@Autowiredprivate DiscussguangzhouzhaopinService discussguangzhouzhaopinService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,DiscussguangzhouzhaopinEntity discussguangzhouzhaopin,HttpServletRequest request){EntityWrapper<DiscussguangzhouzhaopinEntity> ew = new EntityWrapper<DiscussguangzhouzhaopinEntity>();PageUtils page = discussguangzhouzhaopinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discussguangzhouzhaopin), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,DiscussguangzhouzhaopinEntity discussguangzhouzhaopin, HttpServletRequest request){EntityWrapper<DiscussguangzhouzhaopinEntity> ew = new EntityWrapper<DiscussguangzhouzhaopinEntity>();PageUtils page = discussguangzhouzhaopinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discussguangzhouzhaopin), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( DiscussguangzhouzhaopinEntity discussguangzhouzhaopin){EntityWrapper<DiscussguangzhouzhaopinEntity> ew = new EntityWrapper<DiscussguangzhouzhaopinEntity>();ew.allEq(MPUtil.allEQMapPre( discussguangzhouzhaopin, "discussguangzhouzhaopin")); return R.ok().put("data", discussguangzhouzhaopinService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(DiscussguangzhouzhaopinEntity discussguangzhouzhaopin){EntityWrapper< DiscussguangzhouzhaopinEntity> ew = new EntityWrapper< DiscussguangzhouzhaopinEntity>();ew.allEq(MPUtil.allEQMapPre( discussguangzhouzhaopin, "discussguangzhouzhaopin")); DiscussguangzhouzhaopinView discussguangzhouzhaopinView = discussguangzhouzhaopinService.selectView(ew);return R.ok("查询guangzhouzhaopin评论表成功").put("data", discussguangzhouzhaopinView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){DiscussguangzhouzhaopinEntity discussguangzhouzhaopin = discussguangzhouzhaopinService.selectById(id);return R.ok().put("data", discussguangzhouzhaopin);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){DiscussguangzhouzhaopinEntity discussguangzhouzhaopin = discussguangzhouzhaopinService.selectById(id);return R.ok().put("data", discussguangzhouzhaopin);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody DiscussguangzhouzhaopinEntity discussguangzhouzhaopin, HttpServletRequest request){//ValidatorUtils.validateEntity(discussguangzhouzhaopin);discussguangzhouzhaopinService.insert(discussguangzhouzhaopin);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody DiscussguangzhouzhaopinEntity discussguangzhouzhaopin, HttpServletRequest request){//ValidatorUtils.validateEntity(discussguangzhouzhaopin);discussguangzhouzhaopinService.insert(discussguangzhouzhaopin);return R.ok();}/*** 获取用户密保*/@RequestMapping("/security")@IgnoreAuthpublic R security(@RequestParam String username){DiscussguangzhouzhaopinEntity discussguangzhouzhaopin = discussguangzhouzhaopinService.selectOne(new EntityWrapper<DiscussguangzhouzhaopinEntity>().eq("", username));return R.ok().put("data", discussguangzhouzhaopin);}/*** 修改*/@RequestMapping("/update")@Transactional@IgnoreAuthpublic R update(@RequestBody DiscussguangzhouzhaopinEntity discussguangzhouzhaopin, HttpServletRequest request){//ValidatorUtils.validateEntity(discussguangzhouzhaopin);discussguangzhouzhaopinService.updateById(discussguangzhouzhaopin);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){discussguangzhouzhaopinService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 前端智能排序*/@IgnoreAuth@RequestMapping("/autoSort")public R autoSort(@RequestParam Map<String, Object> params,DiscussguangzhouzhaopinEntity discussguangzhouzhaopin, HttpServletRequest request,String pre){EntityWrapper<DiscussguangzhouzhaopinEntity> ew = new EntityWrapper<DiscussguangzhouzhaopinEntity>();Map<String, Object> newMap = new HashMap<String, Object>();Map<String, Object> param = new HashMap<String, Object>();Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();while (it.hasNext()) {Map.Entry<String, Object> entry = it.next();String key = entry.getKey();String newKey = entry.getKey();if (pre.endsWith(".")) {newMap.put(pre + newKey, entry.getValue());} else if (StringUtils.isEmpty(pre)) {newMap.put(newKey, entry.getValue());} else {newMap.put(pre + "." + newKey, entry.getValue());}}params.put("sort", "clicktime");params.put("order", "desc");PageUtils page = discussguangzhouzhaopinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discussguangzhouzhaopin), params), params));return R.ok().put("data", page);}}
1-项目均为博主学习开发自研,适合新手入门和学习使用
2-所有源码均一手开发,不是模版!不容易跟班里人重复!
源码获取
文章下方名片联系我即可~
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻
精彩专栏推荐订阅:在下方专栏
相关文章:
基于深度学习农作物叶部病害实时检测系统研究(源码+定制+开发)
博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…...
『MCP』初体验
『MCP』初体验 介绍 MCP 其实就是 Function Calling 的一个统一接口协议,网上介绍会有很多,所以这里不就重复介绍,这里主要是想记录说明一下 MCP 使用体验,可以帮助新人入门一下 安装 VSCode 以及 MCP client VSCode 自行安装…...
前端面试宝典---webpack原理解析,并有简化版源码
前言 先看一下webpack打包后的bundle.js,前边的直接扫一眼就过,可以发现这个立即执行函数的形参就是一个,key为引入文件路径,value为该模块代码的函数。 所以比较重要的就是通过webpack的配置文件中的entry的入口文件,…...
负载均衡深度实践:基于Nginx+Keepalived的高可用方案与Zabbix监控设计
目录 综合实践-部署负载均衡 1 环境准备 2 zabbix监控nginx和keeplive 2.1 nginx安装 2.2 安装keepalived 2.3 部署vue 2.4 安装agent 2.5 zabbix监控nginx配置 2.6 zabbix监控keeplived 3 zabbix监控jar 3.1 安装agent 3.2 安装jdk 3.3 部署jar包 3.4 配置web 4…...
深度学习基础--目标检测入门简介
博主简介:努力学习的22级本科生一枚 🌟 博客主页:羊小猪~~-CSDN博客 内容简介:探索AI算法,C,go语言的世界;在迷茫中寻找光芒🌸 往期回顾:yolov5基础–一步一步教…...
Redis ⑧-RESP | 渐进式遍历 | 数据库管理
Redis data-types 除了之前学习的 string、hash、list、set、Zset 五种数据结构之外,Redis 还提供了 bitmap、bitfield、 hyperloglog、geospatial、stream 等数据结构。 另外的一些数据结构,都是在某些特定环境下才会使用,使用频率不高&…...
【Android】四大组件之ContentProvider
目录 一、什么是 ContentProvider 二、创建和使用 ContentProvider 三、跨应用权限控制 四、数据变更通知 五、多表关联与视图 六、异步处理 你手机里的通讯录,存储了所有联系人的信息。如果你想把这些联系人信息分享给其他App,就可以通过ContentP…...
Qwen3 发布:优化编码与代理能力,强化 MCP 支持引领 AI 新潮流
人工智能领域的每一次重大突破都如同璀璨星辰,照亮了人类前行的道路。2025 年 4 月 29 日凌晨,阿里巴巴旗下的 Qwen 官方团队正式发布了最新一代大语言模型 ——Qwen3,犹如一颗重磅炸弹,在 AI 领域掀起了惊涛骇浪。此次发布&#…...
LEETERS题解
【题目描述】 给出一个rowcolrowcol的大写字母矩阵,一开始的位置为左上角,你可以向上下左右四个方向移动,并且不能移向曾经经过的字母。问最多可以经过几个字母。 【输入】 第一行,输入字母矩阵行数RR和列数SS,1≤R,S≤…...
图像加密算法概述
版本: 1.0 日期: 2025年5月1日 目录 引言 1.1 什么是图像加密?1.2 为什么需要图像加密?1.3 图像数据的特点与加密挑战加密基础概念 2.1 明文与密文2.2 加密与解密2.3 密钥2.4 对称加密与非对称加密为什么传统文本加密算法不完全适用于图像? 3.1 数据量巨大3.2 高度冗余性…...
loads、dumps、jsonpath使用场景
在处理JSON数据时,loads、dumps 和 jsonpath 是三个非常有用的工具或概念。它们各自在不同的场景下发挥作用,让我们一一来看: 1. loads loads 函数是 Python 中 json 模块的一部分,用于将 JSON 格式的字符串解析成 Python 的数据…...
Winform(7.序列化方式整理)
今天我又对序列化方式进行了整理,可以与上一篇序列化方式一起看 一.序列化方式(四种) 1.二进制序列化 //定义 Person 类,需要标记为可序列化 [Serializable] public class Person { public string Name{get;set;} public int Age{get;set;} } 在进行二进制序列化…...
通过AI的联网功能提升搜索检索能力
以百度ai搜索(百度AI搜索 - 办公学习一站解决)为例,ai会自动根据问题搜集现有互联网文章,避免人工通过传统检索引擎的结果逐个去查找,这种方式文章的相关性会更高。 tip:快速查看每篇文档,仅关…...
Spring IoC容器的设计与实现
Spring整体架构与模块划分 核心容器(Core Container) spring-core 基础工具类:如资源加载(Resource接口)、反射工具(ReflectionUtils)、类型转换(ConversionService)。…...
使用vue的插值表达式渲染变量,格式均正确,但无法渲染
如图,作者遇到的问题为,输入以下代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><…...
数据库 AI 助手测评:Chat2DB、SQLFlow 等工具如何提升开发效率?
一、引言:数据库开发的 “效率革命” 正在发生 在某互联网金融公司的凌晨故障现场,资深 DBA 正满头大汗地排查一条执行超时的 SQL—— 该语句涉及 7 张核心业务表的复杂关联,因索引缺失导致全表扫描,最终引发交易系统阻塞。这类场景在传统数据库开发中屡见不鲜:据 Gartne…...
21.1Linux中的LCD驱动实验(知识)_csdn
1、LCD 和 LTDC 简介 1.1、LCD 简介 1.1.1、分辨率 1.1.2、像素格式 可以看到红、绿、蓝每个8位,还有一位是A7~A0就是透明通道,32位ARG8888。 1.1.3、LCD 屏幕接口 1.1.4、LCD 时间参数 如果将 LCD 显示一帧图像的过程想象成绘画,那么…...
Angular教程前言:历史、安装与用途
Angular 是一个强大且流行的开源前端 Web 应用程序框架,由 Google 开发并维护 1。它在现代 Web 开发中占据着重要的地位,尤其在构建动态、高效且可扩展的 Web 应用程序方面表现出色,特别适用于单页应用程序 (SPA) 和复杂的用户界面 1。本教程…...
node.js模块化步骤(各标准区别)CommonJS规范、AMD规范、UMD规范、ES Modules (ESM)
前后端建议统一使用ESM 文章目录 Node.js模块化发展历程与标准对比一、模块化的意义1.1 解决的核心问题1.2 没有模块化的问题 二、CommonJS规范2.1 核心特征2.2 实现示例 三、AMD (Asynchronous Module Definition)3.1 特点3.2 代码示例 四、UMD (Universal Module Definition)…...
Unity图片导入设置
🏆 个人愚见,没事写写笔记 🏆《博客内容》:Unity3D开发内容 🏆🎉欢迎 👍点赞✍评论⭐收藏 🔎Unity支持的图片格式 ☀️BMP:是Windows操作系统的标准图像文件格式,特点是…...
MySQL与分布式架构的碰撞
目录 一、分布式架构的核心挑战与MySQL的应对策略 1.1 高并发与扩展性 1.3 高可用与容灾 二、MySQL分布式架构的核心技术实现 2.1 读写分离与主从复制(扩展) 2.2 数据分片与分布式存储(扩展) 2.3 MySQL Cluster与NDB引擎&am…...
python-MySQL鏈接
python鏈接MySQL,主要利用庫 pip install mysql-connector-pythonimport mysql.connector# 配置连接参数 config {"user": "your_username","password": "your_password","host": "localhost", # 或…...
cv::remap() 和 cv::undistortion() 的区别
在 OpenCV 中,cv::remap 和 cv::undistort 都用于处理图像畸变校正,但它们的实现方式和应用场景有显著区别。以下是详细对比: 1. cv::undistort:直接畸变校正 功能 输入:原始畸变图像 相机内参矩阵 (cameraMatrix) …...
【AI提示词】决策树专家
提示说明 一位熟悉决策树算法的机器学习专家,擅长用树状图量化不同选择的结果概率。 提示词 # Role: 决策树专家## Profile - language: 中文 - description: 一位熟悉决策树算法的机器学习专家,擅长用树状图量化不同选择的结果概率 - background: 决…...
【中间件】bthread_数据结构_学习笔记
bthread数据结构 bthread_数据结构_学习笔记1 pthread_cond_t1.1 definition1.2 解释1.3 设计动机1.4 使用示例1.5 注意事项1.6 进一步延伸:pthread_cond_s 2 pthread_mutex_t bthread_数据结构_学习笔记 1 pthread_cond_t POSIX线程库 /usr/include/x86_64-linux…...
VM虚拟机安装CentOS7.9
目录 1.下载CentOS7.9 2.VM虚拟机选择自定义,然后一直傻瓜式下一步 3.选择编辑虚拟机设置,然后选择刚刚下载的ISO 4.输入 ip addr 获取ip地址 5.用Xshell连接 1.下载CentOS7.9 链接:https://pan.baidu.com/s/1kW2gGWnbcjNtq4kz46LKVw?p…...
C++/SDL 进阶游戏开发 —— 双人塔防(代号:村庄保卫战 18)
🎁个人主页:工藤新一 🔍系列专栏:C面向对象(类和对象篇) 🌟心中的天空之城,终会照亮我前方的路 🎉欢迎大家点赞👍评论📝收藏⭐文章 文章目录 二…...
Cribl 数据脱敏 更多方法 MASK (三)
我做过好几个cribl 数据脱敏的实验: Cribl 脱敏mask-CSDN博客...
【笔记】深度学习模型训练的 GPU 内存优化之旅⑤:内存分配篇
开设此专题,目的一是梳理文献,目的二是分享知识。因为笔者读研期间的研究方向是单卡上的显存优化,所以最初思考的专题名称是“显存突围:深度学习模型训练的 GPU 内存优化之旅”,英文缩写是 “MLSys_GPU_Memory_Opt”。…...
【5G 架构】边缘计算平台是如何与3GPP网络连接的?
博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G技术研究。 博客内容主要围绕…...
5.0.0 GripSpliter的使用(探讨水平竖直对齐参数)
布局控件Grid 配合 GridSplitter 无需编写任何代码 就能实现网格大小可拖动。 其HorizontalAlignment、VerticalAlignment属性的使用非常具有迷惑性;本文做了一些一些实验,总结为把这两个属性均设置为strech即可。 总结如下:经过实验,发现以下情况可以正常工作。 水平方向…...
python如何把pdf转word
在Python中将PDF转换为Word文档(.docx)比反向转换(Word转PDF)更具挑战性,因为PDF是固定格式,而Word是可编辑格式。以下是几种可行的方法及详细步骤: 方法1:使用 pdf2docx 库 pdf2do…...
go实现双向链表
需求 实现双向链表的节点生成、正反向遍历、指定删除。 实现 package mainimport ("fmt" )type zodiac_sign struct {number intdizhi stringanimal stringyear intprevious *zodiac_signnext *zodiac_sign }// 添加 // func add_node_by_order(pr…...
33、VS中提示“以下文件中的行尾不一致。是否将行尾标准化?“是什么意思?
在Visual Studio(VS)中遇到提示“以下文件中的行尾不一致。是否将行尾标准化?”时,意味着当前打开或正在编辑的文件内部存在行尾符(EOL,End-Of-Line)格式不统一的情况。以下是详细解释和应对建议…...
C 语言 第五章 指针(5)
目录 函数参数传递机制:地址传递 值传递 简单变量指针作为形参 举例1: 举例2: 举例3: 数组作为形参 举例: 函数参数传递机制:地址传递 值传递 void test(int a, int b) { a 10; b 20; print…...
Python项目源码69:Excel数据筛选器1.0(tkinter+sqlite3+pandas)
功能说明:以下是一个使用Tkinter和Pandas实现的完整示例,支持Excel数据读取、双表格展示和高级条件筛选功能: 1.文件操作:点击"打开文件"按钮选择Excel文件(支持.xlsx和.xls格式),自…...
机器人--架构及设备
机器人的四大组成部分 控制系统 驱控系统 驱控驱动系统控制系统。 注意,这里的控制系统不是机器人层面的控制系统,属于更小层级的,驱控系统的控制系统。 驱动系统: 一般指硬件设备,比如电机驱动器,I/O…...
机器人--主机--控制系统
机器人主机 机器人主机,即控制系统。 作用 机器人主机的核心功能 传感器数据处理:处理摄像头、激光雷达、IMU等数据。 运行SLAM/导航算法:如Google Cartographer、RTAB-Map。 路径规划与控制:执行A*、DWA等算法。 通信管理&a…...
Stm32 烧录 Micropython
目录 前言 准备工作 开始操作 问题回顾 后记 前言 去年曾经尝试Pico制作openmv固件,由于知识储备不够最后失败了,留了一个大坑,有了前几天的基础,慢慢补齐知识,最近这一周一直在学习如何编译Stm固件并烧录到单片机…...
leetcode 977. Squares of a Sorted Array
题目描述 双指针法一 用right表示原数组中负数和非负数的分界线。 nums[0,right-1]的是负数,nums[right,nums.size()-1]是非负数。 然后用合并两个有序数组的方法。合并即可。 class Solution { public:vector<int> sortedSquares(vector<int>&…...
使用Nexus搭建远程maven仓库
1、Nexus介绍 Nexus 是 Sonatype 公司的一款用于搭建私服的产品,使用非常广泛。在早期,我们都拿Nexus当maven私服仓库,后来,随着版本不断更新,它支持的数据类型越来越多,比如npm仓库,nuget仓库&…...
坚鹏:工行《DEEPSEEK赋能银行智能办公及数字化营销服务》培训
中国工商银行上海市分行《DEEPSEEK赋能银行智能办公及数字化营销服务》培训圆满落幕 中国工商银行作为全球领先的综合性金融服务集团,始终走在金融科技创新的前沿。截至2024年末,工商银行总资产规模突破40万亿元,连续多年稳居全球银行榜首。在…...
操作系统OS是如何指挥外围设备的呢?
众所周知,OS的职责之一就是管理外围设备,比如常见的磁盘、硬盘、显示器、麦克风等,但并不是外围设备的一切都必须由OS管理,比如无线鼠标上的开关键,当你通过它关闭鼠标时,这个操作并不会经过OS,…...
实现Sentinel与Nacos的规则双向同步
实现Sentinel与Nacos的规则双向同步:完整解决方案 前言 在微服务架构中,流量控制和熔断降级是保障系统稳定性的重要手段。阿里开源的Sentinel作为一款轻量级的流量控制组件,常被用于实现这些功能。然而,在实际生产环境中&#x…...
2025五一杯数学建模A题:支路车流量推测问题,思路分析+模型代码
一持续更新,见文末名片 二、问题背景 想象一下,城市的道路如同一张巨大的脉络图,主路如同大动脉,配备着车流量监测设备,能实时记录车流量数据,就像我们身体的传感器一样。然而,当多条支路像毛细…...
Linux51 安装baidunetdisk yum install rpm -ivh
推测网卡 感觉是不是以前哪里设置了下 deepseek说的这个设置 我没有设置过 这个不会弄啊 准备用虚拟机安个软件 神奇 换了这个命令又能打开网卡了 参考了这个 参考 之前地址我觉得配置错误 动态分配 我就删掉ip地址了 路由表中无ip地址吗? OK 卸载 运…...
【Python-Day 8】从入门到精通:Python 条件判断 if-elif-else 语句全解析
Langchain系列文章目录 01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…...
若依 FastAPI + Vue3 项目 Docker 部署笔记( 启动器打包教程)
本文记录了将 start.bat 打包成 .exe 启动器的详细教程,适合项目交付或导师演示用。 🧭 一、如何将 start.bat 打包为启动器 .exe(含图标 自动打开浏览器) ✅ 1. 创建三大功能脚本 start.bat → 启动项目(docke…...
Lebesgue测度和积分理论发展概观
1. 发展背景 积分可以从两个角度来理解。首先,积分是微分的逆函数,因此积分是反导数(译注:但积分是独立于微分的,不能微分的函数也可能可积)。然而,这是一个非常抽象的概念。其次,两点之间的积分可以看…...
算法题题型总结
二叉树题型 解法综述:二叉树的解法,基本上都是依赖遍历,再加上递归的思路来做的。那递归又分为深度优先和广度优先。深度优先算法,前序,中序,后序。广度优先,利用先进先出队列,一层…...