图像颜色空间对比(Opencv)

1. 颜色转换

py 复制代码
import cv2
import matplotlib.pyplot as plot

img = cv2.imread("tmp.jpg")
img_r = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
img_g = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img_h = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
img_l = cv2.cvtColor(img, cv2.COLOR_BGR2LAB)

plot.figure(figsize=(15,3));
plot.subplot(1,5,1)
plot.title('BGR image')
plot.imshow(img)
plot.subplot(1,5,2)
plot.title('BGR to RGB')
plot.imshow(img_r)
plot.subplot(1,5,3)
plot.title('BGR to Gray')
plot.imshow(img_g)
plot.subplot(1,5,4)
plot.title('BGR to HSV')
plot.imshow(img_h)
plot.subplot(1,5,3)
plot.title('BGR to LAB')
plot.imshow(img_l)

plot.show()

2. 各颜色空间对比

颜色空间 通道数 通道含义 数据范围 主要应用场景 优缺点
RGB 3 Red(红)、Green(绿)、Blue(蓝) 各通道值范围:0-255 图像显示、基础图像处理 ✅ 直观易用 ❌ 对光照变化敏感
BGR 3 Blue(蓝)、Green(绿)、Red(红) 各通道值范围:0-255 OpenCV默认图像格式、视频处理 ✅ OpenCV原生支持 ❌ 与常规RGB顺序相反
Gray 1 亮度(Luminance) 单通道值范围:0-255 人脸检测、文字识别、简化计算 ✅ 计算效率高 ❌ 丢失颜色信息
HSV 3 Hue(色相)、Saturation(饱和度)、Value(明度) H: 0-180 S/V: 0-255 颜色检测、色彩分割、光照鲁棒处理 ✅ 颜色分离效果好 ❌ H通道是循环角度值(0°=180°)
Lab 3 L(亮度)、a(红绿轴)、b(黄蓝轴) L: 0-255 a/b: -128~127 颜色一致性校正、复杂颜色分割 ✅ 接近人类视觉感知 ❌ 计算复杂度较高

3. 应用说明

3.1 RGB vs BGR

  • OpenCV默认使用BGR格式,与其他库(如Matplotlib)交互时需转换
  • 转换方法:cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

3.2 HSV

  • H(色相)在OpenCV中被压缩到0-180范围(常规为0-360°)
  • 常用于颜色过滤(如检测红色物体)

3.3 Lab

  • L通道表示亮度,与设备无关
  • a通道:绿色→红色(-128→127)
  • b通道:蓝色→黄色(-128→127)
  • 在Photoshop等专业工具中广泛使用

3.4 Gray

  • 转换公式:Gray = 0.299R + 0.587G + 0.114*B(加权平均法)

3.5 典型使用场景示例:

  • 人脸检测:优先使用灰度图(减少计算量)
  • 颜色追踪:HSV空间定义颜色范围(如cv2.inRange())
  • 图像增强:Lab空间调整亮度(L通道)不影响颜色
  • 跨设备颜色一致性:Lab空间进行颜色校正

系列文章:

  1. opencv常用边缘检测算子示例
  2. 图像颜色空间对比(Opencv)
  3. 图像变换方式区别对比(Opencv)
  4. 常用图像滤波及色彩调节操作(Opencv)
  5. 图像形态学操作对比(Opencv)
相关推荐
mahtengdbb19 小时前
YOLO11-C3k2-iRMB在花生检测中的应用——改进网络结构实现精准识别与性能优化_2
人工智能·计算机视觉·目标跟踪
柠檬071113 小时前
opencv mat 统计小于0的个数
人工智能·opencv·计算机视觉
Coovally AI模型快速验证14 小时前
超越Sora的开源思路:如何用预训练组件高效训练你的视频扩散模型?(附训练代码)
人工智能·算法·yolo·计算机视觉·音视频·无人机
Rui_Freely14 小时前
Vins-Fusion之 相机—IMU在线标定(十一)
人工智能·算法·计算机视觉
数据分享者16 小时前
猫狗图像分类数据集-21616张标准化128x128像素JPEG图像-适用于计算机视觉教学研究与深度学习模型训练-研究人员、开发者和学生提供实验平台
深度学习·计算机视觉·分类
duyinbi751716 小时前
【计算机视觉实践】:基于YOLOv8-BIMAFPN的海洋漏油事件检测与分类系统实现_2
yolo·计算机视觉·分类
西柚小萌新17 小时前
【计算机视觉CV:目标检测】--1.目标检测简介
目标检测·计算机视觉·目标跟踪
Rui_Freely18 小时前
Vins-Fusion之 相机—IMU在线标定(两帧间旋转估计)(十)
人工智能·算法·计算机视觉
棒棒的皮皮18 小时前
【深度学习】YOLO模型精度优化全攻略
人工智能·深度学习·yolo·计算机视觉
集和诚JHCTECH18 小时前
BRAV-7722赋能手术机器人:高性能控制方案,守护精准手术的每一刻
人工智能·嵌入式硬件·计算机视觉