图像处理-Ch6-彩色图像处理
Ch6 彩色图像处理
无广告更易阅读,个人博客点此进入<–
文章目录
- Ch6 彩色图像处理
- 彩色基础
- 彩色模型(Color models)
- RGB(red, green, blue)
- CMY & CMYK(cyan, magenta, yellow/and black)
- HSI(hue, saturation, intensity)
- HSV(hue, saturation, value)
- 颜色空间及其转换(Converting to Other Color Spaces)
- The Basics of Color Image Processing
- Working Directly in RGB Vector Space
Q: 颜色(Color)是什么?
A: 人眼能够感知的部分电磁波信号。
本章需要了解:了解所有颜色空间、字母代表意思、均匀性颜色空间(L, V, B型)
彩色基础
区分不同颜色的特性通常是亮度、色调、饱和度。
- 亮度:发光强度的消色概念。
- 色调:混合光波中与主波长相关的属性、表示被观察者感知的主导色。(红色、橙色、黄色)
- 饱和度:相对的纯度,or 与一种色调混合的白光量。饱和度与所加的白光量成反比。
- 色度:色调+饱和度。
三色值: X , Y , Z X,Y,Z X,Y,Z
CIE色度图: x , y , z = 1 − ( x + y ) x,y,z=1-(x+y) x,y,z=1−(x+y), x(红)、y(绿)、z(蓝)

CIELAB(CIE L*a*b*模型):保持色彩一致、独立于设备的色彩模型。
- CIE L*a*b*色彩空间是一种与设备无关的色彩空间,能够准确地描述人眼可见的所有颜色。
- 它在色彩匹配、色彩差异评估以及色彩管理系统中非常有用。
- 它能够在不同的设备(如监视器、打印机等)之间保持一致的色彩表现。
L ∗ = 116 ⋅ ( Y Y n ) 1 3 − 16 a ∗ = 500 ⋅ ( ( X X n ) 1 3 − ( Y Y n ) 1 3 ) b ∗ = 200 ⋅ ( ( Y Y n ) 1 3 − ( Z Z n ) 1 3 ) L^\ast = 116 \cdot \left( \frac{Y}{Y_n} \right)^\frac{1}{3} - 16\\ a^\ast = 500 \cdot \left( \left( \frac{X}{X_n} \right)^\frac{1}{3} - \left( \frac{Y}{Y_n} \right)^\frac{1}{3} \right)\\ b^\ast = 200 \cdot \left( \left( \frac{Y}{Y_n} \right)^\frac{1}{3} - \left( \frac{Z}{Z_n} \right)^\frac{1}{3} \right) L∗=116⋅(YnY)31−16a∗=500⋅((XnX)31−(YnY)31)b∗=200⋅((YnY)31−(ZnZ)31)
彩色模型(Color models)
- 面向硬件:RGB(red, green, blue)
- 面向彩色打印开发:CMY,CMYK(cyan, magenta, yellow, black)
- 面向人类描述和解释颜色的方式:HSI(hue, saturation, intensity)
RGB(red, green, blue)
在RGB颜色空间中,表示每个pixel所用的bit数称为像素深度。

CMY & CMYK(cyan, magenta, yellow/and black)
颜料的原色:青色、深红色、黄色(用于彩色打印机),有时多加黑色。
- 白光照射涂有青色颜料的表面时,表面不会反射红光。
- 青色从反射的白光中减去红光、白光又等量的红绿蓝光组成。
HSI(hue, saturation, intensity)
观察彩色物体时,我们会用色调(hue)、饱和度(saturation)、亮度(intensity)来描述物体。

