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]


相关推荐
love_c++14 分钟前
TensorFlow 的基本概念和使用场景
人工智能·python·tensorflow
dowhileprogramming19 分钟前
Python Flask 渲染静态程动态页面
开发语言·python·flask
喉咙痛的恐龙19 分钟前
C++之“string”类的模拟实现
开发语言·c++
伪编辑科学家22 分钟前
[数据可视化的python脚本实现]关于餐厅消费的不同维度分析
python·信息可视化·pandas·matplotlib
秋说25 分钟前
【Java开发指南 | 第三十四篇】IDEA没有Java Enterprise——解决方法
java·开发语言·intellij-idea
奕澄羽邦33 分钟前
二级Python通关秘籍:字符串操作符/函数/方法全解析与实战演练
开发语言·python
phper81 小时前
Python项目在 Cursor 编辑器中 Conda 环境配置问题
python·conda·cursor
阿_旭1 小时前
基于YOLO11深度学习的运动品牌LOGO检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·毕业设计·logo检测
SomeB1oody1 小时前
【Python机器学习】1.9. 逻辑回归实战(进阶):建立二阶边界模型
人工智能·python·机器学习·ai·逻辑回归
go54631584651 小时前
简单的 Python 示例,用于生成电影解说视频的第一人称独白解说文案
开发语言·python