RGB、HSV、HSI颜色模型详解:从原理到实战选型
上周有个朋友甩给我一串十六进制颜色值说想在一排LED灯上复现出那种“很正的蓝”。我按RGB思路调了一整晚从#1D4ED8调到#1E50E8怎么看都不对要么发紫要么发灰。后来干脆换到HSV模式只动了一下色相和一个饱和度参数两分钟就调出来了。这真不是玄学而是我们最常用的RGB颜色模型在“让人理解颜色”这件事上天生就不擅长。这篇内容我打算把RGB、HSV、HSI三个颜色模型一次性讲透它们分别解决什么问题、为什么会出现这么多套模型、怎么互相换算以及真正干活的时候该选谁。如果你是做视觉识别的、调LED灯效的、写前端或者做UI设计的甚至只是想知道屏幕上十六进制颜色到底什么意思这篇都适合。我不堆术语会把原理、公式、踩坑经验放一起讲尽量说人话。1. 先分清RGB是色光拼盘HSV/HSI是人对颜色的直觉1.1 颜色不是物体的固有属性我们先说一个容易绕晕的点颜色并不是物体自带的标签它更像是光和你眼睛之间的约定。太阳光打到一个苹果上苹果把一部分波长吸收、一部分反射出来反射光进入眼睛后视锥细胞对不同波长产生强弱不等的三路信号大脑再把这三路信号合成我们说的“红色”。计算机要复现这个体验最直接的办法就是让屏幕也发出三路光分别刺激你的三种视锥细胞。所以RGB模型本质上是在模拟这套“三路刺激”。红色、绿色、蓝色三束光可以按不同亮度叠加叠出你能看到的绝大多数颜色。三路全开且等亮时视锥细胞收到平衡刺激看起来就是白色或灰色完全不开就是黑色。这叫加色混合越加越亮和颜料、打印墨水的减色混合正好相反——油漆混得越多越黑因为吸收的光越来越多。这也就解释了为什么同一个颜色在屏幕上看和打印出来看经常对不上屏幕靠加色纸面靠减色物理基础完全不同。印刷行业用CMYK是另一套故事我们先把焦点放回RGB、HSV、HSI这三个模型上。1.2 三套模型的定位一个给机器一个给交互一个给处理可问题是RGB虽然在物理上正确在人类直觉里却很不友好。你看到一只橘红色的晚霞很难说出它的RGB分量应该是什么但你能很自然地说颜色偏红橙、挺鲜艳、亮度不错。HSV和HSI就是把这句感性的描述拆成三个数色相H、饱和度S、以及亮度或强度。它们把“颜色本身”和“颜色的浓淡、明暗”分开方便人描述也方便程序按属性做筛选。打个比方。RGB像用经纬度和海拔去定位一个地方精确、可测量、机器可以直接用HSV/HSI像“下了高速往东三公里、半山腰那栋小楼”对你来说更直观但要实际导航还是得换算回经纬度。这不是谁替代谁的问题而是不同层干不同活。1.3 为什么会有那么多颜色模型其实不止RGB、HSV、HSI视频压缩那边还有YUV/YCbCr打印那边有CMYK印刷行业还有Lab。模型越来越多不是因为技术倒退而是每个环节都希望用一种“本地语言”来描述颜色。显示器端需要RGB因为硬件就是三个小灯管人机交互需要HSV/HSI因为人的描述习惯是“色相浓淡明暗”压缩存储需要YUV因为人眼对亮度更敏感可以把色度信息多砍一点。理解了这一点你再看各种“颜色模型对比”就不会慌它们不是什么门派之争而是一套颜色在不同场景下的不同方言。2. RGB显示器和数字图像的骨架难用是先天设计2.1 一个像素为什么是三个0~255先看数字世界里最常见的形态一个像素拆成R、G、B三个通道每个通道用8bit整数表示范围0到255组合出256×256×256≈1670万种颜色。8bit不是拍脑袋定的它正好凑一个字节内存对齐、硬件设计都很方便另一个原因是在正常显示亮度下256级灰阶已经能骗过大多数人眼的色阶辨别能力。这里有个新手容易忽略的点RGB三个通道等值时不一定是“中性灰”只是在你屏幕经过标准校正的前提下才接近中性。而且人眼对三原色的敏感度并不相等绿色的贡献最大所以很多灰度算法用0.299R 0.587G 0.114B而不是简单的(RGB)/3。这从侧面说明RGB三分量虽然叫“三原色”但不代表三种等权重的感知原料只看数值容易误判亮暗。2.2 Gamma为什么手动调RGB经常翻车还有个更隐蔽的问题显示器亮度对数值不是线性关系。一个像素存的数值从128提到255亮度并不是线性翻倍而是大致遵循一条幂曲线输出前还要做gamma解码和编码。换句话说存储里的0~255并不是人眼感知的0~255灰度阶梯更像一种为了抵消显示器和人眼特性而做的编码。这就导致想用RGB滑块把颜色调亮一点时不能单纯三个通道同时加20因为不同通道原来的相对位置不一样换算成实际亮度后偏移完全不同想调饱和一点把非目标通道整体压低效果又会被gamma曲线扭曲。你在一层一层的非线性变换里“盲调”自然容易翻车。这也是为什么交互调色场景里大家纷纷转投HSV/HSB。2.3 RGB仍然是整个数字影像的底层语言尽管难调RGB的统治地位依然稳固。显示器每个像素就是红绿蓝三个子像素通电发光GPU做光照、阴影、混合时也默认用RGBA做线性计算很多图像文件解完码最终也是给显示器送RGB。视频压缩常把RGB转成YUV/YCbCr来削减视觉冗余编码解码结束后还是要转回RGB显示。你完全可以这么理解RGB是机器和机器之间传递颜色的语言HSV/HSI是人和机器商量颜色时的翻译层。3. HSV与HSI把颜色拆成三个旋钮但这两个模型别搞混3.1 H色相是个环红色在0°HSV/HSI里最让人熟悉的是色相H。它用一个角度来描述颜色种类0°红、60°黄、120°绿、180°青、240°蓝、300°洋红转一圈回到0°。把颜色按彩虹顺序围成一个环是因为光谱颜色本来就能按波长排序剩下的洋红这类非光谱色刚好用来把环的开口接上。这个环的设计很关键它把“颜色种类”从“亮暗”和“浓淡”中剥离开。H0°是红色但它同时也等于360°。别小看这个边界后面做颜色分割时红色目标会在阈值上让你吃一次大亏。3.2 S饱和度是离灰轴的距离饱和度S描述的是颜色有多“纯”。S0时颜色基本是灰色或白色只有明暗变化S拉满时颜色是最鲜艳的纯色。任何颜色往里面掺入白色或灰色都会降低饱和度。这也是调色时特别有用的旋钮想“去灰”就提S想“柔和”就降S。注意饱和度和亮度是两回事。一个浅粉色是低饱和高亮一个暗红色是高饱和低亮。千万不要看见“不够鲜艳”就一味补S有时候你需要调的是V或者I。3.3 V和I一个是最大值一个是平均值先看HSV里的V通常写作Value取值是三通道里的最大值Vmax(R,G,B)。纯红、纯黄、纯青、纯白V都等于255因为三通道中至少有一个处于最大强度。它的直观含义是“这个颜色里最强的一路能顶到多亮”所以拖动明度滑块提高V时颜色会显得更亮更冲。再看HSI里的I写作Intensity取的是三通道算术平均I(RGB)/3。纯红色的强度其实只有85左右远没有V看起来那么高。I更像一张“经典灰度图”的底子它把亮度信息从彩色信息里分离出来适合做直方图均衡、亮度归一化这类图像处理操作。简单说V是为了调色直觉I是为了图像处理中把亮度当成独立分量。很多文章把HSI的I和HSL的L混在一起其实都不相等。HSL的L(maxmin)/2介于两者之间在不少设计软件里也很常见。模型一多就容易乱下面放个表方便你一眼分清它们。3.4 一张表分清RGB/HSV/HSL/HSI模型分量含义亮度/强度定义直观形状典型场景RGB三色刺激强度三通道并列立方体屏幕显示、存储、渲染HSV/HSB色相/饱和度/明度max(R,G,B)圆锥/圆柱人工调色、颜色阈值分割HSL色相/饱和度/亮度(maxmin)/2双锥体老设计软件调色面板HSI色相/饱和度/强度(RGB)/3双锥近似图像强度与色彩分离处理看到这你会发现HSV/HSI名字很像实际分量定义却不一样。搞不清时就用表里的核心公式判断不要凭感觉。4. RGB到HSV/HSI的换算公式记不住没关系逻辑要懂4.1 先看RGB到HSVmax、min、delta三段话讲清我记不住公式但算法逻辑其实很朴素。第一步找到R、G、B里的最大值max和最小值min第二步V就是max第三步饱和度S就是(max-min)/max意思是“彩色分量占最大强度的比例”第四步色相H按照哪个通道是最大值决定落在哪个色段max是R找红到黄色段max是G找绿到青色段max是B找蓝到洋红段。拿橙黄色(255,128,0)来说max255min0S1max是R用(G-B)/delta128/255≈0.5乘以60°得到约30°。橙色在红和黄之间符合直觉。纯红是0°纯黄是60°两者之间就是橙这个分段公式跟肉眼感受相当贴合。4.2 RGB到HSI平均值带来的不同结果HSI换算的核心差别在于I只是平均值S的常见写法是1 - 3*min/(RGB)。当纯红时S1等灰时S0H依旧沿用色相环角度思路看哪个通道占优、中间通道相对差值是多少。因为H的计算和HSV那套基本一致很多库干脆共用底层实现只把V换成I、把S公式换成平均值版本。实际动手前一定要先确认你说的是哪一种定义。同一个纯红HSV里V255HSI里I85饱和度公式不同结果也能差出几个百分点。不同文章和代码混着抄最后做出来的mask完全对不上。4.3 一份可以直接跑的最小实现给你一段不依赖任何第三方图像库的纯Python版本方便理解核心逻辑def rgb_to_hsv(r, g, b): r / 255.0 g / 255.0 b / 255.0 cmax max(r, g, b) cmin min(r, g, b) delta cmax - cmin v cmax if delta 0: h 0.0 s 0.0 else: s delta / cmax if cmax r: h 60.0 * (((g - b) / delta) % 6) elif cmax g: h 60.0 * (((b - r) / delta) 2) else: h 60.0 * (((r - g) / delta) 4) return h, s, v print(rgb_to_hsv(255, 128, 0)) # 大约 (30.0, 1.0, 1.0) print(rgb_to_hsv(0, 255, 128)) # 大约 (150.0, 1.0, 1.0)这是最小演示版。实际工程里图像库的接口会一次性处理整张图还会顺便把H压到0~180或0~255范围内避免把浮点角度转成整数时占用额外存储。4.4 转换里容易踩的隐藏坑H范围不统一有的库用0~360有的用0~180有的用0~255。跨库比对前必须先确认。S/V范围不统一常见0~1和0~255两种尺度别拿255的阈值去套0~1的数据。整数溢出uint8像素强行做加减可能溢出0减1会变成255得先把数据转成浮点。反复转换多次RGB到HSV再到RGB的往返会有舍入误差比较颜色时最好只转换一次全部用浮点保存。5. 实战选型视觉分割、调色交互、光照处理各用谁5.1 做颜色识别分割HSV阈值法现场调参记录有一次做视觉识别目标是找画面里的橙色乒乓球。我第一反应是用RGB框设置范围结果发现完全不行不同光照下同一个橙子的R/G/B会一起浮动阈值很难钉死。后来我把整帧图从BGR转到HSV再用阈值做掩码问题立刻变简单。H范围设在10~25S下限80V下限60按0~255刻度高光和阴影处的误检明显变少。为什么因为RGB判断颜色要靠两个通道组合还要担心光照同时改变三通道HSV把色相单独拿出来光照变化更多体现在V分量上H相对稳定。所以只要H范围给宽一点再补上S和V的下限就能获得稳定区域。最后再配合形态学操作开运算去掉孤立噪点闭运算把碎片接起来只保留面积最大的连通域。如果不用形态学单纯阈值出来的掩码会有大量小孔后面求轮廓会非常不稳。5.2 HSI在光照场景的价值把I分量和颜色分量分开再说HSI。实际用下来它在整体光照缓慢变化的场景里很好用颜色信息主要集中在H亮度集中在I。可以先把I分量做归一化或直方图均衡再和H、S合回去阴影的影响会小很多。但遇到高光、镜面反射时H和S也会被污染别指望一个模型包治百病。我自己的选择习惯是如果任务是“把特定颜色的东西从画面里挖出来”首选HSV如果任务偏“平衡光照、增强对比度”这类图像增强会先用HSI的I分量做预处理再继续后续逻辑。5.3 人眼调色交互HSB滑块远比RGB舒服到设计或者调灯环节我基本不用RGB滑块。选色器里的色盘就是照着HSV/HSB做的先挑一类色相再调饱和度和明度。比如LED灯效要一个“偏紫的深蓝”我操作起来就是色相拉到240附近再偏紫一点饱和度保持在80%左右明度降到比较暗的那一段。而RGB模式想调同样的效果要同时改三个数值还得处理gamma的非线性试错成本高很多。这也是为什么几乎所有图像软件的“拾色器”都默认提供HSB/HSV面板而不是只给RGB数字框。5.4 别忘了RGB仍在底层扛活选型不是说谁比谁高级。屏幕发光、芯片驱动、3D渲染、编解码还原全都在RGB或者从RGB派生的空间里运转。HSV/HSI更像一层“翻译”帮人把颜色描述成可理解的维度。真正把信号送到显示器的那一刻还是得变回RGB三路电压。具体任务推荐模型理由屏幕显示/渲染RGB硬件直接使用调色/选色交互HSV/HSB三个旋钮符合直觉彩色目标识别分割HSV色相与亮度分离阈值稳定光照变化下的图像增强HSII分量可独立处理视频压缩YUV/YCbCr提升压缩效率6. 新手最容易踩的几个坑H断裂、亮度干扰和“假饱和”6.1 红色的区间断裂H0和H360其实挨着色相环上红色既在0°也在360°用连续阈值会出现一个尴尬局面“红色”被切成两截。比如某图像库H是0~180红色既出现在0~10又出现在170~180。写红色目标识别程序时如果只写一个h 10的区间就会漏掉另一半——不是代码有问题而是H环首尾相接的性质决定的。处理方式不复杂把范围拆成多个区间逐个合并。做红色目标识别时我经常会输出两个掩码再求并集最后做形态学处理。第一次踩进去的人会以为是阈值写错了其实是模型边界理解不到位。6.2 只设H不设V暗部噪声会教做人HSV阈值三件套里H管色相、S管浓淡、V管明暗。新手常见失误是只设H。问题是暗处和噪声区域因为传感器噪声三个通道比例随机H会乱跑如果S和V下限不设这些乱七八糟的暗像素容易被当成目标颜色。实践建议做目标颜色分割时S和V都设置一个下限比如S40、V40按0~255再排掉小连通域。宁可把阈值卡紧一点导致漏检也比满屏噪声强。漏检还能靠形态学补噪声会把结果完全毁掉。6.3 “假饱和”深色和浅色不能互相冒充另一个坑是“饱和度可信度”。S很低时H没有稳定意义它只是灰色区域里的垃圾角S很高也不代表肉眼看着鲜艳因为V还在参与感知。一个暗红色的HSV可能是(0°0.750.2)饱和度其实不低但整体太暗肉眼只会觉得它发黑发紫。反过来浅粉色S很低但V很高看着是柔和浅色。判断颜色时一定要把S和V放在一起读。很多人被“饱和度越高越鲜艳”这种简化说法害惨了高饱和加低亮度颜色照样沉闷低饱和加高亮度颜色反而清爽。6.4 送自己一个小练习用实物建立色相直觉如果看完这些概念还是记不住我个人建议做一个很土的练习找三个有明显颜色的物体比如橙子、青椒、深蓝笔记本先肉眼估计它们的HSV范围再用取色器或者读出像素值验证。坚持两三周你对色相角度的直觉会变得非常准。以后再遇到颜色识别、调灯效、选配色速度都会快很多。颜色这件事看着是数值问题其实更多是模型选择问题。RGB让你“算颜色”HSV/HSI让你“说颜色”。把每个模型该干的活分清楚你调试时走的弯路会少一大半。