HSV(hue, saturation, value)
HSV代表色调(Hue)、饱和度(Saturation)和明度(Value)。
- 色调(H):它是色彩的基本属性,用于区分不同的颜色种类,用角度来度量,取值范围通常是0° - 360°。例如,0°或360°代表红色,120°代表绿色,240°代表蓝色。
- 饱和度(S):表示颜色的纯度,取值范围是0 - 1。饱和度越高,颜色越鲜艳纯粹;饱和度为0时,颜色变为灰色(只有明度信息)。
- 明度(V):也称为亮度,代表颜色的明亮程度,取值范围是0 - 1。
颜色空间及其转换(Converting to Other Color Spaces)
自然界中存在一些颜色,无法使用RGB颜色空间定义。
XYZ颜色空间可以定义世界上一切颜色。
RGB → NTSC(YIQ):
NTSC(National Television Standards Committee,美国国家电视标准委员会)颜色空间是一种用于模拟电视广播的颜色编码系统。它将颜色信息分解为亮度(Y)和两个色度分量(I 和 Q)
与YUV空间相似:YUV 是一种颜色编码方法,主要用于视频系统。其中 “Y” 表示亮度(Luminance 或 Luma),也就是灰度值;而 “U” 和 “V” 表示色度(Chrominance 或 Chroma),用于描述颜色信息。
[ Y I Q ] = [ 0.299 0.587 0.114 0.596 − 0.274 − 0.322 0.211 − 0.523 0.312 ] [ R G B ] \begin{bmatrix} Y \\ I \\ Q \end{bmatrix} = \begin{bmatrix} 0.299 & 0.587 & 0.114 \\ 0.596 & -0.274 & -0.322 \\ 0.211 & -0.523 & 0.312 \end{bmatrix} \begin{bmatrix} R \\ G \\ B \end{bmatrix} YIQ = 0.2990.5960.2110.587−0.274−0.5230.114−0.3220.312 RGB
NTSC → RGB:
[ R G B ] = [ 1.000 0.956 0.621 1.000 − 0.272 − 0.647 1.000 − 1.106 1.703 ] [ Y I Q ] \begin{bmatrix} R \\ G \\ B \end{bmatrix} = \begin{bmatrix} 1.000 & 0.956 & 0.621 \\ 1.000 & -0.272 & -0.647 \\ 1.000 & -1.106 & 1.703 \end{bmatrix} \begin{bmatrix} Y \\ I \\ Q \end{bmatrix} RGB = 1.0001.0001.0000.956−0.272−1.1060.621−0.6471.703 YIQ
RGB → YCbCr(用于编码数字图像):
YCbCr 是一种颜色空间,其中 “Y” 代表亮度(Luminance),“Cb” 和 “Cr” 分别代表蓝色色度(Chrominance of Blue)和红色色度(Chrominance of Red)。
[ Y C b C r ] = [ 16 128 128 ] + [ 65.481 128.553 24.966 − 37.797 − 74.203 112.000 112.000 − 93.786 − 18.214 ] [ R G B ] / 256 \begin{bmatrix} Y \\ Cb \\ Cr \end{bmatrix} = \begin{bmatrix} 16 \\ 128 \\ 128 \end{bmatrix} + \begin{bmatrix} 65.481 & 128.553 & 24.966 \\ -37.797 & -74.203 & 112.000 \\ 112.000 & -93.786 & -18.214 \end{bmatrix} \begin{bmatrix} R \\ G \\ B \end{bmatrix} /256 YCbCr = 16128128 + 65.481−37.797112.000128.553−74.203−93.78624.966112.000−18.214 RGB /256
CMY & CMYK:
[ C M Y ] = [ 1 1 1 ] − [ R G B ] , [ R G B ] = [ 1 1 1 ] − [ C M Y ] \ \begin{bmatrix} C \\ M \\ Y \end{bmatrix} = \begin{bmatrix} 1 \\ 1 \\ 1 \end{bmatrix} - \begin{bmatrix} R \\ G \\ B \end{bmatrix} ,\quad \begin{bmatrix} R \\ G \\ B \end{bmatrix} = \begin{bmatrix} 1 \\ 1 \\ 1 \end{bmatrix} - \begin{bmatrix} C \\ M \\ Y \end{bmatrix} CMY = 111 − RGB , RGB = 111 − CMY
RGB → HSI:
H = { θ if B ≤ G 360 − θ if B > G θ = cos − 1 { 1 2 [ ( R − G ) + ( R − B ) ] [ ( R − G ) 2 + ( R − B ) ( G − B ) ] 1 2 } S = 1 − 3 R + G + B [ min ( R , G , B ) ] I = 1 3 ( R + G + B ) \begin{align}H &= \begin{cases} \theta & \text{if } B \leq G \\ 360 - \theta & \text{if } B > G \end{cases}\\ \theta &= \cos^{-1}\left\{\frac{\frac{1}{2}[(R - G)+(R - B)]}{\left[(R - G)^2+(R - B)(G - B)\right]^{\frac{1}{2}}}\right\}\\ S &= 1 - \frac{3}{R + G + B}[\min(R, G, B)]\\ I &= \frac{1}{3}(R + G + B) \end{align} HθSI={θ360−θif B≤Gif B>G=cos−1{[(R−G)2+(R−B)(G−B)]2121[(R−G)+(R−B)]}=1−R+G+B3[min(R,G,B)]=31(R+G+B)
HSI → RGB RG sector(0° ≤ H < 120°):
B = I ( 1 − S ) R = I [ 1 + S cos H cos ( 60 ° − H ) ] G = 3 I − ( R + B ) \begin{align} B &= I(1 - S)\\ R &= I\left[1+\frac{S\cos H}{\cos(60° - H)}\right]\\ G &= 3I-(R + B) \end{align} BRG=I(1−S)=I[1+cos(60°−H)ScosH]=3I−(R+B)
HSI → RGB GB sector(120° ≤ H < 240°):
H = H − 120 ° R = I ( 1 − S ) G = I [ 1 + S cos H cos ( 60 ° − H ) ] B = 3 I − ( R + G ) \begin{align} H&= H - 120°\\ R &= I(1 - S)\\ G &= I\left[1+\frac{S\cos H}{\cos(60° - H)}\right]\\ B &= 3I-(R + G) \end{align} HRGB=H−120°=I(1−S)=I[1+cos(60°−H)ScosH]=3I−(R+G)
BR sector(240° ≤ H ≤ 360°):
H = H − 240 ° G = I ( 1 − S ) B = I [ 1 + S cos H cos ( 60 ° − H ) ] R = 3 I − ( G + B ) \begin{align} H &= H - 240°\\ G &= I(1 - S)\\ B &= I\left[1+\frac{S\cos H}{\cos(60° - H)}\right]\\ R &= 3I-(G + B) \end{align} HGBR=H−240°=I(1−S)=I[1+cos(60°−H)ScosH]=3I−(G+B)
The Basics of Color Image Processing
Q: 如何度量两个颜色之间的相似性?
RBG值是向量。

插值映射函数:

Working Directly in RGB Vector Space
使用梯度的颜色边缘检测
梯度(gradient):
∇ f = [ G x G y ] = [ ∂ f ∂ x ∂ f ∂ y ] \nabla f=\left[\begin{array}{l} G_{x} \\ G_{y} \end{array}\right]=\left[\begin{array}{l} \frac{\partial f}{\partial x} \\ \frac{\partial f}{\partial y} \end{array}\right] ∇f=[GxGy]=[∂x∂f∂y∂f]
幅度(magnitude):
∣ ∇ f ∣ = mag ( ∇ f ) = [ G x 2 + G y 2 ] 1 / 2 = [ ( ∂ f ∂ x ) 2 + ( ∂ f ∂ y ) 2 ] 1 / 2 |\nabla f|=\operatorname{mag}(\nabla f)=\left[G_{x}^{2}+G_{y}^{2}\right]^{1 / 2}=\left[\left(\frac{\partial f}{\partial x}\right)^{2}+\left(\frac{\partial f}{\partial y}\right)^{2}\right]^{1 / 2} ∣∇f∣=mag(∇f)=[Gx2+Gy2]1/2=[(∂x∂f)2+(∂y∂f)2]1/2
角度(angle):
α ( x , y ) = tan − 1 ( G y G x ) \alpha(x, y)=\tan ^{-1}\left(\frac{G_{y}}{G_{x}}\right) α(x,y)=tan−1(GxGy)
r、g和b是沿R、G和B轴的单位向量 :
u = ∂ R ∂ x r + ∂ G ∂ x g + ∂ B ∂ x b , v = ∂ R ∂ y r + ∂ G ∂ y g + ∂ B ∂ y b u=\frac{\partial R}{\partial x} r+\frac{\partial G}{\partial x} g+\frac{\partial B}{\partial x} b,\quad v=\frac{\partial R}{\partial y} r+\frac{\partial G}{\partial y} g+\frac{\partial B}{\partial y} b u=∂x∂Rr+∂x∂Gg+∂x∂Bb,v=∂y∂Rr+∂y∂Gg+∂y∂Bb
定义数量(Quantities):
g x x = u ⋅ u = u T u = ∣ ∂ R ∂ x ∣ 2 + ∣ ∂ G ∂ x ∣ 2 + ∣ ∂ B ∂ x ∣ 2 g y y = v ⋅ v = v T v = ∣ ∂ R ∂ y ∣ 2 + ∣ ∂ G ∂ y ∣ 2 + ∣ ∂ B ∂ y ∣ 2 g x y = u ⋅ v = u T v = ∂ R ∂ x ∂ R ∂ y + ∂ G ∂ x ∂ G ∂ y + ∂ B ∂ x ∂ B ∂ y g_{x x}=u \cdot u=u^{T} u=\left|\frac{\partial R}{\partial x}\right|^{2}+\left|\frac{\partial G}{\partial x}\right|^{2}+\left|\frac{\partial B}{\partial x}\right|^{2}\\ g_{y y}=v \cdot v=v^{T} v=\left|\frac{\partial R}{\partial y}\right|^{2}+\left|\frac{\partial G}{\partial y}\right|^{2}+\left|\frac{\partial B}{\partial y}\right|^{2}\\ g_{x y}=u \cdot v=u^{T} v=\frac{\partial R}{\partial x} \frac{\partial R}{\partial y}+\frac{\partial G}{\partial x} \frac{\partial G}{\partial y}+\frac{\partial B}{\partial x} \frac{\partial B}{\partial y} gxx=u⋅u=uTu= ∂x∂R 2+ ∂x∂G 2+ ∂x∂B 2gyy=v⋅v=vTv= ∂y∂R 2+ ∂y∂G 2+ ∂y∂B 2gxy=u⋅v=uTv=∂x∂R∂y∂R+∂x∂G∂y∂G+∂x∂B∂y∂B
角度是c(x,y)最大变化率的方向为 θ ( x , y ) \theta(x,y) θ(x,y), 对应变化率的值为 F θ ( x , y ) F_{\theta}(x,y) Fθ(x,y):
θ ( x , y ) = 1 2 tan − 1 ( 2 g x y g x x − g y y ) F θ ( x , y ) = 1 2 { [ g x x + g y y + ( g x x − g y y ) cos 2 θ + 2 g x y sin 2 θ ] 1 / 2 } \theta(x, y)=\frac{1}{2} \tan ^{-1}\left(\frac{2 g_{x y}}{g_{x x}-g_{y y}}\right)\\ F_{\theta}(x, y)=\frac{1}{2}\left\{\left[g_{x x}+g_{y y}+\left(g_{x x}-g_{y y}\right) \cos 2 \theta+2 g_{x y} \sin 2 \theta\right]^{1 / 2}\right\} θ(x,y)=21tan−1(gxx−gyy2gxy)Fθ(x,y)=21{[gxx+gyy+(gxx−gyy)cos2θ+2gxysin2θ]1/2}
RGB向量空间中的图像分割
如何获得一个感兴趣的模型?
距离度量(欧式距离):
D ( z , m ) = ∥ z − m ∥ = [ ( z − m ) T ( z − m ) ] 1 / 2 = [ ( z R − m R ) 2 + ( z G − m G ) 2 + ( z B − m B ) 2 ] 1 / 2 \begin{align} D(z, m)&=\|z - m\|\\ &=\left[(z - m)^{T}(z - m)\right]^{1 / 2}\\ &=\left[\left(z_{R}-m_{R}\right)^{2}+\left(z_{G}-m_{G}\right)^{2}+\left(z_{B}-m_{B}\right)^{2}\right]^{1 / 2} \end{align} D(z,m)=∥z−m∥=[(z−m)T(z−m)]1/2=[(zR−mR)2+(zG−mG)2+(zB−mB)2]1/2
上式使用欧氏距离。前提是量纲最好一致。
如果不一致,那么看下面的形式,类似于马氏距离。
一种有用的推广是如下形式的距离度量:
D ( z , m ) = [ ( z − m ) T C − 1 ( z − m ) ] 1 / 2 D(z, m)=\left[(z - m)^{T} C^{-1}(z - m)\right]^{1 / 2} D(z,m)=[(z−m)TC−1(z−m)]1/2
C ≥ 0 , ∣ C ∣ ≠ 0 C\ge 0,|C|\neq0 C≥0,∣C∣=0, 可以被定义为任意形式。
B}\right){2}\right]{1 / 2}
\end{align}
$$
上式使用欧氏距离。前提是量纲最好一致。
如果不一致,那么看下面的形式,类似于马氏距离。
一种有用的推广是如下形式的距离度量:
D ( z , m ) = [ ( z − m ) T C − 1 ( z − m ) ] 1 / 2 D(z, m)=\left[(z - m)^{T} C^{-1}(z - m)\right]^{1 / 2} D(z,m)=[(z−m)TC−1(z−m)]1/2
C ≥ 0 , ∣ C ∣ ≠ 0 C\ge 0,|C|\neq0 C≥0,∣C∣=0, 可以被定义为任意形式。
相关文章:
图像处理-Ch6-彩色图像处理
Ch6 彩色图像处理 无广告更易阅读,个人博客点此进入<– 文章目录 Ch6 彩色图像处理彩色基础彩色模型(Color models)RGB(red, green, blue)CMY & CMYK(cyan, magenta, yellow/and black)HSI(hue, saturation, intensity)HSV(hue, saturation, value) 颜色空…...
Redis可视化工具 RDM mac安装使用
第一步:https://pan.baidu.com/s/10vpdhw7YfDD7G4yZCGtqQg?at1673701651004将dmg下载 第二部:点击下载的dmg文件进行安装、mac可能会提示: 无法验证此App不包含恶意软件 解决方法: 打开系统偏好设置>安全性与隐私>通用&am…...
单元测试/系统测试/集成测试知识总结
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、单元测试的概念 单元测试是对软件基本组成单元进行的测试,如函数或一个类的方法。当然这里的基本单元不仅仅指的是一个函数或者方法࿰…...
多目标应用(一):多目标麋鹿优化算法(MOEHO)求解10个工程应用,提供完整MATLAB代码
一、麋鹿优化算法 麋鹿优化算法(Elephant Herding Optimization,EHO)是2024年提出的一种启发式优化算法,该算法的灵感来源于麋鹿群的繁殖过程,包括发情期和产犊期。在发情期,麋鹿群根据公麋鹿之间的争斗分…...
机器学习和深度学习中的种子设置
一、常见的随机数生成器及其对应的设置方法: Python内置的随机数生成器: import random random.seed(manual_seed)NumPy的随机数生成器: import numpy as np np.random.seed(manual_seed)PyTorch的随机数生成器: import torch tor…...
[手机Linux] 七,NextCloud优化设置
安装完成后在个人设置里发现很多警告,一一消除。 只能一条一条解决了。 关于您的设置有一些错误。 1,PHP 内存限制低于建议值 512 MB。 设置php配置文件: /usr/local/php/etc/php.ini 把里面的: memory_limit 128M 根据你自…...
Ruby+Selenium教程
什么是 Minitest? Minitest 是 Ruby 的测试框架,提供一整套测试工具。它运行速度快,支持 TDD、BDD、模拟和基准测试 以下是使用Ruby、Selenium WebDriver和Minitest 的脚本,用于断言 Restful Booker Platform 的“页面标题”等于…...
【论文阅读笔记】Learning to sample
Learning to sample 前沿引言方法问题声明S-NET匹配ProgressiveNet: sampling as ordering 实验分类检索重建 结论附录 前沿 这是一篇比较经典的基于深度学习的点云下采样方法 核心创新点: 首次提出了一种学习驱动的、任务特定的点云采样方法引入了两种采样网络&…...
边缘计算收益稳定
要使自己的PCDN(Personal Content Delivery Network,个人内容分发网络)收益更稳定,可以从以下几个方面进行努力: 一、选择合适的PCDN平台 平台稳定性:选择技术成熟、稳定性高的PCDN平台,确保内…...
域名和服务器是什么?域名和服务器是什么关系?
在互联网的生态系统中,域名和服务器是两个至关重要的组成部分。它们共同构成了我们访问网站和使用在线服务的基础。那么域名和服务器是什么?域名和服务器是什么关系? 1、域名的概念 域名是互联网中用于标识特定地址的一种文字形式。它是用户访问网站时输入的易记…...
IBatis和MyBatis在细节上的不同有哪些
iBatis 和 MyBatis 都是流行的 Java 持久化框架,用于简化数据库交互。MyBatis 是从 iBatis 演化而来,MyBatis 在 iBatis 的基础上做了很多改进和优化,因此两者在设计和功能上存在一些差异。以下是它们在细节上的主要区别: 1. 框架…...
使用Python获取PDF文本和图片的精确位置
在处理和分析PDF文档时,获取文本和图片在页面上的精确位置是一个重要的操作。通过确定这些元素的具体坐标,我们可以实现对PDF内容的更精细控制和理解,这对于自动化文档处理、信息提取以及内容重组等工作流程尤为关键。通过Python编程语言&…...
【AI日记】24.12.25 kaggle 比赛 2-13
【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 工作 参加:kaggle 比赛 Regression with an Insurance Dataset时间:8 小时 读书 书名:我们能做什么 : 胡适与中国青年最真诚的分享时间:1.5 小时 律己 工作…...
【网络安全】用 Frida 修改软件为你所用
用 Frida 修改软件为你所用 Frida是一个强大的设备操作工具,它允许我们分析、修改和与运行中的应用程序交互。Frida通过在目标进程中创建一个线程,并通过这个线程执行一些启动代码来实现交互功能。这种交互被称为“代理”,它允许我们添加Jav…...
《信管通低代码信息管理系统开发平台》Windows环境安装说明
1 简介 《信管通低代码信息管理系统应用平台》提供多环境软件产品开发服务,包括单机、局域网和互联网。我们专注于适用国产硬件和操作系统应用软件开发应用。为事业单位和企业提供行业软件定制开发,满足其独特需求。无论是简单的应用还是复杂的系统&…...
使用强化学习与遗传算法优化3D低空物流路径_版本2
在快速发展的物流与自主系统领域,优化无人机在三维空间中的飞行路径至关重要。无论是在城市环境中导航还是在复杂地形中穿行,确保高效、安全且节能的航线规划能够显著提升运营效率。本文将深入探讨一种创新方法,结合强化学习(Rein…...
【MinIO系列】MinIO Client (mc) 完全指南
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
【微信小程序】2|轮播图 | 我的咖啡店-综合实训
轮播图 引言 在微信小程序中,轮播图是一种常见的用户界面元素,用于展示广告、产品图片等。本文将通过“我的咖啡店”小程序的轮播图实现,详细介绍如何在微信小程序中创建和管理轮播图。 轮播图数据准备 首先,在home.js文件中&a…...
React与Vue的区别(相同点和不同点)
前言 JavaScript是世界上最流行的语言之一,React和Vue是JS最流行的两个框架。但各有优缺点,本文将详细对比两大框架 一、框架背景 React React是由Facebook开发的用于构建用户界面的JavaScript库,Facebook对市场上JavaScript MVC框架都不太…...
Python语言的文件操作
Python语言的文件操作 在现代编程中,文件操作是每个程序员都需要掌握的基本技能之一。无论是数据的持久化存储、日志的记录,还是配置信息的读取,文件操作都是不可或缺的一部分。Python作为一种高级编程语言,其简单易用的文件操作…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案
在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。 一、系统核心功能架构&…...
离线语音识别方案分析
随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南 背景介绍完整操作步骤1. 创建Docker容器环境2. 验证GUI显示功能3. 安装ROS Noetic4. 配置环境变量5. 创建ROS节点(小球运动模拟)6. 配置RVIZ默认视图7. 创建启动脚本8. 运行可视化系统效果展示与交互技术解析ROS节点通…...
aardio 自动识别验证码输入
技术尝试 上周在发学习日志时有网友提议“在网页上识别验证码”,于是尝试整合图像识别与网页自动化技术,完成了这套模拟登录流程。核心思路是:截图验证码→OCR识别→自动填充表单→提交并验证结果。 代码在这里 import soImage; import we…...
