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

OpenCV(1):简介、安装、入门案例、基础模块

1 OpenCV 简介

        OpenCV 是一个功能强大、应用广泛的计算机视觉库,它为开发人员提供了丰富的工具和算法,可以帮助他们快速构建各种视觉应用。随着计算机视觉技术的不断发展,OpenCV 也将会继续发挥重要的作用。OpenCV 提供了大量的计算机视觉算法和图像处理工具,广泛应用于图像和视频的处理、分析以及机器学习领域。

1.1 OpenCV 核心特点

        开源与免费:OpenCV 是一个开源项目,任何人都可以免费使用、修改和分发其代码。这意味着你可以根据需要对 OpenCV 进行定制化修改。

        跨平台支持:OpenCV 支持多个操作系统平台,包括 Windows、Linux、macOS、Android 和 iOS。你可以在各种设备上使用 OpenCV,包括桌面、服务器以及移动设备。

        支持多种编程语言:OpenCV 提供了多种编程语言的接口,支持 C++、Python、Java、JavaScript 和 MATLAB 等多种编程语言。因此,无论你是 C++ 开发者还是 Python 爱好者,都能轻松使用 OpenCV

        强大的功能库:OpenCV 提供了数百个优化的算法,涵盖了计算机视觉和图像处理的方方面面。以下是一些常见的应用:

  1. 图像处理: 图像滤波、边缘检测、颜色空间转换、形态学操作、特征提取等。
  2. 视频分析: 视频捕捉、运动分析、物体检测与追踪等。
  3. 机器学习与人工智能: OpenCV 集成了深度学习框架,可以进行人脸识别、目标检测、图像分类等。
  4. 计算机视觉: 图像匹配、物体识别、立体视觉、深度图计算等。

        高效的性能:OpenCV 内置的许多算法都经过高度优化,支持硬件加速(如 Intel 的 TBB、OpenCL、CUDA 等技术),使得它在处理复杂计算时具备高性能,尤其在处理视频流和实时图像分析时非常高效。

1.2 OpenCV 的应用领域

        OpenCV 的应用领域非常广泛,涵盖了计算机视觉的各个方面,例如:

  • 图像处理: 图像滤波、图像增强、图像分割、图像特征提取等。
  • 视频分析: 目标跟踪、运动检测、行为识别等。
  • 物体识别: 人脸识别、车牌识别、物体识别等。
  • 机器学习: 支持向量机、K 均值聚类、神经网络等。
  • 深度学习: 图像分类、目标检测、图像分割等。
  • 增强现实: 虚拟物体叠加、手势识别等。
  • 机器人: 视觉导航、目标抓取等。

1.3 应用场景

  • 人脸识别与检测: 利用图像中人脸的特征进行身份验证,应用于安全系统、社交媒体和照片管理等领域。
  • 物体检测与跟踪: 在监控、无人驾驶、工业检测等场景中,通过检测和跟踪目标物体来进行分析。
  • 增强现实(AR): 将虚拟信息叠加到现实世界的图像中,广泛应用于游戏、医疗、工业等领域。
  • 医疗图像分析: 使用 OpenCV 分析医学图像(如 CT 扫描、MRI 图像)来帮助诊断疾病。
  • 机器人视觉: 机器人通过视觉识别环境,进行物体操作、导航等任务。
  • 无人驾驶: 在自动驾驶中,OpenCV 被用于车道检测、交通标志识别、障碍物检测等任务。

2 OpenCV 安装

        在使用 OpenCV 之前,首先需要在你的开发环境中安装它。安装 OpenCV 的方法取决于你使用的操作系统以及开发语言,我们以 Python 环境下的安装为例,因为 Python 是 OpenCV 最常用的编程语言之一。

        使用 pip 安装 OpenCV 是最简单和直接的方法,你只需要在命令行中输入以下命令:

pip install opencv-python

3 OpenCV 入门实例

        接下来我们来看一个简单的 OpenCV 实例,我们将实现以下功能:

  1. 读取一张图像。
  2. 显示图像。
  3. 保存图像。
  4. 添加简单的用户交互。

        指定一张图片读取:

