OpenCV day5
函数内容接上文:OpenCV day4-CSDN博客
目录
9.cv2.adaptiveThreshold():
10.cv2.split():
11.cv2.merge():
12.cv2.add():
13.cv2.subtract():
14.cv2.multiply():
15.cv2.divide():
16.cv2.bitwise_and():
17.cv2.bitwise_or():
18.cv2.inRange():
19.cv2.getRotationMatrix2D():
21.cv2.flip():
22.cv2.resize():
23.cv2.getPerspectiveTransform():
24.cv2.warpPerspective():
9.cv2.adaptiveThreshold():
功能 | 对图像进行局部自适应阈值化,解决光照不均问题,生成二值图像。 |
参数 | 1. src :输入灰度图像(单通道)。2. maxValue :满足条件时赋予的像素值(如255)。3. adaptiveMethod :阈值计算方式(ADAPTIVE_THRESH_MEAN_C 或 ADAPTIVE_THRESH_GAUSSIAN_C )。4. thresholdType :二值化类型(THRESH_BINARY 或 THRESH_BINARY_INV )。5. blockSize :局部邻域大小(奇数,如11)。6. C :从均值/高斯均值中减去的常数(用于微调阈值)。 |
返回值 | 二值化后的图像(numpy.ndarray )。 |
关键区别:
-
普通阈值(如
cv2.threshold
):全局统一阈值。 -
自适应阈值:每个像素的阈值根据周围像素动态计算,适合光照不均的图像。
10.cv2.split():
功能 | 将多通道图像(如BGR)拆分为单通道数组。 |
参数 | src :输入的多通道图像(numpy.ndarray ,如BGR格式的3通道图像)。 |
返回值 | 返回单通道数组的元组(如BGR图像返回(B, G, R) 三个通道)。 |
11.
cv2.merge():
功能 | 将多个单通道数组合并成一个多通道图像(如合并 B、G、R 通道成彩色图像)。 |
参数 | mv :一个包含单通道数组的列表或元组(如 [B, G, R] )。 |
返回值 | 合并后的多通道图像(numpy.ndarray )。 |
关键点:
-
通常与
cv2.split()
配合使用,用于通道分离后的重新合并。 -
输入的通道顺序决定输出图像的格式(如
[R, G, B]
会生成 RGB 图像,而 OpenCV 默认是 BGR)。
12.cv2.add():
功能 | 对两张图像(或图像与标量)进行饱和加法运算(像素值超过最大值时截断)。 |
参数 | 1. src1 :第一张输入图像或标量值。2. src2 :第二张输入图像或标量值。3. mask (可选):掩膜,指定操作区域。4. dtype (可选):输出数据类型(如 cv2.CV_8U )。 |
返回值 | 加法结果图像(numpy.ndarray )。 |
关键特性:
-
饱和运算:结果超出范围时自动截断(如
uint8
超过 255 则取 255)。 -
与
numpy.add()
区别:NumPy 是模运算(256 → 0),而 OpenCV 是截断(256 → 255)。
13.cv2.subtract():
功能 | 对两张图像(或图像与标量)进行饱和减法运算(像素值低于最小值时截断为0)。 |
参数 | 1. src1 :被减图像或标量值。2. src2 :减数图像或标量值。3. mask (可选):掩膜,指定操作区域。4. dtype (可选):输出数据类型(如 cv2.CV_8U )。 |
返回值 | 减法结果图像(numpy.ndarray )。 |
14.cv2.multiply():
功能 | 对两张图像(或图像与标量)进行饱和乘法运算(像素值超过最大值时截断)。 |
参数 | 1. src1 :第一张输入图像或标量值。2. src2 :第二张输入图像或标量值。3. scale (可选):缩放因子(默认1.0)。4. dtype (可选):输出数据类型(如 cv2.CV_32F )。 |
返回值 | 乘法结果图像(numpy.ndarray )。 |
15.cv2.divide():
功能 | 对两张图像(或图像与标量)进行除法运算(支持饱和处理和类型转换)。 |
参数 | 1. src1 :被除数图像或标量值。2. src2 :除数图像或标量值。3. scale (可选):缩放因子(默认1.0)。4. dtype (可选):输出数据类型(如 cv2.CV_32F )。 |
返回值 | 除法结果图像(numpy.ndarray )。 |
16.cv2.bitwise_and():
功能 | 对两张图像(或图像与标量)进行按位与运算(像素级二进制AND操作)。 |
参数 | 1. src1 :第一张输入图像或标量值。2. src2 :第二张输入图像或标量值。3. mask (可选):掩膜,指定操作区域(仅对掩膜非零区域操作)。4. dst (可选):输出数组。 |
返回值 | 按位与结果图像(numpy.ndarray )。 |
关键特性:
-
二进制操作:对每个像素的二进制值逐位进行AND运算(同1得1,否则得0)。
-
掩膜应用:可通过
mask
参数限定操作区域(非掩膜区域输出为0)。 -
典型用途:图像掩膜提取、ROI操作、位平面分析。
17.cv2.bitwise_or():
功能 | 对两张图像(或图像与标量)进行按位或运算(像素级二进制OR操作)。 |
参数 | 1. src1 :第一张输入图像或标量值。2. src2 :第二张输入图像或标量值。3. mask (可选):掩膜,指定操作区域(仅对掩膜非零区域操作)。4. dst (可选):输出数组。 |
返回值 | 按位或结果图像(numpy.ndarray )。 |
对比其他位操作:
-
cv2.bitwise_and()
:逻辑与(交集) -
cv2.bitwise_or()
:逻辑或(并集) -
cv2.bitwise_xor()
:逻辑异或(差异) -
cv2.bitwise_not()
:逻辑非(取反)
18.cv2.inRange():
功能 | 检查图像中像素值是否位于指定范围内,生成二值掩膜(符合范围=255,否则=0)。 |
参数 | 1. src :输入图像(单通道或多通道)。2. lowerb :范围下限(标量或数组,如 [min_B, min_G, min_R] )。3. upperb :范围上限(标量或数组,如 [max_B, max_G, max_R] )。 |
返回值 | 二值掩膜图像(numpy.ndarray ,符合范围=255,否则=0)。 |
关键特性:
-
多通道支持:可直接处理彩色图像(需为
lowerb
和upperb
提供每个通道的阈值)。 -
典型用途:颜色过滤、背景分割、对象检测(如提取绿色区域)。
19.cv2.getRotationMatrix2D():
功能 | 生成一个 2D旋转矩阵,用于图像的旋转操作(围绕指定中心点旋转)。 |
参数 | 1. center :旋转中心坐标 (x, y) 。2. angle :旋转角度(顺时针为正,单位:度)。3. scale :缩放因子(1.0表示不缩放)。 |
返回值 | 2×3的仿射变换矩阵(numpy.ndarray ,可直接用于 cv2.warpAffine() )。 |
关键特性:
-
旋转方向:角度为正值时顺时针旋转,负值逆时针旋转。
-
中心点:旋转围绕该点进行,若设为图像中心则保持旋转后内容在视野内。
-
缩放:可同时缩放图像(如
scale=0.5
旋转并缩小一半)。
功能 | 对图像应用仿射变换(旋转、平移、缩放、倾斜等线性变换)。 |
参数 | 1. src :输入图像。2. M :2×3仿射变换矩阵(如 cv2.getRotationMatrix2D() 生成的矩阵)。3. dsize :输出图像尺寸 (width, height) 。4. flags (可选):插值方法(如 cv2.INTER_LINEAR )。5. borderMode (可选):边界填充方式(如 cv2.BORDER_CONSTANT )。6. borderValue (可选):填充边界时的颜色(默认为黑色)。 |
返回值 | 变换后的图像(numpy.ndarray )。 |
关键特性:
-
仿射变换:保持直线和平行性,适用于旋转、平移、缩放等操作。
-
插值方法:推荐
cv2.INTER_LINEAR
(平衡速度与质量)或cv2.INTER_CUBIC
(高质量)。 -
边界处理:超出原图范围的区域默认填充黑色,可通过
borderValue
修改(如填充白色)。
21.cv2.flip():
功能 | 对图像进行翻转操作(水平、垂直或双向翻转)。 |
参数 | 1. src :输入图像。2. flipCode :翻转方向控制:• 0 :垂直翻转(沿X轴)• 1 :水平翻转(沿Y轴)• -1 :双向翻转(先水平后垂直) |
返回值 | 翻转后的图像(numpy.ndarray )。 |
关键特性:
-
原地操作:不修改原图,返回新图像。
-
无插值:直接像素映射,速度极快。
-
多通道支持:彩色图像(BGR/RGB)也可直接翻转。
22.cv2.resize():
项目 | 说明 |
---|---|
功能 | 调整图像尺寸(放大或缩小)。 |
参数 | 1. src :输入图像。2. dsize :目标尺寸 (width, height) 。3. fx , fy (可选):沿x/y轴的缩放因子(与dsize 二选一)。4. interpolation (可选):插值方法(默认cv2.INTER_LINEAR )。 |
返回值 | 缩放后的图像(numpy.ndarray )。 |
常用插值方法:
-
cv2.INTER_NEAREST
:最近邻(速度快,质量低)。 -
cv2.INTER_LINEAR
:双线性(默认,平衡速度与质量)。 -
cv2.INTER_CUBIC
:双三次(高质量,适合放大)。 -
cv2.INTER_AREA
:区域插值(适合缩小)。
注意:
-
dsize
参数格式为(宽度, 高度)
,与 numpy 的(行, 列)
相反。 -
同时指定
dsize
和fx/fy
时,dsize
优先生效。
23.cv2.getPerspectiveTransform():
功能 | 计算 透视变换矩阵(从4个源点映射到4个目标点的3×3变换矩阵)。 |
参数 | 1. src :源图像中4个点的坐标(np.float32 格式,形如[[x1,y1],...,[x4,y4]] )。2. dst :目标图像中对应的4个点坐标(格式同src )。 |
返回值 | 3×3透视变换矩阵(numpy.ndarray ,用于cv2.warpPerspective() )。 |
关键特性
-
点对要求:
-
需要 精确4组对应点(不能多或少)。
-
点顺序需一致(如左上、右上、左下、右下)。
-
注意事项
-
输入点类型:必须是
np.float32
,否则报错。 -
点顺序一致性:若源点与目标点顺序不匹配,会导致扭曲异常。
-
与仿射变换区别:透视变换需要4个点(仿射变换仅需3个点)。
24.cv2.warpPerspective():
功能 | 对图像应用透视变换(将图像投影到新的视角平面,如倾斜矫正、视角转换)。 |
参数 | 1. src :输入图像。2. M :3×3透视变换矩阵(来自cv2.getPerspectiveTransform() )。3. dsize :输出图像尺寸 (width, height) 。4. flags (可选):插值方法(如 cv2.INTER_LINEAR )。5. borderMode (可选):边界填充方式(如 cv2.BORDER_CONSTANT )。6. borderValue (可选):填充颜色(默认为黑色)。 |
返回值 | 透视变换后的图像(numpy.ndarray )。 |
核心特性
-
透视变换矩阵
-
需通过
cv2.getPerspectiveTransform()
或手动计算得到3×3矩阵。
-
-
插值方法
-
cv2.INTER_LINEAR
(默认):平衡速度与质量。 -
cv2.INTER_CUBIC
:高质量,适合放大。 -
cv2.INTER_NEAREST
:速度快但锯齿明显。
-
-
边界处理
-
默认填充黑色(
borderValue=(0, 0, 0)
),可设置为白色或其他颜色。
-
相关文章:
OpenCV day5
函数内容接上文:OpenCV day4-CSDN博客 目录 9.cv2.adaptiveThreshold(): 10.cv2.split(): 11.cv2.merge(): 12.cv2.add(): 13.cv2.subtract(): 14.cv2.multiply(): 15.cv2.divide(): 1…...
Spring DI 详解
学习过 IoC 后,就知道我们可以将对象交给 Spring 进行管理,但是我们在一个类会有若干属性,也就是这个类依赖于这若干个属性,那么我们就可以将交给 Spring 管理的对象注入到这个类中,这也就是依赖注入。 依赖注入有三种…...
解锁动态规划的奥秘:从零到精通的创新思维解析(9)
前言: 小编在前几日写了关于动态规划中的多状态dp的问题,此时小编将会讲述一个动态规划我们常常会遇到的一类问题——股票问题,股票问题就类似小编上一篇所讲述的粉刷房子的问题,可以通过一个二维的dp表来代替多个一维的dp表。买卖…...
redis 配置日志和数据存储位置
Redis配置日志和数据存储位置 介绍 Redis是一个开源的高性能键值存储数据库,常用于缓存、消息队列和实时分析等场景。在使用Redis时,我们需要配置日志和数据存储位置,以便更好地管理和监控Redis的运行状态。本文将介绍如何配置Redis的日志和数…...
STL详解 - stack与queue的模拟实现
目录 一、容器适配器 1. 什么是适配器模式 2. stack与queue的底层结构 3. deque的原理与缺陷 3.1 deque的原理 3.2 deque的缺陷 4. 为何选择deque作为默认底层容器 二、stack与queue的模拟实现 1. stack的实现 2. queue的实现 一、容器适配器 1. 什么是适配器模式 适…...
Chromium 134 编译指南 macOS篇:获取源代码(四)
1. 引言 在Chromium 134的开发之旅中,获取源代码是一个至关重要的里程碑。本文将引导您完成这一关键步骤,为后续的编译和开发工作奠定坚实的基础。无论您是出于学习目的,还是计划开发自己的浏览器项目,掌握获取Chromium源码的方法…...
关于 IntelliJ IDEA 中频繁出现的 Kotlin 及其核心作用
关于 IntelliJ IDEA 中频繁出现的 Kotlin 及其核心作用 1. Kotlin 是什么? Kotlin 是由 JetBrains(IntelliJ IDEA 的开发商)设计的一种现代化编程语言,2016年正式发布,2017年被 Google 指定为 Android 官方开发语言。…...
MYOJ_11700(UVA10591)Happy Number(快乐数)(超快解法:图论思想解题)
原题(English) Let the sum of the square of the digits of a positive integer S0S0 be represented by S1S1. In a similar way, let the sum of the squares of the digits of S1S1 be represented by S2S2 and so on. If Si1Si1 for some i≥1i≥1, then the or…...
2843. 统计对称整数的数目
2843. 统计对称整数的数目 题目链接:2843. 统计对称整数的数目 代码如下: class Solution { public:int countSymmetricIntegers(int low, int high) {int res 0;for (int i low;i < high;i) {string s to_string(i);int n s.size();if (n % 2 …...
【模块化拆解与多视角信息6】自我评价:人设构建的黄金50字——从无效堆砌到精准狙击的认知升级
写在最前 作为一个中古程序猿,我有很多自己想做的事情,比如埋头苦干手搓一个低代码数据库设计平台(目前只针对写java的朋友),比如很喜欢帮身边的朋友看看简历,讲讲面试技巧,毕竟工作这么多年,也做到过高管,有很多面人经历,意见还算有用,大家基本都能拿到想要的offe…...
ServletRequestAttributeListener 的用法笔记250417
ServletRequestAttributeListener 的用法笔记250417 以下是关于 ServletRequestAttributeListener 的用法详解,涵盖核心方法、实现步骤、典型应用场景及注意事项,帮助您有效监听请求级别属性(ServletRequest 中的属性)的变化&…...
大模型在胃十二指肠溃疡预测及诊疗方案制定中的应用研究
目录 一、引言 1.1 研究背景与目的 1.2 国内外研究现状 1.3 研究方法和创新点 二、大模型相关理论基础 2.1 大模型的基本原理 2.2 适用于医疗领域的大模型类型 2.3 大模型在医疗领域的应用现状和潜力 三、胃十二指肠溃疡的疾病特征 3.1 疾病概述 3.2 诊断方法 3.3 …...
第九节:React HooksReact 18+新特性-React 19的use钩子如何简化异步操作?
对比:useEffect vs use处理Promise 代码题:用use改写数据请求逻辑 React 19 use 钩子:异步操作革命性简化方案(附完整代码对比) 一、useEffect vs use 处理 Promise 核心差异对比 对比维度useEffect 方案use 钩子方案…...
【React】项目的搭建
create-react-app 搭建vite 搭建相关下载 在Vue中搭建项目的步骤:1.首先安装脚手架的环境,2.通过脚手架的指令创建项目 在React中有两种方式去搭建项目:1.和Vue一样,先安装脚手架然后通过脚手架指令搭建;2.npx create-…...
方案精读:华为数字化转型实践案例合集【附全文阅读】
华为数字化转型旨在通过数字化变革实现全连接的智能华为,成为行业标杆,提升客户满意度和运营效率。其以客户为中心,基于 “双轮驱动” 理念,从转意识、方法、文化、组织、模式等方面入手,构建数字化平台,推进数据治理,保障安全,开展业务重构。通过合同 360、产品设计与…...
VScode使用Pyside6(环境篇)
Pyside6的环境搭建: cmd命令窗口输入:pip install pyside6 使用everthing进行查找:(非常好用的一款搜索工具 ) 进入PySide6文件夹中,点击designer.exe,查看是否能够点开。 VScode环境搭建: 下…...
智能云图库-12-DDD重构
本节重点 之前我们已经完成了本项目的功能开发。由于本项目功能丰富、代码量大,如果是在企业中维护开发的项目,传统的 MVC 架构可能会让后续的开发协作越来越困难。所以本节鱼皮要从 0 带大家学习一种新的架构设计模式 —— DDD 领域驱动设计。 大纲…...
Linux 网络配置
文章目录 网络基础知识IP地址子网掩码DNS Linux操作系统网络配置 网络基础知识 IP地址 IP地址是用于区分同一个网络中的不同主机的唯一标识。 Internet中的主机要与其他机器通信必须具有一个IP地址,因为网络中传输的数据包必须携带目的IP地址和源IP地址ÿ…...
05-DevOps-Jenkins自动拉取构建代码2
通过前面的操作,已经成功完成了源代码的打包工作,具体操作参见下面的文章: 05-DevOps-Jenkins自动拉取构建代码-CSDN博客 验证打包文件 验证打包后的文件是否存在,进入到Jenkins的工作目录中,找到对应的jar包&#x…...
ESP32之OTA固件升级流程,基于VSCode环境下的ESP-IDF开发,基于阿里云物联网平台MQTT-TLS连接通信(附源码)
目录 1.创建产品和设备 2.准备工作 2.1 获取基础工程 2.2 基本知识概述 2.2.1 OTA升级流程 2.2.2 主题和数据格式 (1)设备上报版本号 ①请求主题(设备 -> 阿里云): ②响应主题(阿里云->设备…...
【秣厉科技】LabVIEW工具包——OpenCV 教程(20):拾遗 - imgproc 基础操作(下)
文章目录 前言imgproc 基础操作(下)8. 霍夫检测9. 滤波与模糊10. 拟合与包围 总结 前言 需要下载安装OpenCV工具包的朋友,请前往 此处 ;系统要求:Windows系统,LabVIEW>2018,兼容32位和64位。…...
kafka发送消息,同时支持消息压缩和不压缩
1、生产者配置 nacos中增加配置,和公共spring-kafka配置字段有区分 需要发送压缩消息时,使用该配置类发送即可 import org.apache.kafka.clients.producer.ProducerConfig; import org.springframework.beans.factory.annotation.Autowired; import or…...
AOSP世界时间的更新
在 AOSP(Android Open Source Project)中,世界时间的更新主要涉及设备时区数据的管理和更新,以确保设备能够正确显示全球各地的时间。AOSP 依赖 IANA 时区数据库(也称为 tzdata)来提供时区规则和世界时间数…...
Python + 链上数据可视化:让区块链数据“看得懂、用得上”
Python + 链上数据可视化:让区块链数据“看得懂、用得上” 区块链技术的透明性和去中心化特性,使得链上数据成为金融、供应链、NFT 以及 DeFi 领域的关键参考。可是,对于普通用户而言,链上数据往往晦涩难懂,难以直接利用。那么,如何利用 Python 提取、分析并直观展示链上…...
方德桌面操作系统V5.0-G23 vim无法复制粘贴内容
1.修改 Vim 配置文件 rootyuhua-virtualmachine:/etc/docker# sudo vim /usr/share/vim/vim82/defaults.vim 2.在第82行找到set mousea行,将其为set mouse-a。如果文件中没有set mousea,则修改添加set mouse-a。 3.保存文件并退出 Vim: 4…...
[linux] vim 乱码
1. 确保终端支持中文 设置终端编码为 UTF-8,运行: echo $LANG如果不是 UTF-8(如 en_US.UTF-8),你可以设置为: export LANG=zh_CN.UTF-8 export LC_ALL=zh_CN.UTF-8 2. 确保 Vim 使用 UTF-8 编码 打开 .vimrc 或输入以下命令: :set encoding=utf-8 :set fileencodin…...
天洑参加人工智能校企产学研及人才对接活动——走进南京大学人工智能学院
4月15日,人工智能校企产学研及人才对接——走进南京大学人工智能学院活动在南京大学成功举办。此次活动由江苏省人工智能学会、南京大学人工智能学院主办,江苏省工业和信息化厅党组成员、副厅长池宇,南京大学副校长周志华出席。江苏省工业和信…...
33、单元测试实战练习题
以下是三个练习题的具体实现方案,包含完整代码示例和详细说明: 练习题1:TDD实现博客评论功能 步骤1:编写失败测试 # tests/test_blog.py import unittest from blog import BlogPost, Comment, InvalidCommentErrorclass TestBl…...
《AI大模型应知应会100篇》第22篇:系统提示词(System Prompt)设计与优化
第22篇:系统提示词(System Prompt)设计与优化 摘要 在大语言模型(LLM)应用中,系统提示词(System Prompt)是控制模型行为的核心工具之一。它不仅定义了模型的身份、角色和行为规范,还直接影响输…...
【KWDB 创作者计划】_深度学习篇---松科AI加速棒
文章目录 前言一、简介二、安装与配置硬件连接驱动安装软件环境配置三、使用步骤初始化设备调用SDK接口检测设备状态:集成到AI项目四、注意事项兼容性散热固件更新安全移除五、硬件架构与技术规格核心芯片专用AI处理器内存配置接口类型物理接口虚拟接口能效比散热设计六、软件…...
【Quest开发】在虚拟世界设置具有遮挡关系的透视窗口
软件:Unity 2022.3.51f1c1、vscode、Meta XR All in One SDK V72 硬件:Meta Quest3 仅针对urp管线 参考了YY老师这篇,可以先看他的再看这个可能更好理解一些:Unity Meta Quest MR 开发(七):使…...
Spark on K8s 在vivo大数据平台的混部实战
作者:vivo 互联网大数据团队- Qin Yehai 在离线混部可以提高整体的资源利用率,不过离线Spark任务部署到混部容器集群需要做一定的改造,本文将从在离线混部中的离线任务的角度,讲述离线任务是如何进行容器化、平台上的离线任务如何…...
Mac配置Java的环境变量
刚拿到手的Mac mini M4如何去设置java的环境变量? 第一步: 首先,你先下载好intelliJ IDEA,然后在里面自带的jdk列表里选择你自己想要使用的jdk的版本以及供应商。 下面是我自己使用的jdk版本以及供应商: 第二步&am…...
RPCRT4!OSF_CCONNECTION::OSF_CCONNECTION函数分析之创建一个RPCRT4!OSF_CCALL--RPC源代码分析
RPCRT4!OSF_CCONNECTION::OSF_CCONNECTION函数分析之创建一个RPCRT4!OSF_CCALL 第一部分: 1: kd> p RPCRT4!OSF_CCONNECTION::OSF_CCONNECTION0x167: 001b:77bf6957 393dec35c877 cmp dword ptr [RPCRT4!gfRPCVerifierEnabled (77c835ec)],edi 1: kd> …...
6、事件处理法典:魔杖交互艺术——React 19 交互实现
一、魔杖启灵:交互魔法的本质 "记住,巫师们!魔杖的每一次挥动都是与魔法世界的对话,"麦格教授的魔杖在空中划出金色事件流,"React 19的useTransition如同时间转换器,让麻瓜设备也能感知魔杖…...
.net C# 使用Epplus库将Datatable导出到Excel合并首列
最近处理大量数据,需单独导出到首列名称一致的excel,Epplus免费,效率spire高,在Nuget添加Epplus。因为特殊原因,不能使用数据库,只能由数据源导出到excel;最终处理39万行输出到单独的excel文件时间2分钟。 一、EPPlus 基础介绍 EPPlus 是一个开源的 .NET 库(适用…...
【gpt生成-总览】怎样才算开发了一门编程语言,需要通过什么测试
开发一门真正的编程语言需要经历完整的设计、实现和验证过程,并通过系统的测试体系验证其完备性。以下是分阶段开发标准及测试方法: 一、语言开发核心阶段 1. 语言规范设计(ISO/IEC 标准级别) 语法规范:BNF/…...
网络417 路由转发2 防火墙
路由器临时开启路由转发功能 查看节点a网关ip 节点b网关 1.开启路由器路由转发功能。 2.配置到节点a 节点b的网络。 节点a因为和节点b不在同一网段,计划通过网关直达 网关就是中间节点路由器的ip地址 再Ping另一个 计划节点bping节点c ping不通 是因为 修改了…...
HttpSessionAttributeListener 的用法笔记250417
HttpSessionAttributeListener 的用法笔记250417 以下是关于 HttpSessionAttributeListener 的用法详解,涵盖核心方法、应用场景、实现步骤及关键注意事项,帮助您有效监听会话(HttpSession)中属性的动态变化: 1. 核心功…...
Spring Boot 实现 Excel 导出功能(支持前端下载 + 文件流)
🧠 一、为什么用 EasyExcel? 在 Java 开发中,操作 Excel 的框架主要有: Apache POI(经典但慢、内存占用大) JXL(老旧不维护) Alibaba EasyExcel(阿里出品,…...
Java动态批量生成logback日志文件
应用场景举个例子: 当我一个服务需要启动n个端口,来监听n个来源的数据,并且处理数据逻辑一致;但是我想要它们的日志分开文件夹来打印,从而更好的分析问题,那么就可以用我下面提供的模版了; 动态…...
从原理到实践:NFS复杂故障处理方法论
#作者:孙德新 文章目录 一、nfs使用概述二、疑难故障现象描述三、原理分析四、解决方案五、优化服务器资源配置:六、故障案例总结七、故障预防建议八、nfs优化方法 一、nfs使用概述 NFS(Network File System)是一种分布式文件系…...
SAP FI固定资产报错:在折旧范围 30 中的业务与帐面净值规则冲突 - 解决方法
一、问题描述 消息号 AA660 诊断 由于和在区域30中检查的净帐面价值规则相反,不能过帐该凭证。 过程 当输入比例值时会出现此错误。比例值超过过帐金额,如 100 的后续资本化,但该金额的比例折旧为 110。请检查输入项并做需要的更正。 二、…...
Go语言从零构建SQL数据库(8):执行计划的奥秘
从SQL语句到高效查询:执行计划的奥秘 想象你是一位旅行者,想从北京到上海。你告诉导航软件你的目的地(类似SQL查询),但导航软件需要为你规划具体路线——是走高速公路还是国道?是选择最短距离还是最省时间…...
UNet 改进(12):UNet with ECA (Efficient Channel Attention) 网络
详解 下面将详细解析这个实现了ECA注意力机制的UNet网络代码。 1. 代码概述 代码实现了一个带有Efficient Channel Attention (ECA)模块的UNet网络架构。 UNet是一种常用于图像分割任务的编码器-解码器结构网络,而ECA模块则是一种轻量级的通道注意力机制,可以增强网络对重…...
关于 AI驱动的智慧家居、智慧城市、智慧交通、智慧医疗和智慧生活 的详细解析,涵盖其定义、核心技术、应用场景、典型案例及未来趋势
以下是关于 AI驱动的智慧家居、智慧城市、智慧交通、智慧医疗和智慧生活 的详细解析,涵盖其定义、核心技术、应用场景、典型案例及未来趋势: 一、AI智慧家居 1. 定义与核心功能 定义:通过AI与物联网(IoT)技术&#…...
Windows11-24h2的任务栏时间显示秒 笔记250417
Windows11-24h2的任务栏时间显示秒 笔记250417 打开注册表编辑器 WinR输入 regedit 回车。 修改注册表项 定位到路径: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced右键右侧空白处 → 新建【DWORD (32位)值】→ 命名为 ShowSec…...
机器学习的简单应用
什么是机器学习? 定义: 机器学习(Machine Learning, ML) 是人工智能(AI)的一个子领域,其核心是 通过算法让计算机从数据中自动学习规律,并基于这些规律对新数据做出预测或决策…...
双 Token 与 单 Token 优缺点
双Token与单Token认证机制对比 在Web应用开发中,身份认证和授权是保障系统安全的核心环节。随着技术演进,基于Token的认证机制逐渐取代传统Session方案,而双Token与单Token架构的选型争议也日益成为开发者关注的焦点。本文将从技术原理、优缺…...
第五章 SQLite数据库:6、SQLite 常用语法1
SQLite Insert 语句 SQLite 的 INSERT INTO 语句用于向数据库的某个表中添加新的数据行。 语法 INSERT INTO 语句有两种基本语法,如下所示: INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)] VALUES (value1, value2, value3,...…...