python | OpenCV小记(一):cv2.imread(f) 读取图像操作(待更新)

python | OpenCV小记(一):cv2.imread(f)读取图像操作

      • [1. 为什么 `[:, :, 0]` 提取的是第一个通道(B 通道)?](#1. 为什么 [:, :, 0] 提取的是第一个通道(B 通道)?)
        • [OpenCV 的通道存储格式](#OpenCV 的通道存储格式)
        • [索引操作 `[:, :, 0]` 的解释](#索引操作 [:, :, 0] 的解释)
        • 常见误解

1. 为什么 [:, :, 0] 提取的是第一个通道(B 通道)?

OpenCV 的通道存储格式

OpenCV 默认读取的图像是 BGR 格式 ,即通道顺序为 Blue(蓝)、Green(绿)、Red(红)

当使用 cv2.imread(f) 读取图像时,返回的数组形状为 (H, W, 3),其中:

  • H 是图像高度(Height),
  • W 是图像宽度(Width),
  • 3 是通道数(B、G、R)。
索引操作 [:, :, 0] 的解释
  • 维度顺序 :OpenCV 返回的数组是 (H, W, C),即第三个维度(索引为2)对应通道。
  • [:, :, 0] 的含义
    • : 表示保留所有行(高度)和列(宽度),
    • 0 表示取第三个维度(通道维度)的第一个通道,即 B 通道
  • 结果 :通过 [:, :, 0] 提取 B 通道后,图像变为单通道(灰度图),形状为 (H, W)
常见误解

用户可能误以为 [:, :, 0] 是对第三个通道赋值为0,但实际上这是 索引操作 ,不是赋值操作。

如果目标是提取 R 通道(红色),应使用 [:, :, 2]


相关推荐
AI原吾9 分钟前
ClaudeCode真经第二章:核心功能深度解析
python·ai编程·claudecode
鄃鳕14 分钟前
高并发日志项目中,C++IO的使用
开发语言·c++
点云侠23 分钟前
PCL 生成缺角立方体点云
开发语言·c++·人工智能·算法·计算机视觉
东方芷兰1 小时前
LLM 笔记 —— 03 大语言模型安全性评定
人工智能·笔记·python·语言模型·自然语言处理·nlp·gpt-3
MediaTea1 小时前
Python 库手册:keyword 关键字查询
开发语言·python
java1234_小锋1 小时前
Scikit-learn Python机器学习 - 模型保存及加载
python·机器学习·scikit-learn
睿思达DBA_WGX1 小时前
使用 python-docx 库操作 word 文档(1):文件操作
开发语言·python·word
jackylzh2 小时前
深度学习中, WIN32为 Windows API 标识,匹配 Windows 系统,含 32/64 位
人工智能·python·深度学习
LateFrames3 小时前
用 【C# + Winform + MediaPipe】 实现人脸468点识别
python·c#·.net·mediapipe
人工干智能7 小时前
科普:Python 中,字典的“动态创建键”特性
开发语言·python