相关新闻

1014Python画图

1014Python画图

#本地python环境编写,不是jupyter环境,IDLE就可以运行,后面的代码可以jupyter里面运行,think in Python 第四章练习题 from turtle import * from math import sin,pi def triangle(r,n):forward(r)a1180-(180-360/n)/2left(a1)le…

2026/10/15 11:49:36 阅读更多 →
Matlab调用REFPROP:从配置到物性查询的完整教程

Matlab调用REFPROP:从配置到物性查询的完整教程

简介:NIST Refprop(美国国家标准与技术研究院开发的流体热力学与输运性质数据库)配合Matlab调用包,可帮助科研人员与工程师快速查询制冷剂、混合物等工质的物性参数,免去手工查表或重复编程的麻烦。压缩包共10个文件&a…

2026/10/15 11:48:35 阅读更多 →
CodeGraph实操指南:用静态分析构建代码依赖图谱

CodeGraph实操指南:用静态分析构建代码依赖图谱

1. CodeGraph到底是什么,我为什么关注它package mainimport ("github.com/user/codegraph" )func main() {graph : codegraph.Load("./src")graph.Render("architecture.svg") }我接触CodeGraph的契机很偶然。团队里有个后端仓库积攒…

2026/10/15 11:48:35 阅读更多 →

