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]


相关推荐
不如语冰12 分钟前
AI大模型入门-pytorch-张量2 tensor创建
python
moonsims19 分钟前
星闪在跨域无人化系统作用
开发语言·php
NPE~24 分钟前
[AI]Agent开发——ADK框架使用
人工智能·python·ai·教程·adk·agent开发
矮个史蒂芬26 分钟前
统计verilog .v文件中output 的bit数
python
gwf2161 小时前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件
Iruoyaoxh1 小时前
栈和队列~
java·开发语言
爱吃提升1 小时前
python 分布式爬虫、爬虫合规与综合实战项目
分布式·爬虫·python
审小匠OpenCPAi1 小时前
银行流水核查怎么自动化?单边匹配、双向勾稽与图聚类异常检测的工程对比
java·前端·人工智能·python·审计
Hrain-AI1 小时前
2026 企业 AI 编程智能体实战:Codex 与 Claude Code
开发语言·人工智能·kotlin
wdfk_prog2 小时前
嵌入式面试真题第 13 题:单硬件 Timer 下的高精度多路软件定时器架构设计
c语言·开发语言·面试·职场和发展·嵌入式