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

基于深度学习的网络摄像头图像实时分类实践:从理论到完整实现

引言:智能视觉感知的新可能

在人工智能技术蓬勃发展的今天,实时图像分类作为计算机视觉的基础任务之一,正在深刻改变着我们的生活。从智能手机的人脸解锁到无人超市的自动结算系统,从工业质检的缺陷检测到医疗影像的辅助诊断,实时视觉感知技术已经成为推动产业智能化升级的重要引擎。

一、深度学习与实时图像分类基础

1.1 卷积神经网络的核心优势

卷积神经网络(CNN)通过其独特的层次化特征提取机制,在图像处理领域展现出显著优势。其核心特性包括:

  • 局部感受野:模拟生物视觉系统的局部感知机制
  • 权值共享:大幅减少网络参数量
  • 空间下采样:逐步抽象高层次特征
  • 平移不变性:保证特征的位置无关性

1.2 GoogLeNet的架构创新

GoogLeNet作为2014年ImageNet竞赛冠军模型,其创新性的Inception结构突破了传统CNN的设计思路:GoogLeNet作为2014年ImageNet竞赛冠军模型,其创新性的Inception结构突破了传统CNN的设计思路:

  • 多尺度并行卷积:1x1、3x3、5x5卷积核并行处理
  • 1x1卷积降维:有效控制计算复杂度
  • 辅助分类器:缓解梯度消失问题
  • 全局平均池化:替代全连接层减少参数
    在这里插入图片描述

二、开发环境深度配置指南

2.1 MATLAB环境优化配置

  1. 推荐使用MATLAB R2021b及以上版本
  2. 安装必备工具箱:
    % 验证工具箱安装状态
    hasWebcam = ~isempty(ver('webcam')) 
    hasDL = ~isempty(ver('nnet'))
    
  3. GPU加速配置(可选):
    gpuDeviceCount  % 查看可用GPU数量
    gpuDevice       % 查看当前GPU信息
    

2.2 硬件设备选型建议

设备类型推荐配置性能影响
摄像头1080P USB摄像头影响输入图像质量
CPUIntel i5以上决定处理速度下限
GPUNVIDIA GTX 1060+加速模型推理

三、核心代码深度解析

3.1 设备初始化模块

% 创建摄像头连接对象
camera = webcam('Logitech');  % 指定设备名称% 加载预训练模型
net = googlenet('Weights','imagenet');% 解析输入尺寸
inputSize = net.Layers(1).InputSize(1:2);
disp(['网络输入尺寸: ', num2str(inputSize)]);

3.2 实时处理循环优化

h = figure('Name','Real-time Classification','NumberTitle','off');
ax1 = subplot(1,2,1);
ax2 = subplot(1,2,2);% 性能优化设置
set(h, 'DoubleBuffer', 'on');
set(gcf, 'Renderer', 'opengl');% 主处理循环
frameCount = 0;
tic;
while ishandle(h)% 图像采集与预处理rawFrame = snapshot(camera);processedFrame = imresize(rawFrame, inputSize);processedFrame = im2single(processedFrame);  % 归一化处理% 模型推理[label, scores] = classify(net, processedFrame);% 结果显示showFrame(ax1, rawFrame, label, scores);showTopPredictions(ax2, scores, net.Layers(end).Classes);% 性能监控frameCount = frameCount + 1;if mod(frameCount, 30) == 0fps = frameCount / toc;disp(['实时帧率: ', num2str(fps), ' FPS']);frameCount = 0;tic;enddrawnow limitrate  % 优化刷新频率
end

3.3 可视化增强函数

