opencv 05 彩色RGB像素值操作

opencv 05 彩色RGB像素值操作

RGB 模式的彩色图像在读入 OpenCV 内进行处理时,会按照行方向依次读取该 RGB 图像的 B 通道、G 通道、R 通道的像素点,并将像素点以行为单位存储在 ndarray 的列中。例如,

有一幅大小为 R 行×C 列的原始 RGB 图像,其在 OpenCV 内以 BGR 模式的三维数组形式存储,

如图 2-7 所示

可以使用表达式访问数组内的值。例如,可以使用 image[0,0,0]访问图像 image 的 B 通道

内的第 0 行第 0 列上的像素点

第 1 个索引表示第 0 行。

第 2 个索引表示第 0 列。

第 3 个索引表示第 0 个颜色通道。

根据上述分析可知,假设有一个红色(其 R 通道值为 255,G 通道值为 0,B 通道值为 0)

图像,不同的访问方式得到的值如下。

 img[0,0]:访问图像 img 第 0 行第 0 列像素点的 BGR 值。图像是 BGR 格式的,得到的数值为[0,0,255]。

 img[0,0,0]:访问图像 img 第 0 行第 0 列第 0 个通道的像素值。图像是 BGR 格式的,所

以第 0 个通道是 B 通道,会得到 B 通道内第 0 行第 0 列的位置所对应的值 0。

 img[0,0,1]:访问图像 img 第 0 行第 0 列第 1 个通道的像素值。图像是 BGR 格式的,所

以第 1 个通道是 G 通道,会得到 G 通道内第 0 行第 0 列的位置所对应的值 0。

 img[0,0,2]:访问图像 img 第 0 行第 0 列第 2 个通道的像素值。图像是 BGR 格式的,所

以第 2 个通道是 R 通道,会得到 R 通道内第 0 行第 0 列的位置所对应的值 255

为了方便理解,我们首先使用 Numpy 库来生成一个 2×4×3 大小的数组,用它模拟一幅黑

色图像,并对其进行简单处理

python 复制代码
import cv2
import numpy as np


#-----------蓝色通道值--------------
blue=np.zeros((300,300,3),dtype=np.uint8)
blue[:,:,0]=255
print("blue=\n",blue)
cv2.imshow("blue",blue)
#-----------绿色通道值--------------
green=np.zeros((300,300,3),dtype=np.uint8)
green[:,:,1]=255
print("green=\n",green)
cv2.imshow("green",green)
#-----------红色通道值--------------
red=np.zeros((300,300,3),dtype=np.uint8)
red[:,:,2]=255
print("red=\n",red)
cv2.imshow("red",red)


cv2.waitKey(0)
cv2.destroyAllWindows()

运行后打印效果:


opencv 中对应的BGR,刚好是蓝色,绿色,红色的顺序

运行上述程序,会显示颜色为蓝色、绿色、红色的三幅图像,分别对应数组 blue、数组 green、数组 red

将三种颜色在一张图中演示操作

python 复制代码
import cv2
import numpy as np


img=np.zeros((300,300,3),dtype=np.uint8)

img[:,0:100,0]=255
img[:,100:200,1]=255
img[:,200:300,2]=255
print("img=\n",img)

cv2.imshow("image",img)
cv2.waitKey(0)
cv2.destroyAllWindows()

img[:,0:100,0]=255

从上面我们已经知道 第一索引是 矩阵里的行,:代表着满行,第二个值0:100 ,代表这 0到100列,第三索引 是通道值,按照opencv 读取顺序是B,

运行效果:

相关推荐
老百姓懂点AI1 分钟前
[测试工程] 告别“玄学”评测:智能体来了(西南总部)基于AI agent指挥官的自动化Eval框架与AI调度官的回归测试
运维·人工智能·自动化
2501_948120155 分钟前
基于量化感知训练的大语言模型压缩方法
人工智能·语言模型·自然语言处理
songyuc8 分钟前
【Llava】load_pretrained_model() 说明
人工智能·深度学习
MARS_AI_9 分钟前
大模型赋能客户沟通,云蝠大模型呼叫实现问题解决全链路闭环
人工智能·自然语言处理·信息与通信·agi
名为沙丁鱼的猫72927 分钟前
【MCP 协议层(Protocol layer)详解】:深入分析MCP Python SDK中协议层的实现机制
人工智能·深度学习·神经网络·机器学习·自然语言处理·nlp
bylander30 分钟前
【AI学习】几分钟了解一下Clawdbot
人工智能·智能体·智能体应用
香芋Yu40 分钟前
【机器学习教程】第04章 指数族分布
人工智能·笔记·机器学习
小咖自动剪辑1 小时前
Base64与图片互转工具增强版:一键编码/解码,支持多格式
人工智能·pdf·word·媒体
独自归家的兔1 小时前
从 “局部凑活“ 到 “全局最优“:AI 规划能力的技术突破与产业落地实践
大数据·人工智能
一个处女座的程序猿1 小时前
AI:解读Sam Altman与多位 AI 构建者对话—构建可落地的 AI—剖析 OpenAI Town Hall 与给创业者、产品/工程/安全团队的实用指南
人工智能