# 导入 OpenCV 库
import cv2# 1. 读取图像
# 替换为实际的图像路径,这里是当前目录下的 "bird.jpg"
image_path = "./bird.jpg"
image = cv2.imread(image_path)# 检查图像是否成功读取
if image is None:print("错误:无法加载图像,请检查路径是否正确。")exit()# 2. 显示图像
# 创建一个名为 "Display Image" 的窗口,并在其中显示图像
cv2.imshow("Display Image", image)# 3. 等待用户按键
# 参数 0 表示无限等待,直到用户按下任意键
key = cv2.waitKey(0)# 4. 根据用户按键执行操作
if key == ord('s'):  # 如果按下 's' 键# 保存图像output_path = "saved_image.jpg"cv2.imwrite(output_path, image)print(f"图像已保存为 {output_path}")
else:  # 如果按下其他键print("图像未保存。")# 5. 关闭所有窗口
cv2.destroyAllWindows()

        运行程序效果如下,当按下键盘s时将保存图片并关闭窗口。 

4 OpenCV 基础模块

        OpenCV 是一个功能强大的计算机视觉库,包含多个模块,每个模块专注于不同的功能。OpenCV 是由多个模块组成的,每个模块都提供了不同的功能。以下是 OpenCV 中最常用的一些模块:

  • cv2.core: 核心模块,包含了图像处理的基础功能(如图像数组的表示和操作)。
  • cv2.imgproc: 图像处理模块,提供图像的各种操作,如滤波、图像变换、形态学操作等。
  • cv2.highgui: 图形用户界面模块,提供显示图像和视频的功能。
  • cv2.video: 提供视频处理的功能,如视频捕捉、视频流的处理等。
  • cv2.features2d: 特征检测与匹配模块,包含了角点、边缘、关键点检测等。
  • cv2.ml: 机器学习模块,提供了多种机器学习算法,可以进行图像分类、回归、聚类等。
  • cv2.calib3d : 相机校准和 3D 重建模块。
  • cv2.objdetect : 目标检测模块。
  • cv2.dnn : 深度学习模块。

4.1 Core 模块

        提供 OpenCV 的核心功能,包括基本数据结构、矩阵操作、绘图函数等。

主要类和函数:

  • Mat: OpenCV 中用于存储图像和矩阵的基本数据结构。

  • Scalar: 用于表示颜色或像素值。

  • Point、Size、Rect: 用于表示点、尺寸和矩形。

  • 基本绘图函数: cv.line()cv.circle()cv.rectangle()cv.putText() 等。

应用场景:

  • 图像的基本操作(如创建、复制、裁剪)。

  • 绘制几何图形和文本。


4.2 Imgproc 模块

        提供图像处理功能,包括图像滤波、几何变换、颜色空间转换等。

主要类和函数:

  • 图像滤波: cv.blur()cv.GaussianBlur()cv.medianBlur() 等。

  • 几何变换: cv.resize()cv.warpAffine()cv.warpPerspective() 等。

  • 颜色空间转换: cv.cvtColor()(如 BGR 转灰度、BGR 转 HSV)。

  • 阈值处理: cv.threshold()cv.adaptiveThreshold()

  • 边缘检测: cv.Canny()cv.Sobel()cv.Laplacian()

应用场景:

  • 图像平滑、锐化、边缘检测。

  • 图像缩放、旋转、仿射变换。

  • 图像二值化、颜色空间转换。


4.3 HighGUI 模块

        提供高层 GUI 和媒体 I/O 功能,用于图像的显示和交互。

主要类和函数:

  • 图像显示: cv.imshow()cv.waitKey()cv.destroyAllWindows()

  • 视频捕获: cv.VideoCapture()cv.VideoWriter()

  • 鼠标和键盘事件: cv.setMouseCallback()

应用场景:

  • 显示图像和视频。

  • 捕获摄像头或视频文件。

  • 处理用户交互(如鼠标点击、键盘输入)。


4.4 Video 模块

        提供视频分析功能,包括运动检测、目标跟踪等。

主要类和函数:

  • 背景减除: cv.createBackgroundSubtractorMOG2()cv.createBackgroundSubtractorKNN()

  • 光流法: cv.calcOpticalFlowPyrLK()

  • 目标跟踪: cv.TrackerKCF_create()cv.TrackerMOSSE_create()

应用场景:

  • 视频中的运动检测。

  • 目标跟踪(如行人、车辆跟踪)。