最新新闻

LaTeX环境搭建:Texlive 2020与TeXstudio 4.5.3协同部署指南

LaTeX环境搭建:Texlive 2020与TeXstudio 4.5.3协同部署指南

1. 这不是“装个软件”那么简单:为什么LaTeX环境搭建值得花两小时认真对待你点开这个标题,大概率正被一篇论文、一份技术报告或毕业设计的排版问题卡在原地——Word里公式编号总对不齐,参考文献格式反复崩坏,图表跨页后标题消失&a…

2026/10/15 12:40:07 阅读更多 →
FM175XX + FreeRTOS 读卡工程详解:从移植避坑到业务链路落地

FM175XX + FreeRTOS 读卡工程详解:从移植避坑到业务链路落地

简介:面向嵌入式开发者的 APM32/STM32 RFID 读写方案,基于 FreeRTOS 集成 FM175XX 射频芯片,适合需要快速验证 TypeA 卡识别、评估识别距离优化效果的开发者。工程可直接编译,外接天线板采用双天线配置,已调通卡片 ID …

2026/10/15 12:40:07 阅读更多 →
系统辨识与建模40学时教案:从M序列设计到最小二乘的工程实践

系统辨识与建模40学时教案:从M序列设计到最小二乘的工程实践

简介:这份系统辨识教案面向自动化专业学生与相关工程技术人员,围绕从输入输出数据中建立系统模型这一核心问题,系统梳理辨识理论、方法与实验流程。内容涵盖实体与模型的概念区分、模型分类、Zadeh 辨识定义及数据、模型类、准则三要素&#…

2026/10/15 12:40:07 阅读更多 →
写博客坚持不下去?从知识复利到写作习惯的完整复盘

写博客坚持不下去?从知识复利到写作习惯的完整复盘

写了七八年的博客,中间无数次想放弃,又无数次因为某个读者的一条评论续了命。身边总有朋友问:现在短视频都把流量抢光了,谁还看长文?你怎么还能一篇篇写下去,而且没有烂尾?每次被问到这个问题&a…

2026/10/15 12:40:07 阅读更多 →
仓颉尝鲜第一步:VSCode 环境配置与 SDK 插件全流程

仓颉尝鲜第一步:VSCode 环境配置与 SDK 插件全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 12:40:07 阅读更多 →
CentOS 7 离线安装 PostgreSQL 9.5 完整实践指南

CentOS 7 离线安装 PostgreSQL 9.5 完整实践指南

1. 项目概述:为什么离线安装 PostgreSQL 9.5 在 CentOS 7 上仍值得深挖你手头有一台刚上架的生产服务器,物理隔离、无外网权限、防火墙策略严苛——这是某金融行业客户机房里最常见的“安全岛”环境;或者你正为某高校实验室的旧版教学集群做维…

2026/10/15 12:39:06 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →