Ch9 形态学图像处理
Ch9 形态学图像处理
blog点此处!<---------
四大算子相应性质。
腐蚀、膨胀、开闭之间的含义、关系
文章目录
- Ch9 形态学图像处理
- 预备知识(Preliminaries)
- 膨胀和腐蚀(Dilation and Erosion)
- 腐蚀
- 膨胀
- 膨胀与腐蚀的对偶关系
- 开闭操作(Opening and Closing)
- 开运算
- 闭运算
- 性质
在二值图像中,所讨论的集合是二维整数空间 Z 2 \mathbb{Z}^{2} Z2中的成员。 Z 2 \mathbb{Z}^{2} Z2空间中,集合的每个元素都是一个二维向量(元组),元组的坐标是图像中目标(前景)像素的坐标。
灰度数字图像可以表示为各个集合,这些集合的分量位于 Z 3 \mathbb{Z}^{3} Z3空间中:前两个值是坐标,第三个值对应离散灰度值。
在图像处理中,我们使用两类像素集合的形态学:目标元素和结构元(SE)。目标定义为前景像素集合,结构元按照前景像素和背景像素确定。
预备知识(Preliminaries)
集合的元素关系
设 A A A是 Z 2 \mathbb{Z}^{2} Z2中的一个集合。如果 a = ( a 1 , a 2 ) a=(a_{1},a_{2}) a=(a1,a2)是 A A A的一个元素,那么我们写作 a ∈ A a\in A a∈A。
类似地,如果 a a a不是 A A A的元素,我们写作 a ∉ A a\notin A a∈/A。
没有元素的集合称为空集,用符号 ∅ \varnothing ∅表示。
集合间的关系
如果集合 A A A的每个元素也是集合 B B B的元素,那么 A A A被称为 B B B的子集,记为 A ⊆ B A\subseteq B A⊆B。
两个集合 A A A和 B B B的并集,记为 C = A ∪ B C = A\cup B C=A∪B,是属于 A A A、 B B B或两者的所有元素的集合。
两个集合 A A A和 B B B的交集,记为 D = A ∩ B D = A\cap B D=A∩B,是属于 A A A和 B B B两者的所有元素的集合。
两个集合 A A A和 B B B如果没有共同元素,则称它们是不相交或互斥的。在这种情况下, A ∩ B = ∅ A\cap B=\varnothing A∩B=∅。
集合的运算
集合 A A A的补集是不包含在 A A A中的元素的集合, A c = { ω ∣ ω ∉ A } A^{c}=\{\omega|\omega\notin A\} Ac={ω∣ω∈/A}。
两个集合 A A A和 B B B的差,记为 A − B A - B A−B,定义为 A − B = { ω ∣ ω ∈ A , ω ∉ B } = A ∩ B c A - B=\{\omega|\omega\in A,\omega\notin B\}=A\cap B^{c} A−B={ω∣ω∈A,ω∈/B}=A∩Bc。
集合的变换:反射和变换都是相对于集合的原点定义的。
集合 B B B的反射,记为 B ^ \hat{B} B^,定义为 B ^ = { ω ∣ ω = − b , b ∈ B } \hat{B}=\{\omega|\omega = -b,b\in B\} B^={ω∣ω=−b,b∈B}。
集合 A A A通过点 z = ( z 1 , z 2 ) z=(z_{1},z_{2}) z=(z1,z2)的平移,记为 ( A ) z (A)_{z} (A)z,定义为 ( A ) z = { c ∣ c = a + z , a ∈ A } (A)_{z}=\{c|c = a + z,a\in A\} (A)z={c∣c=a+z,a∈A}。
膨胀和腐蚀(Dilation and Erosion)
膨胀扩展集合的组成部分、腐蚀缩小集合的组成部分。
腐蚀
一些通俗的解释:腐蚀的过程可以想象成图像中的目标“收缩”或“缩小”。具体来说,只有当结构元 B 完全覆盖在 A 的某个部分时,位置 z 才会被保留在腐蚀后的集合 A ⊖ B A \ominus B A⊖B 中。
对于 Z 2 \mathbb{Z}^{2} Z2中的集合 A A A和 B B B, A A A被 B B B腐蚀(erosion),记为 A ⊖ B A\ominus B A⊖B,定义为:
A ⊖ B = { z ∣ ( B ) z ⊆ A } A\ominus B=\{z|(B)_{z}\subseteq A\} A⊖B={z∣(B)z⊆A}
B是结构元。即 A A A被 B B B腐蚀是所有点 z z z的集合,使得 B B B平移 z z z后包含于 A A A。
集合A元素是图像I的前景像素,背景显示白色。©中的虚线边界内的实线边界是B的原点的位移界限。在这个界限内, ( B ) z ⊆ A (B)_z\subseteq A (B)z⊆A.
(d)是一个加长的结构元,它腐蚀的结果如(e)所示,是一条线。
膨胀
膨胀的过程可以想象成图像中的目标“扩展”或“增长”。具体来说,结构元 B 在图像 A 上滑动,当结构元的某部分与 A 重叠时,将该位置 z 添加到膨胀后的集合 A ⊕ B A \oplus B A⊕B 中。
当 A A A和 B B B是 Z 2 \mathbb{Z}^{2} Z2中的集合时, A A A被 B B B膨胀(dilation),记为 A ⊕ B A\oplus B A⊕B,定义为:
A ⊕ B = { z ∣ ( B ^ ) z ∩ A ≠ ∅ } A\oplus B=\{z|(\hat{B})_{z}\cap A\neq\varnothing\} A⊕B={z∣(B^)z∩A=∅}
这个等式基于获取 B B B关于原点的反射并将这个反射平移 z z z。 A A A被 B B B膨胀就是所有位移 z z z的集合,使得 B ^ \hat{B} B^和 A A A至少有一个元素重叠,即:
A ⊕ B = { z ∣ [ ( B ^ ) z ∩ A ] ⊆ A } A\oplus B = \{z|[( \hat{B})_{z}\cap A]\subseteq A\} A⊕B={z∣[(B^)z∩A]⊆A}
膨胀与腐蚀的对偶关系
膨胀和腐蚀在集合补集和反射方面是相互对偶的,即:
( A ⊖ B ) c = A c ⊕ B ^ ( A ⊕ B ) c = A c ⊖ B ^ (A\ominus B)^{c}=A^{c}\oplus\hat{B}\\ (A\oplus B)^c=A^c\ominus \hat B (A⊖B)c=Ac⊕B^(A⊕B)c=Ac⊖B^
上式表明:B对A的腐蚀是 B ^ \hat B B^对 A c A^c Ac的膨胀的补集,vice versa。当结构元相对于其原点对称的时候,有 B ^ = B \hat B=B B^=B, 因此对偶性特别有用。
证明如下:
( A ⊖ B ) c = { z ∣ ( B ) z ⊆ A } c = { z ∣ ( B ) z ∩ A c = ∅ } c = { z ∣ ( B ) z ∩ A c ≠ ∅ } = A c ⊕ B ^ ( A ⊕ B ) c = { z ∣ ( B ^ ) z ∩ A ≠ ∅ } c = { z ∣ ( B ^ ) z ∩ A = ∅ } = { z ∣ ( B ^ ) z ⊆ A c } = A c ⊖ B ^ \begin{align} (A\ominus B)^{c}&=\{z|(B)_{z}\subseteq A\}^{c}\\ &=\{z|(B)_{z}\cap A^{c}=\varnothing\}^{c}\\ &=\{z|(B)_{z}\cap A^{c}\neq\varnothing\}\\ &=A^{c}\oplus\hat{B}\\\\ (A\oplus B)^c&=\{z|(\hat{B})_{z}\cap A\neq\varnothing\}^c\\ &=\{z|(\hat{B})_{z}\cap A=\varnothing\}\\ &=\{z|(\hat{B})_{z}\subseteq A^c\}\\ &=A^c\ominus \hat B \end{align} (A⊖B)c(A⊕B)c={z∣(B)z⊆A}c={z∣(B)z∩Ac=∅}c={z∣(B)z∩Ac=∅}=Ac⊕B^={z∣(B^)z∩A=∅}c={z∣(B^)z∩A=∅}={z∣(B^)z⊆Ac}=Ac⊖B^
开闭操作(Opening and Closing)
- 开运算常用于平滑物体的轮廓、断开狭窄的狭颈、消除细长的突出物;
- 闭运算同样平滑轮廓,但会弥合狭窄的断裂和细长的沟壑、消除小孔、填补轮廓中的缝隙。
开运算
集合 A A A被结构元素 B B B的开运算(opening),记为 A ∘ B A\circ B A∘B,定义为:
A ∘ B = ( A ⊖ B ) ⊕ B A\circ B=(A\ominus B)\oplus B A∘B=(A⊖B)⊕B
即 A A A被 B B B的开运算就是 A A A被 B B B腐蚀后再被 B B B膨胀的结果。
闭运算
集合 A A A被结构元素 B B B的闭运算(closing),记为 A ⋅ B A\cdot B A⋅B,定义为:
A ⋅ B = ( A ⊕ B ) ⊖ B A\cdot B=(A\oplus B)\ominus B A⋅B=(A⊕B)⊖B
即 A A A被 B B B的闭运算就是 A A A被 B B B膨胀后再被 B B B腐蚀的结果。
开运算的另一种定义:
A ∘ B = ⋃ { ( B ) z ∣ ( B ) z ⊆ A } A\circ B=\bigcup\{(B)_z|(B)_z\subseteq A\} A∘B=⋃{(B)z∣(B)z⊆A}
开运算和闭运算在集合补集和反射方面是相互对偶的,即:
( A ⋅ B ) c = ( A c ∘ B ^ ) ( A ∘ B ) c = ( A c ⋅ B ^ ) (A\cdot B)^c=(A^c\circ\hat{B})\\ (A\circ B)^c=(A^c\cdot\hat{B}) (A⋅B)c=(Ac∘B^)(A∘B)c=(Ac⋅B^)
证明:
$$
\begin{align}(A\circ B)^c&=\left[(A\ominus B)\oplus B\right]^c\
&=(A\ominus B)^c\ominus \hat B\
&=A^c\oplus \hat B\ominus \hat B\
&=(A^c\cdot \hat B)\\
(A\cdot B)^c&=\left[(A\oplus B)\ominus B\right]^c\
&=(A\oplus B)^c\oplus \hat B\
&=A^c\ominus \hat B\oplus \hat B\
&=(A^c\circ\hat{B})
\end{align}
$$
性质
开运算的性质:
- A ∘ B A\circ B A∘B是 A A A的子集(子图像)。
- 如果 C C C是 D D D的子集,那么 C ∘ B C\circ B C∘B是 D ∘ B D\circ B D∘B的子集。
- ( A ∘ B ) ∘ B = A ∘ B (A\circ B)\circ B = A\circ B (A∘B)∘B=A∘B
闭运算的性质:
- A A A是 A ⋅ B A\cdot B A⋅B的子集(子图像)。
- 如果 C C C是 D D D的子集,那么 C ⋅ B C\cdot B C⋅B是 D ⋅ B D\cdot B D⋅B的子集。
- ( A ⋅ B ) ⋅ B = A ⋅ B (A\cdot B)\cdot B = A\cdot B (A⋅B)⋅B=A⋅B
由开闭运算的第三个性质可知,对一个集合多次进行开运算或闭运算,在操作一次后就不再有效果。
此图展示了用于得到开运算和闭运算结果的形态学运算。
D D D的子集,那么 C ⋅ B C\cdot B C⋅B是 D ⋅ B D\cdot B D⋅B的子集。
- ( A ⋅ B ) ⋅ B = A ⋅ B (A\cdot B)\cdot B = A\cdot B (A⋅B)⋅B=A⋅B
由开闭运算的第三个性质可知,对一个集合多次进行开运算或闭运算,在操作一次后就不再有效果。
[外链图片转存中…(img-5c57BwfX-1735225214230)]
此图展示了用于得到开运算和闭运算结果的形态学运算。
相关文章:
Ch9 形态学图像处理
Ch9 形态学图像处理 blog点此处!<--------- 四大算子相应性质。 腐蚀、膨胀、开闭之间的含义、关系 文章目录 Ch9 形态学图像处理预备知识(Preliminaries)膨胀和腐蚀(Dilation and Erosion)腐蚀膨胀膨胀与腐蚀的对偶关系 开闭操作(Opening and Closing)开运算闭…...
epoll学习
epoll是1个服务端监听n个客户端的多路复用技术(通讯方式socket) epoll:(事件驱动)服务端通过管道通讯方式将有变化事件的客户端保存到1个队列 select/poll:(轮询驱动)服务端主动遍…...
《CS2》报错dxgi.dll缺失怎么办?《CS2》游戏提示dxgi.dll缺失要怎么解决?
一、dxgi.dll缺失的根源 游戏安装问题:dxgi.dll文件是DirectX图形接口的一部分,如果游戏安装不完整或安装过程中出现问题,可能会导致该文件缺失。 系统更新或配置变动:Windows操作系统的更新或某些系统配置的变动,有时…...
Python基础语法之元组
主页有列表,集合和字典的知识点(包含对应练习^V^) 关注我更新更多初学实例(下一个更新元组基础练习,然后集中更新一下C语言) 欢迎纠错 元组 一.元组的应用场景 思考:如果想要存储多个数据&am…...
如何实现 MySQL 的读写分离?
面试题 你们有没有做 MySQL 读写分离?如何实现 MySQL 的读写分离?MySQL 主从复制原理的是啥?如何解决 MySQL 主从同步的延时问题? 面试官心理分析 高并发这个阶段,肯定是需要做读写分离的,啥意思&#x…...
Vue.js框架:在线教育系统的安全性与稳定性
2.1系统开发使用的关键技术 本系统在开发中选择B/S框架进行设计,语言采用Java,数据库采用Mysql,并在设计中加入VUE.js技术,本系统的运行环境为Idea。 2.2 VUE.js技术介绍 VUE.js是一个用来开发前台界面的JavaScript框架࿰…...
[python SQLAlchemy数据库操作入门]-11.面向对象方式操作股票数据
哈喽,大家好,我是木头左! 通过ORM,开发者可以使用Python类来表示数据库表,从而使得数据库操作更加直观和易于维护。本文将介绍如何使用SQLAlchemy ORM来操作股票数据。 安装 SQLAlchemy 需要安装SQLAlchemy库。可以使用pip命令进行安装: pip install sqlalchemy定义股票…...
Windows 11 中利用 WSL - Linux 虚拟环境部署 ChatTTS-Enhanced 项目教程
#工作记录 在使用 Windows 系统尝试部署一些特定项目时,我们可能会遇到各种各样依赖包安装的问题。比如在 Windows 系统下,当我们想要在 Python 3.10 虚拟环境中,使用命令 “pip install resemble-enhance” 以及 “pip install WeTextProces…...
NPM老是无法install,timeout?npm install失败
NPM老是无法install,timeout? 尝试一下如下操作 一、 更换国内源 npm config set registry https://registry.npmmirror.com npm install或指定源install npm install pkg --registry https://registry.npmmirror.com --legacy-peer-deps如下图 二…...
音乐极客的新玩具:香橙派Zero3快速搭建Melody个人音乐平台
文章目录 前言1. 添加镜像源2. 本地部署Melody3. 本地访问与使用演示4. 安装内网穿透5. 配置Melody公网地址6. 配置固定公网地址 前言 今天要给喜欢听音乐的朋友们介绍一个超酷的DIY项目,在香橙派Zero3上使用Melody搭建自己的个人在线音乐平台,并且借助…...
springboot3版本结合knife4j生成接口文档
1.概述 knife4j官网为:介绍 | Knife4j (xiaominfo.com)https://doc.xiaominfo.com/docs/introduction 初步了解的码友可以初步了解一下官网的如下几个模块: 其中在快速开始模块中,不同的springboot版本都有一个使用的案例demo如下图位置&am…...
广州大彩串口屏安卓/linux触摸屏四路CVBS输入实现同时显示!
一、适用范围 适合广州大彩A40系列产品 产品型号: 二、概述 CVBS只需要一条线缆即可完成视频信号的传输,具有兼容性强、使用简单、成本低廉等优点。典型分辨率为720x480(NTSC制)或720x576(PAL制)。 三、…...
pikachu靶场搭建详细步骤
一、靶场下载 点我去下载 二、靶场安装 需要的环境: mysqlApaches(直接使用小皮面板Phpstudy:https://www.xp.cn/),启动他们 设置网站,把靶场的路径对应过来 对应数据库的信息 由于没有核对数据库的信…...
Astherus 联手 PancakeSwap 推出 asCAKE,CAKE 最大化收益的最优解?
Astherus 是本轮市场周期中最具创新性的 DeFi 协议之一,其通过推出 AstherusEx 以及 AstherusEarn 两个产品,正在基于真实收益启动 DeFi 市场的增长,并成为加密投资者捕获收益的最佳协议。PancakeSwap 是 BNB Chain 上最大的 DEX,…...
JVM实战—2.JVM内存设置与对象分配流转
大纲 1.JVM内存划分的原理细节 2.对象在JVM内存中如何分配如何流转 3.部署线上系统时如何设置JVM内存大小 4.如何设置JVM堆内存大小 5.如何设置JVM栈内存与永久代大小 6.问题汇总 1.JVM内存划分的原理细节 (1)背景引入 (2)大部分对象的存活周期都是极短的 (3)少数对象…...
无问社区-无问AI模型
无问AI模型是无问社区新上线的一款AI功能,支持文本图像的输入,在文本理解能力、推理能力、视觉能力上相较于“社区助手”有了很大的提升。 我们在预训练模型的技术上增加1.7亿token的训练数据进行强化训练使其具备更好的效果。 更好的消息是我们准备了…...
【记录】列表自动滚动轮播功能实现
目录 效果展示代码 效果展示 代码 <!-- 首页 --> <template><div class"page_body_item_body" mouseenter"stopScroll" mouseleave"scroll(false)"><ele-tableclass"eleTable":table-options"options"…...
前缀树介绍
数风流人物,还看今朝! 前缀树 Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。 前…...
Solon v3.0.5 发布!(Spring 可以退休了吗?)
Solon 框架! 新一代,面向全场景的 Java 应用开发框架。从零开始构建(非 java-ee 架构),有灵活的接口规范与开放生态。 追求: 更快、更小、更简单提倡: 克制、高效、开放、生态 有什么特点&am…...
基础组件:
基础组件: RichText 富文本组件,解析并显示HTML格式文本。 适用场景: RichText组件适用于加载与显示一段HTML字符串,且不需要对显示效果进行较多自定义的应用场景。RichText组件仅支持有限的通用属性和事件。具体见属性与事件…...
【LeetCode 面试经典150题】详细题解之滑动窗口篇
【LeetCode 面试经典150题】详细题解之滑动窗口篇 1 滑动窗口理论基础1.1 算法思想1.2 使用场景1.3 使用思路 2 209.长度最小的子数组2.1 题目分析2.2 算法步骤2.3 代码实现2.4 时间复杂度 3 3.无重复字符的最长字串3.1 题目分析3.2 算法步骤3.3 代码实现3.4 复杂度分析 4 30.串…...
【 CSS 】sass 扩展语言的安装
一、全局安装node-sass Sass世界上最成熟、稳定和强大的CSS扩展语言 | Sass中文网 https://www.npmjs.com/package/node-sass NPM镜像_NPM下载地址_NPM安装教程-阿里巴巴开源镜像站 注意:nodejs版本14以上,否则node-sass安装不成功 npm install -g mi…...
【Linux】Linux中用户信息相关的配置文件:/etc/passwd、/etc/group、/etc/shadow、/etc/sudoers
1 用户信息 1.1 /etc/passwd linux上用户的信息保存在/etc/passwd中,看文件名会以为这里保存的是用户密码,但实际上用户密码保存在另一个文件中。 /etc/passwd文件中每行保存一个用户的信息,例如: root:x:0:0:root:/root:/bin…...
electron-vite_18 设置系统音量loudness报错
loudness是一款控制系统音量输出的一款 Node.js 库;但是在electron-vite中直接使用编译的时候会报错;这个时候需要单独处理; 错误分析 error Error: spawn E:\xxx\out\main\adjust_get_current_system_volume_vista_plus.exe 查看编译后项目…...
springboot测试类里注入不成功且运行报错
目录 出错信息 原因 出错信息 写测试类的时候,一直说我注入不成功 而且我运行的时候报错了 java.lang.IllegalStateException: Unable to find a SpringBootConfiguration, you need to use ContextConfiguration or SpringBootTest(classes...) with your te…...
Harmony 网络请求
Http数据请求 axios第三方网络请求工具 1.下载ohpm 2.安装axios 3.使用axios...
Webpack在Vue CLI中的应用
webpack 作为目前最流行的项目打包工具,被广泛使用于项目的构建和开发过程中,其实说它是打包工具有点大材小用了,我个人认为它是一个集前端自动化、模块化、组件化于一体的可拓展系统,你可以根据自己的需要来进行一系列的配置和安…...
docker-componse集群部署Tdengine3.3.2.0
一、centos7.5集群部署三台机器使用docker-componse进行部署 1、三台服务器分别配置host vim /etc/hosts 192.168.13.244 td.master 192.168.13.245 td.slave1 192.168.12.70 td.slave2 2、...
4.3 数据库HAVING语句
having子句要和group by子句联合起来才能使用,不能单独去使用,接下来咱们看一下为什么要引入having子句语法呢?引入having子句也是出于无奈,因为有些条件查询,用group by子句并不能满足要求,比如说查询部门…...
如何使用React,透传各类组件能力/属性?
在23年的时候,我主要使用的框架还是Vue,当时写了一篇“如何二次封装一个Vue3组件库?”的文章,里面涉及了一些如何使用Vue透传组件能力的方法。在我24年接触React之后,我发现这种扩展组件能力的方式有一个专门的术语&am…...
C# 6.0版本的WebAPI接口部署到Linux服务器
将 C# 6.0 的 Web API 部署到 Linux 服务器涉及多个步骤,包括准备环境、构建和发布应用程序、配置 Web 服务器以及确保应用程序正常运行。以下是详细的部署指南: 1. 准备开发环境 安装 .NET SDK 确保你已经在本地开发环境中安装了 .NET SDK(…...
ArkTs组件(2)
一.下拉列表组件:Select 1.接口 Select(options: Array<SelectOption>) 参数名类型必填说明optionsArray<SelectOption>是设置下拉选项。 SelectOption对象说明 名称类型必填说明valueResourceStr是 下拉选项内容。 iconResourceStr否 下拉选项图片…...
Bash 脚本教程
注:本文为 “Bash 脚本编写” 相关文章合辑。 BASH 脚本编写教程 as good as well于 2017-08-04 22:04:28 发布 这里有个老 American 写的 BASH 脚本编写教程,非常不错,至少没接触过 BASH 的也能看懂! 建立一个脚本 Linux 中有…...
SQL创建和操纵表
本文介绍创建、更改和删除表的基本知识。 1. 创建表 SQL 不仅用于表数据操纵,而且还用来执行数据库和表的所有操作,包括表本身的创建和处理。一般有两种创建表的方法: 多数DBMS 都具有交互式创建和管理数据库表的工具;表也可以…...
1.微服务灰度发布(方案设计)
前言 微服务架构中的灰度发布(也称为金丝雀发布或渐进式发布)是一种在不影响现有用户的情况下,逐步将新版本的服务部署到生产环境的策略。通过灰度发布,你可以先将新版本的服务暴露给一小部分用户或特定的流量,观察其…...
QT笔记- QTreeView + QFileSystemModel 当前位置的保存与恢复 #选中 #保存当前索引
保存当前位置 QString currentPath model->filePath(view->currentIndex()); // 获得当前位置路径 恢复位置 view->setCurrentIndex(model->index(currentPath)); // 设置此路径所在位置为当前位置...
LeetCode - Google 校招100题 第6天 回溯法(Backtracking) (8题)
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/144743505 LeetCode 合计最常见的 112 题: 校招100题 第1天 链表(List) (19题)校招100题 第2天 树(Tree) (21题)校招100题 第3天 动态规划(DP) (20题)...
k8s,service如何找到容器
Kubernetes之所以需要Service,一方面是因为Pod的IP不是固定的,另一方面则是因为一组Pod实例之间总会有负载均衡的需求 被selector选中的Pod,就称为Service的Endpoints,查看方式: kubectl get endpoints hostnames需要…...
计算机的错误计算(一百九十二)
摘要 用两个大模型计算 csc(0.999), 其中,0.999是以弧度为单位的角度,结果保留5位有效数字。两个大模型均给出了 Python代码与答案。但是,答案是错误的。 例1. 计算 csc(0.999), 其中,0.999是以弧度为单位的角度,结…...
金仓数据库安装-Kingbase v9-centos
在很多年前有个项目用的金仓数据库,上线稳定后就没在这个项目了,只有公司的开发环境还在维护,已经好多年没有安装过了,重温一下金仓数据库安装,体验一下最新版本,也做一个新版本的试验环境; 一、…...
深入解析 Java 中的 getDeclaredMethods() 方法:使用与原理全攻略
在 Java 的反射机制中,getDeclaredMethods() 是一个非常重要的方法,它允许我们获取类中声明的所有方法(包括公共、私有、保护以及默认访问权限的方法)。通过这个方法,我们可以动态地分析和操作类的行为,这在…...
Dockerfile的用法
Dockerfile的用法 示例 `Dockerfile`使用 `Dockerfile` 创建 Docker 镜像`Dockerfile` 指令详解其他常用指令总结Dockerfile 是一个文本文件,包含了用于创建 Docker 镜像的一系列指令。这些指令描述了镜像的基础、所安装的软件、文件的复制、环境变量的设置以及其他配置。下面…...
Gmsh有限元网格剖分(Python)---点、直线、平面的移动
Gmsh有限元网格剖分(Python)—点、直线、平面的移动和旋转 最近在学习有限元的网格剖分算法,主要还是要参考老外的开源Gmsh库进行,写一些博客记录下学习过程,方便以后回忆嘞。 Gmsh的官方英文文档可以参考:gmsh.pdf 但咋就说&a…...
AI的进阶之路:从机器学习到深度学习的演变(三)
(承接上集:AI的进阶之路:从机器学习到深度学习的演变(二)) 四、深度学习(DL):机器学习的革命性突破 深度学习(DL)作为机器学习的一个重要分支&am…...
如何通过 360 驱动大师检查自己电脑上的显卡信息
在深入探讨如何查看显卡信息之前,首先需要了解显卡的基本概念。显卡(Graphics Processing Unit, GPU),是计算机中负责处理图形输出到显示器的重要硬件。根据其集成度和性能,显卡通常被分为两类: 集成显卡&…...
数据仓库工具箱—读书笔记02(Kimball维度建模技术概述04、使用一致性维度集成)
Kimball维度建模技术概述 记录一下读《数据仓库工具箱》时的思考,摘录一些书中关于维度建模比较重要的思想与大家分享🤣🤣🤣 第二章前言部分作者提到:技术的介绍应该通过涵盖各种行业的熟悉的用例展开(赞同…...
.net framework wpf 打包免安装exe文件
1、打开所在项目csproj文件添加以下内容: <Target Name"AfterResolveReferences"><ItemGroup><EmbeddedResource Include"(ReferenceCopyLocalPaths)" Condition"%(ReferenceCopyLocalPaths.Extension) .dll"><…...
瑞吉外卖项目学习笔记(八)修改菜品信息、批量启售/停售菜品
瑞吉外卖项目学习笔记(一)准备工作、员工登录功能实现 瑞吉外卖项目学习笔记(二)Swagger、logback、表单校验和参数打印功能的实现 瑞吉外卖项目学习笔记(三)过滤器实现登录校验、添加员工、分页查询员工信息 瑞吉外卖项目学习笔记(四)TableField(fill FieldFill.INSERT)公共字…...
Oracle 日常巡检
1. 检查服务器状态 1.1. CPU使用情况 1.1.1. top top 命令是 Linux 和 Unix 系统中用于显示实时系统状态的工具,特别是对于监控 CPU 和内存的使用非常有用。 在命令行中输入 top,top 会显示一个实时更新的界面,其中包含系统的关键指标&am…...
CS 144 check7: putting it all together
Exercises 经验:两边的TCP连接建立得尽快,如果服务器端启动了,客户端没有启动就连不上。。 服务器端: 客户端: 文件收发测试: 参考: CS 144CS144 | Winter 2024, Lab 0~7 记录࿰…...