function showFrame(ax, frame, label, scores)image(ax, frame);title(ax, {char(label), ['置信度: ', num2str(max(scores)*100, '%.1f%%')]},...'FontSize', 14, 'Color', [0.9 0.9 0.9]);axis(ax, 'image');box(ax, 'on');
endfunction showTopPredictions(ax, scores, classes)[sortedScores, idx] = sort(scores, 'descend');topN = 5;barData = sortedScores(1:topN);labels = string(classes(idx(1:topN)));% 创建水平柱状图barh(ax, barData, 'FaceColor', [0.2 0.6 0.8]);set(ax, 'YTickLabel', labels,...'YDir', 'reverse',...'FontSize', 10,...'XGrid', 'on',...'Color', [0.15 0.15 0.15]);xlim(ax, [0 1]);xlabel(ax, 'Classification Confidence', 'FontSize', 12);title(ax, 'Top 5 Predictions', 'FontSize', 14);
end

四、性能优化进阶技巧

4.1 计算加速方案对比

方法实现方式加速比适用场景
CPU多线程parfor循环1.5x数据预处理
GPU加速gpuArray数据传输3-5x模型推理
模型量化半精度推理(half)2x边缘设备
模型剪枝使用deepNetworkDesigner1.2x模型压缩

4.2 内存管理最佳实践

% 显式内存释放
clear mex  % 清除MEX文件缓存
pack       % 整理内存碎片% 预分配内存
frameBuffer = zeros([inputSize, 3, 5], 'uint8');  % 5帧缓冲区% 分批处理
for i = 1:5frameBuffer(:,:,:,i) = imresize(snapshot(camera), inputSize);
end

五、扩展应用与进阶开发

5.1 多模型集成方案

% 初始化模型集合
models = {googlenet, resnet50, squeezenet};% 集成推理
finalScores = zeros(1000, 1);
for i = 1:length(models)[~, scores] = classify(models{i}, frame);finalScores = finalScores + scores / length(models);
end[~, idx] = max(finalScores);
finalLabel = models{1}.Layers(end).Classes(idx);

5.2 迁移学习实践

% 数据准备
imds = imageDatastore('customData',...'IncludeSubfolders',true,...'LabelSource','foldernames');% 网络修改
lgraph = layerGraph(net);
newLayers = [fullyConnectedLayer(10, 'Name','new_fc')softmaxLayer('Name','new_softmax')classificationLayer('Name','new_output')];
lgraph = replaceLayer(lgraph, 'loss3-classifier', newLayers(1));
lgraph = replaceLayer(lgraph, 'prob', newLayers(2));
lgraph = replaceLayer(lgraph, 'output', newLayers(3));% 训练配置
options = trainingOptions('sgdm',...'InitialLearnRate',0.001,...'MaxEpochs',10,...'Plots','training-progress');% 开始训练
netTransfer = trainNetwork(imds, lgraph, options);

六、典型问题深度解析

6.1 图像分类抖动问题

现象:相邻帧的分类结果剧烈波动
解决方案

  1. 时序平滑滤波
    labelHistory = strings(1,5);  % 维护历史记录
    currentLabel = mode(labelHistory);  % 取众数
    
  2. 置信度阈值过滤
    if max(scores) < 0.7label = "Unknown";
    end
    

6.2 实时延迟优化

优化策略

  1. 异步处理流水线
    % 创建并行池
    if isempty(gcp('nocreate'))parpool('local', 2);
    end% 异步获取帧
    f = parfeval(@snapshot, 1, camera);
    
  2. 帧率自适应调节
    targetFPS = 15;
    pauseTime = 1/targetFPS;
    while ishandle(h)tic;% 处理流程elapsed = toc;if elapsed < pauseTimepause(pauseTime - elapsed);end
    end
    

七、应用场景创新拓展

7.1 智能教育助手

  • 实时识别教学用具
  • 实验器材使用指导
  • 学生注意力监测

7.2 工业质检系统

% 缺陷检测逻辑
defectThreshold = 0.8;
[labels, scores] = classify(defectNet, frame);
if any(ismember(labels, defectClasses)) && scores > defectThresholdtriggerAlarm();
end

7.3 增强现实应用

% 在视频流上叠加信息
position = [100 100];
frame = insertText(frame, position, char(label),...'FontSize', 24,...'TextColor', 'yellow',...'BoxColor', 'red');

结语:通向智能视觉的未来

