RGB模式的彩色图像在读入OpenCV内进行处理时,会依次读取该RGB图像的B通道、G通道、R通道。
可使用表达式访问数组内的值。如:img[0,0,0]表示访问图像img的B通道内的第1行第1列上的像素点。
img[0,0,0]中:
- 第1个索引表示第几行
- 第2个索引表示第几列
- 第3个索引表示第几个颜色通道
注意:索引都是从0开始,0表示第1个。
举例如:

  • img[0,0]:表示访问图像img第1行第1列像素点的BGR值。得到的数值形如 [?,?,?]
  • img[0,0,1]:表示访问图像img第1行第1列第2个通道即G通道的像素值。

代码如下:

import numpy as np
import cv2
# ---使用np.zeros()生成4行3列的3通道三维数组,初始像素值全为0
blue = np.zeros((4, 3, 3), dtype=np.uint8)
#---将blue数组的第2行第1列第3个通道(即R通道)的像素值设为255
blue[1, 0, 2] = 255
print("blue=\n", blue)
cv2.imshow("blue", blue)
cv2.waitKey()
cv2.destroyAllWindows()

控制台输出如下:
blue=
[
[ [ 0 0 0 ] #第1行第1列的BGR值[0 0 0 ]
[ 0 0 0 ] #第1行第2列的BGR值[0 0 0 ]
[ 0 0 0 ] ] #第1行结束

[ [ 0 0 255 ] #第2行第1列的BGR值[0 0 255 ]
[ 0 0 0 ]
[ 0 0 0 ] ] #第2行结束

[ [ 0 0 0]
[ 0 0 0]
[ 0 0 0] ] #第3行结束

[ [ 0 0 0]
[ 0 0 0]
[ 0 0 0] ] #第4行结束
]

我以前对于彩色图像像素三维表示一直没明白,我们最常见到的数组里元素是一个数值,而这里数组里的元素仍是一个数组[?,?,?]。把[?,?,?]看作一个整体就好理解了。

认真看这个小图的话,可以看到黑色图像左上角有一个红点,这就是我们之前代码里设置的blue[1, 0, 2] = 255的效果。索引2表示第3个通道,即R通道,这一点的像素值为[0,0,255],所以这点显示为红色。

我也是初学体验,写博客记录方便自己以后有问题查看,要是有不对的地方,还请多包涵评论交流指正,谢谢。

声明:记录总结是对李立宗老师写的《OpenCV轻松入门面向Python》这本书学习的记录总结。

OpenCV彩色图像像素读取与表示相关推荐

  1. OpenCV: 图片像素读取与写入

    我们依旧使用该图片作为素材进行讲解~ 1.像素读取 import cv2 img = cv2.imread('image.jpg',1) (b,g,r) = img[100,100] # 读取(100 ...

  2. OpenCV学习笔记02--图像像素处理--二值图像、灰度图像、彩色图像像素的处理、numpy.array中的对应的函数

    目录 (一)灰度图像像素处理 (二)彩色图像像素处理 (三)numpy.array库在图像处理中的应用 (四)查看图像的属性信息 接着笔记01继续总结,当我们读取一幅图像的时候,一般为二值图像.灰度图 ...

  3. Python图像处理丨OpenCV+Numpy库读取与修改像素

    本文分享自华为云社区<[Python图像处理] 二.OpenCV+Numpy库读取与修改像素>,作者: eastmount. 一.传统读取像素方法 1.灰度图像,返回灰度值. 返回值=图像 ...

  4. OpenCV使用GDAL读取地理空间栅格文件

    OpenCV使用GDAL读取地理空间栅格文件 使用GDAL读取地理空间栅格文件 目标 代码 如何使用GDAL读取栅格数据 笔记 通常应避免纬度/经度(地理)坐标 寻找角坐标 结果 使用GDAL读取地理 ...

  5. python opencv读取视频没声音_python + opencv: 解决不能读取视频的问题

    博主一开始使用python2.7和Opencv2.4.10来获取摄像头图像,程序如下: cap = cv2.VideoCapture(0) ret, frame = cap.read() 使用这个程序 ...

  6. OpenCV图像像素遍历与访问

    遍历方式有很多种,下面给出两种方式: 基于数组遍历 基于指针遍历 1.基于数组遍历 Mat类中的cols.rows为图像的宽.高.成员函数at(row,col)可以存取图像元素.对于包含彩色图像的Ma ...

  7. Ubuntu下使用Anaconda安装opencv 解决无法读取视频

    Ubuntu下使用Anaconda安装opencv 最近在Ubuntu16.04下使用Anaconda安装opencv,碰到很多坑,记录备忘. cv2.VideoCapture(filename) 返 ...

  8. 使用OpenCV python模块读取图像并将其另存为灰度系统

    In Python, we can use an OpenCV library named cv2. Python does not come with cv2, so we need to inst ...

  9. python opencv以MJPG读取usb摄像头

    python下使用opencv以MJPG读取usb摄像头 修改格式的原因 用 cap = cv2.VideoCapture(1)打开usb双目摄像头时发现帧率很低,使用cap.set(cv2.CAP_ ...

最新文章

  1. python tuple类型和list_Python 04_List 和 Tuple 类型
  2. js学习日记-new Object和Object.create到底干了啥
  3. 牛客多校4 - Ancient Distance(树上倍增+dfs序+线段树)
  4. 重构代码 —— 函数即变量(Replace temp with Query)
  5. cadence破译时显示服务器失败,在服务器开启cadence失败 报错如下
  6. 爱快路由器下水星(Mercury)无线管理器AC跨三层发现AP
  7. 测度论与概率论基础(程士宏)学习笔记(三)
  8. iOS开发IPhone以及iPad尺寸汇总
  9. 不同速度流体的剪切形成不同尺度的漩涡,看起来很像分形。
  10. 看漫画学焊接!5分钟教你电烙铁的焊接方法
  11. html给页面整体添加左右边距_css div 网页的页面边距怎么控制
  12. 拓嘉辰丰电商:一个营业执照支持开多少家店铺
  13. 2021了,为什么说音视频技术是技术风口?Android音视频开发这么吃香
  14. 阿里内部Redis宝典遭外泄极致经典:源码+实战+理论
  15. Python开发mysql和mongo 连接类
  16. 镭速(Raysync)文件传输对比Filezilla测试!
  17. Vue app.js文件过大,带宽占用过大,优化方案(持续优化)
  18. linux 安装apache apu,Apache编译安装
  19. 【多线程常见面试题】
  20. 最新美团代付源码+支持多模板/多支付通道/全开源

热门文章

  1. 新手友好!101 个 Python 小项目源码(推荐收藏)
  2. qtextedit固定内容_Qt中QTextEdit使用小技巧
  3. oppor17刷鸿蒙系统,OPPO R17 Pro现身官网:后置三摄 拍照大升级
  4. Python一亿以内的素数个数_Python+django网页设计入门(17):模板语法及应用
  5. Linux下安装配置启动redis
  6. 微信群收款微信服务即将来临?微信群灰度测试更多玩法
  7. 判断字母数字下划线python_如何验证字符串只包含字母、数字、下划线和破折号?...
  8. 对快速排序时间复杂度的证明
  9. 缺人!缺钱!赶时间!初创IC设计公司如何“绝地求生”?
  10. BTA | 康烁:基于linux的挖矿操作系统