4.5 Calib3d 模块

        提供相机校准和 3D 重建功能。

主要类和函数:

  • 相机校准: cv.calibrateCamera()cv.findChessboardCorners()

  • 3D 重建: cv.solvePnP()cv.reprojectImageTo3D()

应用场景:

  • 相机标定(用于去除镜头畸变)。

  • 3D 重建(如从 2D 图像恢复 3D 信息)。


4.6 Features2d 模块

        提供特征检测和描述功能。

主要类和函数:

  • 特征检测: cv.SIFT_create()cv.ORB_create()cv.SURF_create()

  • 特征匹配: cv.BFMatcher()cv.FlannBasedMatcher()

  • 关键点绘制: cv.drawKeypoints()

应用场景:

  • 图像特征提取和匹配。

  • 图像拼接、物体识别。


4.7 Objdetect 模块

        提供目标检测功能。

主要类和函数:

  • Haar 特征分类器: cv.CascadeClassifier()(用于人脸检测)。

  • HOG 特征分类器: 用于行人检测。

应用场景:

  • 人脸检测、行人检测。


4.8 ML 模块

        提供机器学习算法。

主要类和函数:

  • 支持向量机 (SVM): cv.ml.SVM_create()

  • K 均值聚类 (K-Means): cv.kmeans()

  • 神经网络 (ANN): cv.ml.ANN_MLP_create()

应用场景:

  • 图像分类、聚类分析。


4.9 DNN 模块

        提供深度学习功能,支持加载和运行预训练的深度学习模型。

主要类和函数:

  • 模型加载: cv.dnn.readNetFromCaffe()cv.dnn.readNetFromTensorflow()

  • 前向传播: net.forward()

应用场景:

  • 图像分类、目标检测、语义分割。


4.10 其他模块

  • Flann: 快速近似最近邻搜索。

  • Photo: 图像修复和去噪。

  • Stitching: 图像拼接。

  • Shape: 形状匹配和距离计算。

相关文章:

OpenCV(1):简介、安装、入门案例、基础模块

1 OpenCV 简介 OpenCV 是一个功能强大、应用广泛的计算机视觉库,它为开发人员提供了丰富的工具和算法,可以帮助他们快速构建各种视觉应用。随着计算机视觉技术的不断发展,OpenCV 也将会继续发挥重要的作用。OpenCV 提供了大量的计算机视觉算法…...

Linux-GlusterFS操作子卷

文章目录 分布式卷添加卷分布式卷删除子卷删除总卷 🏡作者主页:点击! 🤖Linux专栏:点击! ⏰️创作时间:2025年02月20日19点30分 分布式卷添加卷 Node1上进行操作 扩容 #服务器端 gluster volu…...

kettle从入门到精通 第九十二课 ETL之kettle 使用Kettle的Carte对外发布读写接口

场景:使用kettle实现将查询结果返回给客户端,也就是说kettle暴露查询接口供外围系统调用。前提必须是使用carte服务才可以提供接口供外部系统调用。具体实操方法如下: 1、设计转换 根据具体需求设计转换,主要用到的步骤有获取变…...

【精调】LLaMA-Factory 快速开始1: Meta-Llama-3.1-8B-Instruct

llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml llamafactory-cli chat examples/inference/llama3_lora_sft.yaml llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml模型下载 git clone https://www.modelscope.cn/LLM-Research/Meta-Lla…...

数据库加密全解析:从传输到存储的安全实践

title: 数据库加密全解析:从传输到存储的安全实践 date: 2025/2/17 updated: 2025/2/17 author: cmdragon excerpt: 数据加密是数据库安全的最后一道物理防线。传输层SSL/TLS配置、存储加密技术及加密函数实战应用,覆盖MySQL、PostgreSQL、Oracle等主流数据库的20+生产级加密…...

PHP+Apache+MySQL安装(Windows)

一、安装教程 参考链接1 参考链接2 二、问题描述 PHP安装目录下找不到php8apache2_4.dll PHP安装包下载错误 Apache Service Monitor: request operation has failed! 定位问题: 查看【事件查看器】 解决问题 安装或更新与PHP版本相对应的Visual C Redistribu…...

alt+tab切换导致linux桌面卡死的急救方案

