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

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. fxfy(可选):沿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())。

关键特性

  1. 点对要求

    • 需要 精确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)。

核心特性

  1. 透视变换矩阵

    • 需通过 cv2.getPerspectiveTransform() 或手动计算得到3×3矩阵。

  2. 插值方法

    • cv2.INTER_LINEAR(默认):平衡速度与质量。

    • cv2.INTER_CUBIC:高质量,适合放大。

    • cv2.INTER_NEAREST:速度快但锯齿明显。

  3. 边界处理

    • 默认填充黑色(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 Si1Si​1 for some i≥1i≥1, then the or…...

2843. 统计对称整数的数目

2843. 统计对称整数的数目 题目链接&#xff1a;2843. 统计对称整数的数目 代码如下&#xff1a; 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 的用法详解&#xff0c;涵盖核心方法、实现步骤、典型应用场景及注意事项&#xff0c;帮助您有效监听请求级别属性&#xff08;ServletRequest 中的属性&#xff09;的变化&…...

大模型在胃十二指肠溃疡预测及诊疗方案制定中的应用研究

目录 一、引言 1.1 研究背景与目的 1.2 国内外研究现状 1.3 研究方法和创新点 二、大模型相关理论基础 2.1 大模型的基本原理 2.2 适用于医疗领域的大模型类型 2.3 大模型在医疗领域的应用现状和潜力 三、胃十二指肠溃疡的疾病特征 3.1 疾病概述 3.2 诊断方法 3.3 …...

第九节:React HooksReact 18+新特性-React 19的use钩子如何简化异步操作?

对比&#xff1a;useEffect vs use处理Promise 代码题&#xff1a;用use改写数据请求逻辑 React 19 use 钩子&#xff1a;异步操作革命性简化方案&#xff08;附完整代码对比&#xff09; 一、useEffect vs use 处理 Promise 核心差异对比 对比维度useEffect 方案use 钩子方案…...

【React】项目的搭建

create-react-app 搭建vite 搭建相关下载 在Vue中搭建项目的步骤&#xff1a;1.首先安装脚手架的环境&#xff0c;2.通过脚手架的指令创建项目 在React中有两种方式去搭建项目&#xff1a;1.和Vue一样&#xff0c;先安装脚手架然后通过脚手架指令搭建&#xff1b;2.npx create-…...

方案精读:华为数字化转型实践案例合集【附全文阅读】

华为数字化转型旨在通过数字化变革实现全连接的智能华为,成为行业标杆,提升客户满意度和运营效率。其以客户为中心,基于 “双轮驱动” 理念,从转意识、方法、文化、组织、模式等方面入手,构建数字化平台,推进数据治理,保障安全,开展业务重构。通过合同 360、产品设计与…...

VScode使用Pyside6(环境篇)

Pyside6的环境搭建&#xff1a; cmd命令窗口输入&#xff1a;pip install pyside6 使用everthing进行查找&#xff1a;&#xff08;非常好用的一款搜索工具 &#xff09; 进入PySide6文件夹中&#xff0c;点击designer.exe,查看是否能够点开。 VScode环境搭建&#xff1a; 下…...

智能云图库-12-DDD重构

本节重点​ 之前我们已经完成了本项目的功能开发。由于本项目功能丰富、代码量大&#xff0c;如果是在企业中维护开发的项目&#xff0c;传统的 MVC 架构可能会让后续的开发协作越来越困难。所以本节鱼皮要从 0 带大家学习一种新的架构设计模式 —— DDD 领域驱动设计。 大纲…...

Linux 网络配置

文章目录 网络基础知识IP地址子网掩码DNS Linux操作系统网络配置 网络基础知识 IP地址 IP地址是用于区分同一个网络中的不同主机的唯一标识。 Internet中的主机要与其他机器通信必须具有一个IP地址&#xff0c;因为网络中传输的数据包必须携带目的IP地址和源IP地址&#xff…...

05-DevOps-Jenkins自动拉取构建代码2

通过前面的操作&#xff0c;已经成功完成了源代码的打包工作&#xff0c;具体操作参见下面的文章&#xff1a; 05-DevOps-Jenkins自动拉取构建代码-CSDN博客 验证打包文件 验证打包后的文件是否存在&#xff0c;进入到Jenkins的工作目录中&#xff0c;找到对应的jar包&#x…...

ESP32之OTA固件升级流程,基于VSCode环境下的ESP-IDF开发,基于阿里云物联网平台MQTT-TLS连接通信(附源码)

目录 1.创建产品和设备 2.准备工作 2.1 获取基础工程 2.2 基本知识概述 2.2.1 OTA升级流程 2.2.2 主题和数据格式 &#xff08;1&#xff09;设备上报版本号 ①请求主题&#xff08;设备 -> 阿里云&#xff09;&#xff1a; ②响应主题&#xff08;阿里云->设备…...

【秣厉科技】LabVIEW工具包——OpenCV 教程(20):拾遗 - imgproc 基础操作(下)

文章目录 前言imgproc 基础操作&#xff08;下&#xff09;8. 霍夫检测9. 滤波与模糊10. 拟合与包围 总结 前言 需要下载安装OpenCV工具包的朋友&#xff0c;请前往 此处 &#xff1b;系统要求&#xff1a;Windows系统&#xff0c;LabVIEW>2018&#xff0c;兼容32位和64位。…...

kafka发送消息,同时支持消息压缩和不压缩

1、生产者配置 nacos中增加配置&#xff0c;和公共spring-kafka配置字段有区分 需要发送压缩消息时&#xff0c;使用该配置类发送即可 import org.apache.kafka.clients.producer.ProducerConfig; import org.springframework.beans.factory.annotation.Autowired; import or…...

AOSP世界时间的更新

在 AOSP&#xff08;Android Open Source Project&#xff09;中&#xff0c;世界时间的更新主要涉及设备时区数据的管理和更新&#xff0c;以确保设备能够正确显示全球各地的时间。AOSP 依赖 IANA 时区数据库&#xff08;也称为 tzdata&#xff09;来提供时区规则和世界时间数…...

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行&#xff0c;将其为set mouse-a。如果文件中没有set mousea&#xff0c;则修改添加set mouse-a。 3.保存文件并退出 Vim&#xff1a; 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日&#xff0c;人工智能校企产学研及人才对接——走进南京大学人工智能学院活动在南京大学成功举办。此次活动由江苏省人工智能学会、南京大学人工智能学院主办&#xff0c;江苏省工业和信息化厅党组成员、副厅长池宇&#xff0c;南京大学副校长周志华出席。江苏省工业和信…...

33、单元测试实战练习题

以下是三个练习题的具体实现方案&#xff0c;包含完整代码示例和详细说明&#xff1a; 练习题1&#xff1a;TDD实现博客评论功能 步骤1&#xff1a;编写失败测试 # tests/test_blog.py import unittest from blog import BlogPost, Comment, InvalidCommentErrorclass TestBl…...

《AI大模型应知应会100篇》第22篇:系统提示词(System Prompt)设计与优化

第22篇&#xff1a;系统提示词(System Prompt)设计与优化 摘要 在大语言模型&#xff08;LLM&#xff09;应用中&#xff0c;系统提示词&#xff08;System Prompt&#xff09;是控制模型行为的核心工具之一。它不仅定义了模型的身份、角色和行为规范&#xff0c;还直接影响输…...

【KWDB 创作者计划】_深度学习篇---松科AI加速棒

文章目录 前言一、简介二、安装与配置硬件连接驱动安装软件环境配置三、使用步骤初始化设备调用SDK接口检测设备状态:集成到AI项目四、注意事项兼容性散热固件更新安全移除五、硬件架构与技术规格核心芯片专用AI处理器内存配置接口类型物理接口虚拟接口能效比散热设计六、软件…...

【Quest开发】在虚拟世界设置具有遮挡关系的透视窗口

软件&#xff1a;Unity 2022.3.51f1c1、vscode、Meta XR All in One SDK V72 硬件&#xff1a;Meta Quest3 仅针对urp管线 参考了YY老师这篇&#xff0c;可以先看他的再看这个可能更好理解一些&#xff1a;Unity Meta Quest MR 开发&#xff08;七&#xff09;&#xff1a;使…...

Spark on K8s 在vivo大数据平台的混部实战

作者&#xff1a;vivo 互联网大数据团队- Qin Yehai 在离线混部可以提高整体的资源利用率&#xff0c;不过离线Spark任务部署到混部容器集群需要做一定的改造&#xff0c;本文将从在离线混部中的离线任务的角度&#xff0c;讲述离线任务是如何进行容器化、平台上的离线任务如何…...

Mac配置Java的环境变量

刚拿到手的Mac mini M4如何去设置java的环境变量&#xff1f; 第一步&#xff1a; 首先&#xff0c;你先下载好intelliJ IDEA&#xff0c;然后在里面自带的jdk列表里选择你自己想要使用的jdk的版本以及供应商。 下面是我自己使用的jdk版本以及供应商&#xff1a; 第二步&am…...

RPCRT4!OSF_CCONNECTION::OSF_CCONNECTION函数分析之创建一个RPCRT4!OSF_CCALL--RPC源代码分析

RPCRT4!OSF_CCONNECTION::OSF_CCONNECTION函数分析之创建一个RPCRT4!OSF_CCALL 第一部分&#xff1a; 1: kd> p RPCRT4!OSF_CCONNECTION::OSF_CCONNECTION0x167: 001b:77bf6957 393dec35c877 cmp dword ptr [RPCRT4!gfRPCVerifierEnabled (77c835ec)],edi 1: kd> …...

6、事件处理法典:魔杖交互艺术——React 19 交互实现

一、魔杖启灵&#xff1a;交互魔法的本质 "记住&#xff0c;巫师们&#xff01;魔杖的每一次挥动都是与魔法世界的对话&#xff0c;"麦格教授的魔杖在空中划出金色事件流&#xff0c;"React 19的useTransition如同时间转换器&#xff0c;让麻瓜设备也能感知魔杖…...

.net C# 使用Epplus库将Datatable导出到Excel合并首列

最近处理大量数据,需单独导出到首列名称一致的excel,Epplus免费,效率spire高,在Nuget添加Epplus。因为特殊原因,不能使用数据库,只能由数据源导出到excel;最终处理39万行输出到单独的excel文件时间2分钟。 一、EPPlus 基础介绍 ​EPPlus​ 是一个开源的 .NET 库(适用…...

【gpt生成-总览】怎样才算开发了一门编程语言,需要通过什么测试

开发一门真正的编程语言需要经历完整的设计、实现和验证过程&#xff0c;并通过系统的测试体系验证其完备性。以下是分阶段开发标准及测试方法&#xff1a; 一、语言开发核心阶段 1. 语言规范设计&#xff08;ISO/IEC 标准级别&#xff09; ​​语法规范​​&#xff1a;BNF/…...

网络417 路由转发2 防火墙

路由器临时开启路由转发功能 查看节点a网关ip 节点b网关 1.开启路由器路由转发功能。 2.配置到节点a 节点b的网络。 节点a因为和节点b不在同一网段&#xff0c;计划通过网关直达 网关就是中间节点路由器的ip地址 再Ping另一个 计划节点bping节点c ping不通 是因为 修改了…...

HttpSessionAttributeListener 的用法笔记250417

HttpSessionAttributeListener 的用法笔记250417 以下是关于 HttpSessionAttributeListener 的用法详解&#xff0c;涵盖核心方法、应用场景、实现步骤及关键注意事项&#xff0c;帮助您有效监听会话&#xff08;HttpSession&#xff09;中属性的动态变化&#xff1a; 1. 核心功…...

Spring Boot 实现 Excel 导出功能(支持前端下载 + 文件流)

&#x1f9e0; 一、为什么用 EasyExcel&#xff1f; 在 Java 开发中&#xff0c;操作 Excel 的框架主要有&#xff1a; Apache POI&#xff08;经典但慢、内存占用大&#xff09; JXL&#xff08;老旧不维护&#xff09; Alibaba EasyExcel&#xff08;阿里出品&#xff0c;…...

Java动态批量生成logback日志文件

应用场景举个例子&#xff1a; 当我一个服务需要启动n个端口&#xff0c;来监听n个来源的数据&#xff0c;并且处理数据逻辑一致&#xff1b;但是我想要它们的日志分开文件夹来打印&#xff0c;从而更好的分析问题&#xff0c;那么就可以用我下面提供的模版了&#xff1b; 动态…...

从原理到实践:NFS复杂故障处理方法论

#作者&#xff1a;孙德新 文章目录 一、nfs使用概述二、疑难故障现象描述三、原理分析四、解决方案五、优化服务器资源配置&#xff1a;六、故障案例总结七、故障预防建议八、nfs优化方法 一、nfs使用概述 NFS&#xff08;Network File System&#xff09;是一种分布式文件系…...

SAP FI固定资产报错:在折旧范围 30 中的业务与帐面净值规则冲突 - 解决方法

一、问题描述 消息号 AA660 诊断 由于和在区域30中检查的净帐面价值规则相反&#xff0c;不能过帐该凭证。 过程 当输入比例值时会出现此错误。比例值超过过帐金额&#xff0c;如 100 的后续资本化&#xff0c;但该金额的比例折旧为 110。请检查输入项并做需要的更正。 二、…...

Go语言从零构建SQL数据库(8):执行计划的奥秘

从SQL语句到高效查询&#xff1a;执行计划的奥秘 想象你是一位旅行者&#xff0c;想从北京到上海。你告诉导航软件你的目的地&#xff08;类似SQL查询&#xff09;&#xff0c;但导航软件需要为你规划具体路线——是走高速公路还是国道&#xff1f;是选择最短距离还是最省时间…...

UNet 改进(12):UNet with ECA (Efficient Channel Attention) 网络

详解 下面将详细解析这个实现了ECA注意力机制的UNet网络代码。 1. 代码概述 代码实现了一个带有Efficient Channel Attention (ECA)模块的UNet网络架构。 UNet是一种常用于图像分割任务的编码器-解码器结构网络,而ECA模块则是一种轻量级的通道注意力机制,可以增强网络对重…...

关于 AI驱动的智慧家居、智慧城市、智慧交通、智慧医疗和智慧生活 的详细解析,涵盖其定义、核心技术、应用场景、典型案例及未来趋势

以下是关于 AI驱动的智慧家居、智慧城市、智慧交通、智慧医疗和智慧生活 的详细解析&#xff0c;涵盖其定义、核心技术、应用场景、典型案例及未来趋势&#xff1a; 一、AI智慧家居 1. 定义与核心功能 定义&#xff1a;通过AI与物联网&#xff08;IoT&#xff09;技术&#…...

Windows11-24h2的任务栏时间显示秒 笔记250417

Windows11-24h2的任务栏时间显示秒 笔记250417 打开注册表编辑器 WinR输入 regedit 回车。 修改注册表项 定位到路径&#xff1a; HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced右键右侧空白处 → 新建【DWORD (32位)值】→ 命名为 ShowSec…...

机器学习的简单应用

什么是机器学习&#xff1f; 定义&#xff1a; ‌机器学习&#xff08;Machine Learning, ML&#xff09;‌ 是人工智能&#xff08;AI&#xff09;的一个子领域&#xff0c;其核心是 ‌通过算法让计算机从数据中自动学习规律&#xff0c;并基于这些规律对新数据做出预测或决策…...

双 Token 与 单 Token 优缺点

双Token与单Token认证机制对比 在Web应用开发中&#xff0c;身份认证和授权是保障系统安全的核心环节。随着技术演进&#xff0c;基于Token的认证机制逐渐取代传统Session方案&#xff0c;而双Token与单Token架构的选型争议也日益成为开发者关注的焦点。本文将从技术原理、优缺…...

第五章 SQLite数据库:6、SQLite 常用语法1

SQLite Insert 语句 SQLite 的 INSERT INTO 语句用于向数据库的某个表中添加新的数据行。 语法 INSERT INTO 语句有两种基本语法&#xff0c;如下所示&#xff1a; INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)] VALUES (value1, value2, value3,...…...