通过本文的实践,我们不仅构建了一个完整的实时图像分类系统,更深入理解了深度学习在计算机视觉中的核心应用。随着模型压缩技术、边缘计算设备的发展,实时图像处理技术正在向更广泛的应用场景渗透。建议读者在此基础上继续探索:

  1. 尝试不同的网络架构(如EfficientNet、Vision Transformer)
  2. 集成目标检测与语义分割技术
  3. 开发跨平台的嵌入式部署方案
  4. 探索自监督学习在少样本场景的应用

技术的进步永无止境,期待读者能在本项目的启发下,开发出更多具有创新价值的智能视觉应用,共同推动人工智能技术的发展。

相关文章:

基于深度学习的网络摄像头图像实时分类实践:从理论到完整实现

引言&#xff1a;智能视觉感知的新可能 在人工智能技术蓬勃发展的今天&#xff0c;实时图像分类作为计算机视觉的基础任务之一&#xff0c;正在深刻改变着我们的生活。从智能手机的人脸解锁到无人超市的自动结算系统&#xff0c;从工业质检的缺陷检测到医疗影像的辅助诊断&…...

C++ 算法竞赛STL以及常见模板

目录 STL /*═══════════════ Vector ═══════════════*/ /*════════════════ Pair ════════════════*/ /*══════════════ String ════════════════*/ /*══════════…...

【资料分享】wireshark解析脚本omci.lua文件20250306版本发布(独家分享)

引言 omci.lua文件是Wireshark的OMCI协议解析插件的核心组件。它配合BinDecHex.lua&#xff0c;可以解析OMCI协议的数据包&#xff0c;提取出消息类型、受管实体标识、受管实体属性等关键信息&#xff0c;并以人类可读的形式显示在Wireshark的解码视图中&#xff0c;方便研发人…...

(dfs 单词搜索)leetcode 79

核心思路 用双重循环以所有的位置都作为起始点开始遍历 设置边界条件 上下左右都搜一次&#xff0c;不合适就回来&#xff0c;二叉树思想 经过的结点设置"#避免重复搜索导致数据混乱 递归完后要还原原字符 #include<iostream> #include<vector> #include&l…...

Java常用集合与映射的线程安全问题深度解析

Java常用集合与映射的线程安全问题深度解析 一、线程安全基础认知 在并发编程环境下&#xff0c;当多个线程同时操作同一集合对象时&#xff0c;若未采取同步措施&#xff0c;可能导致以下典型问题&#xff1a; 数据竞争&#xff1a;多个线程同时修改数据导致结果不可预测状…...

【实战ES】实战 Elasticsearch:快速上手与深度实践-5.1.1热点分片识别与均衡策略

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 5.1.1 Filebeat Logstash ES Kibana 全链路配置实1. 架构设计与组件选型1.1 技术栈对比分析1.2 硬件配置推荐 2. Filebeat 高级配置2.1 多输入源配置2.2 性能优化参数 3.…...

服务端和客户端通信(TCP)

服务端 using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading.Tasks;namespace TeachTcpServer {class Program{static void Main(string[] args){#region 知识点一 …...

练习题:76

目录 Python题目 题目 题目分析 需求理解 关键知识点 实现思路分析 复杂度分析 可能遇到的问题及注意事项 代码实现 代码解释 1. 类的定义与属性初始化 2. 定义属性的访问器&#xff08;getter&#xff09;方法 3. 定义属性的修改器&#xff08;setter&#xff09…...

SpringBoot3项目-创建及使用

简单的介绍后端SpringBoot3项目&#xff0c;从0到1搭建一个完整项目&#xff0c;给老项目源码升级备用的知识点 一、创建项目 1、打开IDEA&#xff0c;通过New Project创建项目&#xff0c;如下图&#xff1a; 2、选择Spring Initializr&#xff0c;配置好项目信息&#xf…...

前端 | 向后端传数据,判断问题所在的调试过程

目录 ​编辑 1. 在 vue 文件中&#xff0c;在调用函数之前 先打印传入的数据 2. 在 js 文件中&#xff0c;打印接收到的数据 3. 在浏览器 Network 面板查看请求数据 4. 在 server.js 中查看请求数据 5. 确保 JSON 格式正确 知识点&#xff1a;JSON.stringify(req.body, …...

Python爬虫入门实战:爬取博客文章数据并保存

Python爬虫入门实战&#xff1a;爬取博客文章数据并保存 概述 本文将介绍如何使用Python的requests和BeautifulSoup库实现一个简单的网页爬虫&#xff0c;通过实际案例演示如何爬取博客文章数据并存储到本地文件。本文适合Python爬虫初学者&#xff0c;通过案例快速掌握基本爬…...

用python 的 sentiment intensity analyzer的情感分析器,将用户评论进行分类

SentimentIntensityAnalyzer 是 nltk&#xff08;Natural Language Toolkit&#xff09;库中的一个工具&#xff0c;用于进行情感分析。它会为文本返回四个得分&#xff1a;负向情感得分&#xff08;neg&#xff09;、中性情感得分&#xff08;neu&#xff09;、正向情感得分&a…...

Android Framework 常见面试题

以下是常见的 Android Framework 面试题&#xff0c;涵盖基础到高级知识点&#xff0c;帮助准备面试&#xff1a; 一、基础问题 Android 系统架构分层 描述 Android 系统的四层架构&#xff08;Linux Kernel、Native、Framework、Application&#xff09;及各层职责。 Zygote …...

如何面向DeepSeek编程,打造游戏开发工具集,提升工作效率

最近我在思考&#xff1a; 如何基于DeepSeek&#xff0c;来提升工作效率&#xff0c;构建高效游戏开发工作流。 方向有两个: A: 基于DeepSeek私有代码框架&#xff0c;让它完成项目代码的续写; B: 基于DeepSeek来创作一些工具&#xff0c;使用工具来提升效率&#xff0c;如…...

IDE集成开发环境MyEclipse中安装SVN

打开Myeclipse的help菜单----install from site 点击add弹出对话框 在输入框中输入对应内容 http://subclipse.tigris.org/update_1.10.x 点击OK之后&#xff0c;会刷新出两个选项&#xff0c;需要选中的 点击next&#xff0c;出现许可的时候选中同意&#xff0c;一直结束等…...

QT中使用C++调用 python脚本

1、使用QT Creator 新建项目 2、添加Python解释器 在.pro 文件中添加python头文件与链接库 INCLUDEPATH -I /usr/include/python3.8/ LIBS -L /usr/lib/python3.8/config-3.8-x86_64-linux-gnu -lpython3.8本文实验为ubuntu自带python3.8&#xff0c;虚拟环境中的python解释…...

C语言学习day25:WinAPI编程进阶07-游戏辅助时钟周期事件、定时器消息

接下来我们说一下时间周期&#xff08;定时器&#xff09;事件 我们接下来继续用上一章中的代码来举例 这次课程我们需要用的函数SetTimer&#xff08;&#xff09;函数和KillTimer&#xff08;&#xff09;函数 SetTimer() 语法&#xff1a; UINT_PTR SetTimer([in, opti…...

NVIDIA Jetson Nano的国产替代,基于算能BM1684X+FPGA+AI算力盒子,支持deepseek边缘部署

NVIDIA Jetson Nano的国产替代&#xff0c;基于算能BM1684X的AI算力盒子&#xff0c;支持deepseek边缘部署 另外&#xff0c;还提供BM1684XFPGAAI的解决方案。 核心板基于Sophon SG2300X SoC&#xff08;也叫BM1684X&#xff09;打造 带有8核ARM Cortex-A53 2.3GHz&#xff0c…...

解锁STM32外设:开启嵌入式开发新世界

✨✨✨这里是小韩学长yyds的BLOG(喜欢作者的点个关注吧) ✨✨✨想要了解更多内容可以访问我的主页 小韩学长yyds-CSDN博客 目录 探索 STM32 强大的外设家族 初窥门径&#xff1a;STM32 外设开发基础 开发方式与工具 外设配置基础步骤 深入剖析&#xff1a;常见外设应用实例…...

C++的内存管理

1. C/C内存分布 我们先来看下面的一段代码和相关问题 int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] { 1, 2, 3, 4 };char char2[] "abcd";const char* pChar3 "abcd";int…...

P8685 [蓝桥杯 2019 省 A] 外卖店优先级--优先队列“数组”!!!!!

P8685 [蓝桥杯 2019 省 A] 外卖店优先级 题目 解析优先队列如何判断是否使用优先队列&#xff1f;省略规则优先队列常用操作大顶堆 vs 小顶堆定义队列h队列数组 代码 题目 解析 每个外卖店会在不同的时间点收到订单&#xff0c;我们可以看见测试用例的时间顺序是不同的&#x…...

nuxt2 打包优化使用“compression-webpack-plugin”插件

在使用 Nuxt.js 构建项目时&#xff0c;为了提高性能&#xff0c;通常会考虑对静态资源进行压缩。compression-webpack-plugin 是一个常用的 Webpack 插件&#xff0c;用于在生产环境中对文件进行 Gzip 压缩。这对于减少网络传输时间和提高页面加载速度非常有帮助。下面是如何在…...

RabbitMQ知识点

1.为什么需要消息队列&#xff1f; RabbitMQ体系结构 操作001&#xff1a;RabbitMQ安装 二、安装 # 拉取镜像 docker pull rabbitmq:3.13-management ​ # -d 参数&#xff1a;后台运行 Docker 容器 # --name 参数&#xff1a;设置容器名称 # -p 参数&#xff1a;映射端口号&…...

Windsuf 连接失败问题:[unavailable] unavailable: dial tcp...

问题描述 3月6日&#xff0c;在使用Windsuf 时&#xff0c;遇到以下网络连接错误&#xff1a; [unavailable] unavailable: dial tcp 35.223.238.178:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of…...

Spark 3.0核心新特性解析与行业应用展望

Spark 3.0核心新特性解析与行业应用展望 一、自适应查询执行(Adaptive Query Execution, AQE) 作为Spark 3.0最具突破性的优化,AQE通过运行时动态调整执行计划,解决了传统静态优化的局限性。其核心技术突破体现在三方面: 1. 动态分区合并(Dynamically Coalescing Shuf…...

基于 harbor 构建docker私有仓库

仓库&#xff08;Repository&#xff09;是集中存放镜像的地方&#xff0c;又分公共仓库和私有仓库。 有时候容易把仓库与注册服务器&#xff08;Registry&#xff09;混淆。 实际上注册服务器是存放仓库的具体服务器&#xff0c; 一个注册服务器上可以有多个仓库&#xff0c;…...

MySQL基本建表操作

目录 1&#xff0c;创建数据库db_ck 1.1创建表 1.2 查看创建好的表 2,创建表t_hero 2.1 先进入数据库Db_Ck 2.1.1 这里可以看是否进入数据库: 2.2 创建表t_Hero 2.2.1 我们可以先在文本文档里面写好然后粘贴进去&#xff0c;因为直接写的话&#xff0c;错了要重新开始 …...

低空经济快速发展,无人机人才培养及校企实验室共建技术详解

随着低空经济的快速发展&#xff0c;无人机作为该领域的关键技术载体&#xff0c;其应用范围和市场需求正在迅速扩大。为了满足这一趋势&#xff0c;无人机人才的培养以及校企实验室的共建成为了推动技术进步和产业升级的重要途径。以下是对无人机人才培养及校企实验室共建技术…...

电脑网络出现问题!简单的几种方法解除电脑飞行模式

在某些情况下&#xff0c;您可能需要关闭电脑上的飞行模式以便重新连接到 Wi-Fi、蓝牙或其他无线网络。本教程中简鹿办公将指导您如何在 Windows 和 macO S操作系统上解除飞行模式。 一、Windows 系统下解除飞行模式 通过快捷操作中心 步骤一&#xff1a;点击屏幕右下角的通知…...

Docker入门篇1:搜索镜像、拉取镜像、查看本地镜像列表、删除本地镜像

大家好我是木木&#xff0c;在当今快速发展的云计算与云原生时代&#xff0c;容器化技术蓬勃兴起&#xff0c;Docker 作为实现容器化的主流工具之一&#xff0c;为开发者和运维人员带来了极大的便捷 。下面我们一起开始入门第一篇&#xff1a;搜索镜像、拉取镜像、查看本地镜像…...

网络初级复习作业

作业要求&#xff1a; 1,学校内部的HTTP客户端可以正常通过域名www.baidu.com访问到白度网络中的HTTP服务器 2&#xff0c;学校网络内部网段基于192.168.1.0/24划分&#xff1a;PC1可以正常访问3.3.3.0/24网段&#xff0c;但是PC2不允许 3,学校内部路由使用静态路由&#xf…...

Spring Boot 调用DeepSeek API的详细教程

目录 前置准备步骤1&#xff1a;创建Spring Boot项目步骤2&#xff1a;配置API参数步骤3&#xff1a;创建请求/响应DTO步骤4&#xff1a;实现API客户端步骤5&#xff1a;创建控制器步骤6&#xff1a;异常处理步骤7&#xff1a;测试验证单元测试示例Postman测试请求 常见问题排查…...

rpc和proto

rpc全称远程过程控制&#xff0c;说白了是一种对信息发送和接收的规则编写方法&#xff0c;来自google&#xff0c;这些规则会以protobuf代码存到proto文件里。我以autoGen中agent_worker.proto为例&#xff0c;大概长这样 syntax "proto3";package agents;option …...

我的两个医学数据分析技术思路

我的两个医学数据分析技术思路 从临床上获得的或者公共数据库数据这种属于观察性研究&#xff0c;是对临床诊疗过程中自然产生的数据进行分析而获得疾病发生发展的规律等研究成果。再细分&#xff0c;可以分为独立危险因素鉴定和预测模型构建两种。 独立危险因素鉴定是一直以…...

GitHub上传项目

总结&#xff08;有基础的话直接执行这几步&#xff0c;就不需要再往下看了&#xff09;&#xff1a; git init 修改git的config文件&#xff1a;添加:[user]:name你的github用户名 email你注册github的用户名 git branch -m master main git remote add origin 你的URL gi…...

汇编点亮LED

目录 一、ARM常用汇编指令 二、汇编点亮LED 2.1 GPIO简述 2.2 GPIO相关寄存器 2.3 LED原理图 2.4 汇编点亮LED 一、ARM常用汇编指令 常用汇编格式: label : instruction @ comment label:标号 instruction:具体汇编指令 comment:注释内容 常…...

VS Code C++ 开发环境配置

VS Code 是当前非常流行的开发工具. 本文讲述如何配置 VS Code 作为 C开发环境. 本文将按照如下步骤来介绍如何配置 VS Code 作为 C开发环境. 安装编译器安装插件配置工作区 第一个步骤的具体操作会因为系统不同或者方案不同而有不同的选择. 环境要求 首先需要立即 VS Code…...

Python深度学习算法介绍

一、引言 深度学习是机器学习的一个重要分支&#xff0c;它通过构建多层神经网络结构&#xff0c;自动从数据中学习特征表示&#xff0c;从而实现对复杂模式的识别和预测。Python作为一门强大的编程语言&#xff0c;凭借其简洁易读的语法和丰富的库支持&#xff0c;成为深度学…...

hadoop集群HDFS读写性能测试

一、写测试命令 hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.4-tests.jar TestDFSIO -write -nrFiles 10 -size 10MB二、读测试命令 hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.1.4-t…...

HTTPS加密原理详解

目录 HTTPS是什么 加密是什么 HTTPS的工作流程 1.使用对称加密 2.引入非对称加密 3.引入证书机制 客户端验证证书真伪的过程 签名的加密流程 整体工作流程 总结 HTTPS是什么 HTTPS协议也是一个应用程协议&#xff0c;是在HTTP的基础上加入了一个加密层&#xff0c;由…...

react基本功

useLayoutEffect useLayoutEffect 用于在浏览器重新绘制屏幕之前同步执行代码。它与 useEffect 相同,但执行时机不同。 主要特点 执行时机:useLayoutEffect 在 DOM 更新完成后同步执行,但在浏览器绘制之前。这使得它可以在浏览器渲染之前读取和修改 DOM,避免视觉上的闪烁…...

计算机视觉|3D 点云处理黑科技:PointNet++ 原理剖析与实战指南

一、引言 在当今数字化与智能化快速发展的时代&#xff0c;3D 点云处理技术在多个前沿领域中发挥着重要作用。特别是在自动驾驶和机器人视觉等领域&#xff0c;这项技术已成为实现智能化的关键支撑。 以自动驾驶为例&#xff0c;车辆需要实时感知周围复杂的环境信息&#xff…...

【VUE2】第三期——样式冲突、组件通信、异步更新、自定义指令、插槽

目录 1 scoped解决样式冲突 2 data写法 3 组件通信 3.1 父子关系 3.1.1 父向子传值 props 3.1.2 子向父传值 $emit 3.2 非父子关系 3.2.1 event bus 事件总线 3.2.2 跨层级共享数据 provide&inject 4 props 4.1 介绍 4.2 props校验完整写法 5 v-model原理 …...

WebAssembly技术及应用了解

WebAssembly&#xff08;Wasm&#xff09;是一种为Web设计的高效、低级的二进制指令格式&#xff0c;旨在提升Web应用的性能并支持多种编程语言。以下是对其核心概念、优势、应用场景及开发流程的系统介绍&#xff1a; 1. 核心概念 二进制格式&#xff1a;Wasm采用紧凑的二进制…...

工程化与框架系列(26)--前端可视化开发

前端可视化开发 &#x1f4ca; 引言 前端可视化是现代Web应用中不可或缺的一部分&#xff0c;它能够以直观的方式展示复杂的数据和信息。本文将深入探讨前端可视化开发的关键技术和最佳实践&#xff0c;包括图表绘制、数据处理、动画效果等方面。 可视化技术概述 前端可视化…...

ESP32的IDF开发学习-WiFi的开启、配置与连接

前言 本章节将实现如何使用ESP32的WiFi功能&#xff0c;尽可能的详细地介绍 简介 ESP32中的wifi支持双工作模式 Station&#xff08;STA&#xff09;模式&#xff1a;连接到路由器或其他AP设备&#xff0c;可通过esp_wifi_set_mode(WIFI_MODE_STA)设置。SoftAP模式&#xf…...

2025-3-9 一周总结

目前来看本学期上半程汇编语言,编译原理,数字电路和离散数学是相对重点的课程. 在汇编语言和编译原理这块,个人感觉黑书内知识点更多,细节更到位,体系更完整,可以在老师讲解之前进行预习 应当及时复习每天的内容.第一是看书,然后听课,在一天结束后保证自己的知识梳理完整,没有…...

【网络编程】事件选择模型

十、基于I/O模型的网络开发 10.9 事件选择模型 10.0.1 基本概念 事件选择(WSAEventSelect) 模型是另一个有用的异步 I/O 模型。和 WSAAsyncSelect 模 型类似的是&#xff0c;它也允许应用程序在一个或多个套接字上接收以事件为基础的网络事件通知&#xff0c;最 主要的差别在…...

Java核心语法:从变量到控制流

一、变量与数据类型&#xff08;对比Python/C特性&#xff09; 1. 变量声明三要素 // Java&#xff08;强类型语言&#xff0c;需显式声明类型&#xff09; int age 25; String name "CSDN"; // Python&#xff08;动态类型&#xff09; age 25 name …...

信息安全与网络安全的区别_信息安全与网络安全之差异探析

在当今数字化时代&#xff0c;信息安全与网络安全成为了人们关注的热点话题。尽管这两个概念经常被提及&#xff0c;但它们之间存在着明显的区别。本文旨在探讨信息安全与网络安全的定义、范畴及应对策略&#xff0c;以帮助读者更好地理解和应对相关挑战。 一、定义与范畴的差…...