环境 debian12 gnome43.9 解决办法 观察状态栏,其实系统是没有完全死机的,而且gnome也可能没有完全死机。 1. alt f4 关闭桌面上的程序,因为这个方案是我刚刚看到的,所以不确定能不能用,比起重启系统,…...

Mysql基础语句

一、 MySQL语句 在熟悉安装及访问 MySQL 数据库以后, 接下来将学习使用 MySQL 数据库的基本操作,这也是在服务器运维工作中不可或缺的知识。 本节中的所有数据库语句均在“MySQL>”操作环境中执行 MySQL 是一套数据库管理系统,在每台 MySQ…...

网络通信基础:端口、协议和七层模型详解,网络安全零基础入门到精通实战教程!

一、端口和协议的概念 1.在网络技术中,端口(Port) 大致有两种意思: 一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。 二是逻辑意义上的端口&…...

【力扣Hot 100】栈2

5. 柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: !https://assets.leetcode.com/uploads/2021/01/04/histogram.jpg …...

1. Linux下 MySQL 的详细安装与使用

1. Linux下 MySQL 的详细安装与使用 文章目录 1. Linux下 MySQL 的详细安装与使用1. Linux 下安装 MySQL8.0 的详细安装步骤:2. Linxu 当中的MySQL 设置远程登录3. 最后: 1. Linux 下安装 MySQL8.0 的详细安装步骤: 查看是否安装过MySQL&…...

Idea24.3 如何设置Git忽略某一个文件

文章目录 左上角找到commit选中你要忽略的文件 右键New Changelist给这个文件夹名称和描述 点击ok将要忽略的文件添加到这个文件夹 左上角找到commit 选中你要忽略的文件 右键New Changelist 给这个文件夹名称和描述 点击ok 将要忽略的文件添加到这个文件夹...

2025-02-20 学习记录--C/C++-PTA 7-27 冒泡法排序

一、题目描述 ⭐️ 二、代码&#xff08;C语言&#xff09;⭐️ /** * 冒泡法实现升序 */#include <stdio.h>int main() {int N, // 整数个数 6K, // 扫描遍数 2num, // 待排序的整数 2 3 5 1 6 4numArr[100], // 待排序的整数合集 2 3 5 1…...

如何修改Windows系统Ollama模型存储位置

默认情况下&#xff0c;Ollama 模型会存储在 C 盘用户目录下的 .ollama/models 文件夹中&#xff0c;这会占用大量 C 盘空间&#xff0c;增加C盘“爆红”的几率。所以&#xff0c;我们就需要修改Ollama的模型存储位置 Ollama提供了一个环境变量参数可以修改Ollama的默认存在位…...

【Python爬虫(26)】Python爬虫进阶:数据清洗与预处理的魔法秘籍

【Python爬虫】专栏简介&#xff1a;本专栏是 Python 爬虫领域的集大成之作&#xff0c;共 100 章节。从 Python 基础语法、爬虫入门知识讲起&#xff0c;深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑&#xff0c;覆盖网页、图片、音频等各类数据爬取&#xff…...

NPM如何更换淘宝镜像——Node.js国内镜像配置教程

在国内使用 npm 安装 Node.js 包时&#xff0c;由于网络环境的原因&#xff0c;下载速度可能非常慢。为了解决这个问题&#xff0c;很多开发者会选择使用淘宝镜像&#xff08;现在由 npmmirror.com 维护&#xff09;。本文将带你一步一步完成更换 npm 源为淘宝镜像的配置&#…...

汽车免拆诊断案例 | 2010 款路虎揽胜车空调偶尔出风异常

故障现象  一辆2010款路虎揽胜车&#xff0c;搭载5.0 L发动机&#xff0c;累计行驶里程约为16万km。车主反映&#xff0c;接通空调开关后&#xff0c;有时出风忽大忽小&#xff0c;有时不出风&#xff0c;有时要等2 min左右才出风&#xff1b;有时两三天出现一次&#xff0c;…...

pytorch3d安装记录

官方安装教程&#xff1a; https://github.com/facebookresearch/pytorch3d/blob/main/INSTALL.md 通过pip 或conda 可以很容易安装上预编译好的包&#xff0c; 安装过程不会报错&#xff0c; 但是使用的时候就会报各种错误 &#xff0c;原因是预编译好的包跟自己的环境不一定…...

服务器通过 ollama 运行deepseek r1

