图像颜色空间对比(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)
相关推荐
Funny_AI_LAB1 小时前
深度解析Andrej Karpathy访谈:关于AI智能体、AGI、强化学习与大模型的十年远见
人工智能·计算机视觉·ai·agi
滨HI03 小时前
opencv 计算面积、周长
人工智能·opencv·计算机视觉
格林威5 小时前
AOI在风电行业制造领域中的应用
人工智能·数码相机·计算机视觉·视觉检测·制造·机器视觉·aoi
禁默6 小时前
第四届图像处理、计算机视觉与机器学习国际学术会议(ICICML 2025)
图像处理·机器学习·计算机视觉
唯道行7 小时前
计算机图形学·9 几何学
人工智能·线性代数·计算机视觉·矩阵·几何学·计算机图形学
AndrewHZ7 小时前
【图像处理基石】什么是alpha matting?
图像处理·人工智能·计算机视觉·matting·发丝分割·trimap·人像模式
这张生成的图像能检测吗9 小时前
(综述)基于深度学习的制造业表面缺陷检测图像合成方法综述
人工智能·计算机视觉·图像生成·工业检测·计算机图像学
AI纪元故事会17 小时前
【计算机视觉目标检测算法对比:R-CNN、YOLO与SSD全面解析】
人工智能·算法·目标检测·计算机视觉
音视频牛哥18 小时前
SmartMediaKit:如何让智能系统早人一步“跟上现实”的时间架构--从实时流媒体到系统智能的演进
人工智能·计算机视觉·音视频·音视频开发·具身智能·十五五规划具身智能·smartmediakit
音视频牛哥19 小时前
超清≠清晰:视频系统里的分辨率陷阱与秩序真相
人工智能·机器学习·计算机视觉·音视频·大牛直播sdk·rtsp播放器rtmp播放器·smartmediakit