By 凌顺

2019年9月12日

本示例使用的OpenCV版本是:OpenCV 4.1.1

运行Python的编辑器:Jupyter notebook 6.0.0

示例目的

处理矩阵的通道,访问单个通道、交换通道和执行代数操作都在这篇教程中。

实现代码

1,加载所需要的库

import cv2, numpy as np

import matplotlib.pyplot as plt

2,显示加载的图片

# 这里我们把图像的矩阵元素数据类型转换成 float32 并除于255,缩放为0-1的数值

img = cv2.imread('dog.png').astype(np.float32) / 255

img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

plt.imshow(img)

2,把红色通道和蓝色通道互换

# 交换红色和蓝色通道

img[:, :, [0, 2]] = img[:, :, [2, 0]]

# 显示结果

plt.imshow(img)

在图片RGB模式下交互了蓝色和红色,那么就变成了BGR模式了。

3,把通道交换回来

img[:, :, [0, 2]] = img[:, :, [2, 0]]

4,以不同的方式缩放

# 矩阵中通道索引为0的数值乘于0.9,(即是通道R,红色,红色减少10%)

# 超出的数值在0和1之间进行剪切。

img[:, :, 0] = (img[:, :, 0] * 0.9).clip(0, 1)

# 矩阵中通道索引为1的数值乘于1.1,(即是通道G,绿色,绿色增加10%)

# 超出的数值在0和1之间进行剪切。

img[:, :, 1] = (img[:, :, 1] * 1.1).clip(0, 1)

#显示图像

plt.imshow(img)

最后输出的结果,可以看出图像是偏绿色的,如图:

程序说明

在图像的矩阵中,最后一个维度代表的是通道,本教程,主要是操作该维度。

NumPy为我们提供了非常简单的处理方法。

python opencv颜色通道_OpenCV Python NumPy操作色彩通道相关推荐

  1. python opencv压缩图片_OpenCV Python 缩放图片

    By 凌顺 2019年9月12日 本示例使用的OpenCV版本是:4.1.1 运行Python的编辑器:Jupyter notebook 示例目的 使用OpneCV的cv2.resize()函数对图片 ...

  2. python opencv 录制视频_OpenCV Python 录制视频

    学到实用OpenCV调用笔记本电脑的摄像头,并录制视频保存到本地硬盘的时候,出现了一点故障,那就是获取到的文件总是为0KB.经过一番查找,终于找到了解决办法. 调用摄像头 调用摄像头作为本实验的基础是 ...

  3. Python+opencv学习记录6:模糊操作

    文章目录 1.模糊操作基本原理 1.1.均值模糊 1.2.中值模糊 1.3.自定义模糊 2.相对应的代码 2.1.均值模糊 2.2.中值模糊 2.3.自定义模糊 完整代码 1.模糊操作基本原理 图像在 ...

  4. 来都来了,你确定不看看,使用python中的科学计算库Numpy操作数组,你一定能学废(图文并茂版)

    Numpy操作数组 Numpy库 Numpy库的介绍 Numpy库的安装: python中数组与列表对比 列表: 数组: 数组的创建 使用array方法创建数组 注意: ndmin,dtype参数的使 ...

  5. python制作七夕礼物_OpenCV+Python制作程序七夕(情人节)礼物

    1. 按 不知不觉七夕就过去了! 如果有对象,祝早生贵子!没有对象,祝早结连理! (搞笑一下,祝大家幸福美满吧,嘿嘿嘿) 给大家准备了一份已经写好的代码,利用Python+OpenCV+OpenPyX ...

  6. python制作七夕礼物_opencv+python制作硬核七夕礼物

    点击上方"蓝色小字"关注我呀 明天就是七夕了! 如果有对象,祝早生贵子!没有对象,祝早结连理! (搞笑一下,祝大家幸福美满吧,嘿嘿嘿) 给大家准备了一份已经写好的代码,利用pyth ...

  7. python opencv图像匹配_关于python:OpenCV功能匹配多个图像

    如何使用FLANN优化许多图片的SIFT功能匹配? 我有一个从Python OpenCV文档中获取的工作示例.然而,这是将一个图像与另一个图像进行比较而且速度很慢.我需要它来搜索一系列图像(几千个)中 ...

  8. python画实心圆_OpenCV python 绘制随机实心圆

    OpenCV python 绘制随机实心圆 import numpy as np import cv2 def main(): # 1.创建白色背景图片 d = 400 img = np.ones(( ...

  9. python opencv 识别角度_OpenCV入门之获取图像的旋转角度

    在我们的日常生活中,所碰到的图像往往都有一定的倾斜.那么,如何用OpenCV来获取图像的旋转角度呢? 我们以下面的图片为例,简单介绍如何用OpenCV来获取图像的旋转角度. 可以看到,该图像存在着许多 ...

  10. Python+Opencv颜色和形状检测

    目录 一.场景需求解读 二.算法原理简介 三.算法实现步骤 四.算法代码实现 五.算法效果展示与分析 参考资料 注意事项 一.场景需求解读   现实场景中,我们有时需要自动的检测出图片中目标的颜色和其 ...

最新文章

  1. Jenkins使用遇到的问题总结
  2. 在 Spring Boot 中使用 Spring AOP 和 AspectJ 来测量方法的执行时间
  3. 【资源放送】机器学习/深度学习最全公开视频大放送!
  4. qt学习之路3 ---信号与槽机制
  5. java 静态变量 存储_Java学习笔记9---类静态成员变量的存储位置及JVM的内存划分...
  6. c++ 向量的值逆序输出_C++中vector的常用方法
  7. mysql命令行执行复杂sql_mysql命令行中执行sql的几种方式总结
  8. mmdnn tensorflow 转 caffe
  9. nodejs npm常用命令
  10. python数组就是列表吗,Python:数组与列表
  11. iOS 7状态栏在iPhone应用程序中恢复到iOS 6默认样式?
  12. mysql连接外部数据库名字错误_数据库连接出错! 可能出错原因:数据库位置或名称不对、数据库损坏!...
  13. Java性能优化的五种方式,让你的Java程序更快、更稳定!
  14. 科学计算机壁纸,Nature大盘点:2020年最佳科学影像,每一张都是壁纸,每一张都是历史...
  15. centos进入管理员_centOS 如何让当前用户取得管理员权限
  16. 【区块链开发指南】序言
  17. IOC/DI、AOP相关原理
  18. [小白入门]SEO优化是什么意思?4步骤掌握SEO网站优
  19. android系统优化方向,Android开发的优化方向
  20. maven 多模块项目如何导入其他模块的第三方 jar 包

热门文章

  1. 基于MATLAB的AM信号调制解调代码,代码)基于MATLAB的AM调制解调系统仿真报告
  2. JUC学习之共享模型之工具上之线程池浅学
  3. 数据分析 | 多元线性回归
  4. SQL中对一张表同时升序和降序的排序要求
  5. 三分钟看懂神经网络机器翻译
  6. RL257-ASEMI整流二极管RL257
  7. win7共享中心服务器运行失败,Win7系统网络与共享中心无法打开怎样解决?
  8. 动态域名解析,快解析有哪些优势?
  9. 简洁高效的JQuery
  10. C#微信开发---用户关注微信号后公众号发送欢迎关注