1、服务器环境简介 56核 CPU64G 内存无显卡已安装 Ollama 2、下载模型与配置 正常可以通过 ollama pull 或 ollama run 命令直接下载&#xff0c;但通常会遇到连接超时、找不到网址等总理。因此&#xff0c;可以使用国内的模型站进行下载&#xff0c;在这里使用魔塔查找模型…...

ollama stream“:True django如何返回数据

在使用 Django 框架开发 Web 应用时&#xff0c;如果你想要通过 Ollama 流式返回数据&#xff0c;你可以通过 Django 的 HttpResponse 或者 StreamingHttpResponse 来实现。Ollama 主要用于处理文本生成任务&#xff0c;如聊天机器人、自动完成等&#xff0c;通常这些任务会产生…...

RabbitMQ 消息队列

1. 消息队列是什么&#xff1f; 当用户注册成功后&#xff0c;就发送邮件。当邮件发送成功了&#xff0c;接口才会提示注册成功信息。但由于发送邮件&#xff0c;依赖于其他厂商的服务&#xff0c;有可能他们的接口会非常耗时。那么用户就一直要等着邮件发送成功了&#xff0c;…...

idea从远程gitee拉取项目

文章目录 从gitee上面拿到项目地址填写远程地址,并且设置项目保存位置拉取成功 从gitee上面拿到项目地址 填写远程地址,并且设置项目保存位置 拉取成功...

PHP集成软件用哪个比较好?

在Windows环境下&#xff0c;使用PHP时&#xff0c;通常需要一个集成开发环境&#xff08;IDE&#xff09;或者集成软件来简化开发和调试过程。以下是几款常用且推荐的PHP集成软件&#xff0c;每款都有其特点&#xff0c;可以根据需求进行选择&#xff1a; 1. XAMPP 特点&…...

Es的text和keyword类型以及如何修改类型

昨天同事触发定时任务发现es相关服务报了一个序列化问题&#xff0c; 今天早上捕获异常将异常堆栈全部打出来看&#xff0c;才发现是聚合的字段不是keyword类型的问题。 到kibbna命令行执行也是一样的错误 使用 /_mapping查看索引的字段类型&#xff0c;才发现userUniqueid是te…...

【找工作】C++和算法复习(自用)

文章目录 C头文件自定义排序函数stl 算法数据结构树状数组 数学 自用随便记录 C 排序 stl 头文件 全能头文件&#xff1a; #include<bits/stdc.h>自定义排序函数 bool compare(const int &odd1,const int &odd2) {return odd1>odd2; }stl 枚举map map&…...

Python VsCode DeepSeek接入

Python VsCode DeepSeek接入 创建API key 首先进入DeepSeek官网&#xff0c;https://www.deepseek.com/ 点击左侧“API Keys”&#xff0c;创建API key&#xff0c;输出名称为“AI” 点击“创建"&#xff0c;将API key保存&#xff0c;复制在其它地方。 在VsCode中下载…...

开放表格式和对象存储架构指南

比较 Apache Iceberg、Delta Lake 和 Apache Hudi&#xff0c;并了解如何为您的数据湖仓一体选择合适的开放表格式。开放表格式和对象存储正在重新定义组织构建其数据系统的方式&#xff0c;为可扩展、高效且面向未来的数据湖仓一体奠定了基础。通过利用对象存储的独特优势&…...

Netty入门详解

引言 Netty 是一个基于 Java 的高性能、异步事件驱动的网络应用框架&#xff0c;用于快速开发可维护的高性能网络服务器和客户端。它提供了一组丰富的 API&#xff0c;使得开发人员能够轻松地处理各种网络协议&#xff0c;如 TCP、UDP 等&#xff0c;并且支持多种编解码方式&a…...

我国首条大型无人机城际低空物流航线成功首航

首航震撼开场&#xff1a;羊肉 “飞” 越 540 公里 在夜色的笼罩下&#xff0c;榆阳马合通用机场的跑道上&#xff0c;一架大型固定翼无人机蓄势待发&#xff0c;机身被灯光照亮&#xff0c;宛如一只即将展翅翱翔的钢铁巨鸟。它的货舱里&#xff0c;满满装载着新鲜的榆林羊肉&a…...

【数据挖掘】--算法

【数据挖掘】--算法 目录&#xff1a;1. 缺失值和数值属性处理1缺失值处理&#xff1a; 2. 用于文档分类的朴素贝叶斯3. 分治法&#xff1a;建立决策树4. 覆盖算法建立规则5. 挖掘关联规则6. 线性模型有效寻找最近邻暴力搜索&#xff08;Brute-Force Search&#xff09;kd树&am…...

C++初阶——简单实现vector

目录 1、前言 2、Vector.h 3、Test.cpp 1、前言 简单实现std::vector类模板。 相较于前面的string&#xff0c;vector要注意&#xff1a; 深拷贝&#xff0c;因为vector的元素可能是类类型&#xff0c;类类型元素可以通过赋值重载&#xff0c;自己实现深拷贝。 迭代器失效…...

三、Three.js模型对象、材质

一、三维向量Vector3与模型位置 点模型Points、线模型Line、网格网格模型Mesh等模型对象的父类都是Object3D&#xff0c;如果想对这些模型进行旋转、缩放、平移等操作&#xff0c;如何实现&#xff0c;可以查询Threejs文档Object3D对相关属性和方法的介绍 1、三维向量Vector3 …...

C# 背景 透明 抗锯齿 (效果完美)

主要是通过 P/Invoke 技术调用 Windows API 函数 gdi32.dll/user32.dll&#xff0c;同时定义了一些结构体来配合这些 API 函数的使用&#xff0c;常用于处理图形绘制、窗口显示等操作。 运行查看效果 局部放大&#xff0c;抗锯齿效果很不错,尾巴毛毛清晰可见。 using System; u…...

Ubuntu 22.04 一键部署MinerU1.1.0

MinerU MinerU是一款将PDF转化为机器可读格式的工具&#xff08;如markdown、json&#xff09;&#xff0c;可以很方便地抽取为任意格式。 MinerU诞生于书生-浦语的预训练过程中&#xff0c;我们将会集中精力解决科技文献中的符号转化问题&#xff0c;希望在大模型时代为科技发…...

10、k8s对外服务之ingress

service和ingress的作用 service的作用 NodePort&#xff1a;会在每个节点开放一个端口&#xff0c;端口号30000-32767。 也是只能用于内网访问&#xff0c;四层转发。实现负载均衡。不能基于域名进行访问。 clusterip&#xff1a;service的默认类型&#xff0c;只能在集群…...

mysql面试题

一、基础概念 什么是主键&#xff08;Primary Key&#xff09;&#xff1f; 答案&#xff1a; 唯一标识表中每行数据的字段或字段组合&#xff0c;不允许 NULL 值&#xff0c;确保数据唯一性。 外键&#xff08;Foreign Key&#xff09;的作用是什么&#xff1f; 答案&#xf…...

什么是关系型数据库?什么是非关系型数据库?

关系型数据库&#xff1a;关系型数据库是基于关系模型的数据库&#xff0c;它将数据组织成二维表格的形式&#xff0c;每个表格称为一个表&#xff08;Table&#xff09;&#xff0c;表中的每一行称为一条记录&#xff08;Record&#xff09;或元组&#xff08;Tuple&#xff0…...

科技云报到:科技普惠潮流渐起,“开源”将带我们走向何方?

科技云报到原创。 开源决定软件未来&#xff0c;已成为全球技术和产业创新的主导模式之一。“开源”思想的诞生&#xff0c;可以说是计算机发展史中极具理想主义和浪漫主义色彩的一页&#xff0c;是科技自由与技术极客思想的延伸。 数字化浪潮奔涌&#xff0c;从软件开发的底…...

校园网架构设计与部署实战

一、学习目标 掌握校园网分层架构设计原则 理解多业务VLAN规划方法 学会部署认证计费系统 实现基础网络安全防护 二、典型校园网场景 需求分析&#xff1a;某中学需建设新型校园网络 覆盖教学楼/宿舍/图书馆三区域 区分教师/学生/访客网络权限 满足2000终端并发接入 …...

【含开题报告+文档+PPT+源码】基于Springboot的乡村老龄居民信息管理系统

开题报告 本文介绍了一个基于Spring Boot框架的乡村老龄居民信息管理系统。该系统旨在通过信息化手段&#xff0c;提高乡村老龄居民的生活质量&#xff0c;并为相关部门提供便捷的数据管理和服务支持。系统主要实现了用户注册登录、个人信息查看、健康数据录入、健康建议查询、…...

前端插件使用xlsx-populate,花样配置excel内容,根据坐添加标替换excel内容,修改颜色,合并单元格...。

需求要求&#xff1a;业务人员有个非常复杂得excel表格&#xff0c;各种表头等&#xff0c;但是模板是固定得。当然也可以实现在excel上搞出各种表格&#xff0c;但是不如直接用已有模板替换其中要动态得内容方便&#xff0c;这里我们用到CSDN得 xlsx-populate 插件。 实列中我…...

Mac m1 连接公司内网

1、创建VPN 1、在系统偏好设置 2、选择网络 3、进行添加 2、添加设置 1、选择VPN 2、类型选择L2TP/IPSec 3、填写服务器IP和账号 4、点击认证设置-填写密码 。然后应用 3、进行特殊配置 网上说苹果系统的问题。 1、创建命令 sudo vim /etc/ppp/options 2、添加内容-主要别…...

Jenkins 部署在 Mac 并在局域网内通过 ip 访问

Jenkins 部署在 Mac 并在局域网内通过 ip 访问 一、修改配置文件 打开文件 ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist 打开文件 /usr/local/opt/jenkins/homebrew.mxcl.jenkins.plist 两个文件目录不同&#xff0c;内容一样 <?xml version"1.0" e…...

臻识相机,华夏相机,芊熠车牌识别相机加密解密

臻识&#xff0c;华夏&#xff0c;芊熠这三种车牌识别相机解密我都试过了&#xff0c;可以正常解密成功&#xff0c;其它品牌我暂时没有测试。超级简单&#xff0c;免费的&#xff0c;白嫖无敌&#xff01; 流程&#xff1a; ①&#xff1a;先导出配置文件&#xff0c;例如我以…...

【Python 专题】数据结构 树

LeetCode 题目104. 二叉树的最大深度(gif 图解)方法一:后序遍历(DFS)方法二:层序遍历(BFS)872. 叶子相似的树(DFS 遍历)1448. 统计二叉树中好节点的数目(DFS 遍历)437. 路径总和 III(前缀和 + DFS 回溯)1372. 二叉树中的最长交错路径(DFS)236. 二叉树的最近公共…...

【飞行器原理学习】——1. 机翼及机翼参数

飞行器原理学习——1.机翼 一、 概述 飞机的各种机翼是飞机的控制面 通过铰链、钢索、液压等方式连接在机身上 操纵面运动时&#xff0c;会改变机翼的弧度和形状&#xff0c;使流经的空气发生偏转&#xff0c;从而影响空气动力的大小。使飞机围绕着3轴运动 二、机翼的操纵面…...

css之display:grid布局改块级元素布局

1.问题&#xff1a; div是块级元素&#xff0c;一个div元素占一行&#xff0c;但是&#xff0c;今天测试样式时&#xff0c;总是会有两个div并占一行&#xff0c;很困惑&#xff0c;结果发现是app这个样式 在main.css里 #app样式布局在main.ts里被应用 2.原因以及样式分析 im…...

如何组织和管理JavaScript文件:最佳实践与策略

在现代Web开发中&#xff0c;JavaScript已经成为不可或缺的一部分。随着项目规模的扩大&#xff0c;JavaScript代码的复杂性也随之增加。如何有效地组织和管理这些文件&#xff0c;不仅影响开发效率&#xff0c;还直接关系到项目的可维护性和可扩展性。本文将深入探讨如何组织和…...

Vue 中组件通信的方式有哪些,如何实现父子组件和非父子组件之间的通信?

一、父子组件通信&#xff08;垂直通信&#xff09; 1. Props 传值&#xff08;父 → 子&#xff09; 实现方案&#xff1a; <!-- Parent.vue --> <template><Child :user"userData" /> </template><script setup> import { ref } …...

伯克利 CS61A 课堂笔记 11 —— Mutability

本系列为加州伯克利大学著名 Python 基础课程 CS61A 的课堂笔记整理&#xff0c;全英文内容&#xff0c;文末附词汇解释。 目录 01 Objects 02 Example: Strings Ⅰ Representing Strings: the ASCII Standard Ⅱ Representing Strings: the Unicode Standard 03 Mutatio…...