python opencv颜色通道_OpenCV Python NumPy操作色彩通道
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操作色彩通道相关推荐
- python opencv压缩图片_OpenCV Python 缩放图片
By 凌顺 2019年9月12日 本示例使用的OpenCV版本是:4.1.1 运行Python的编辑器:Jupyter notebook 示例目的 使用OpneCV的cv2.resize()函数对图片 ...
- python opencv 录制视频_OpenCV Python 录制视频
学到实用OpenCV调用笔记本电脑的摄像头,并录制视频保存到本地硬盘的时候,出现了一点故障,那就是获取到的文件总是为0KB.经过一番查找,终于找到了解决办法. 调用摄像头 调用摄像头作为本实验的基础是 ...
- Python+opencv学习记录6:模糊操作
文章目录 1.模糊操作基本原理 1.1.均值模糊 1.2.中值模糊 1.3.自定义模糊 2.相对应的代码 2.1.均值模糊 2.2.中值模糊 2.3.自定义模糊 完整代码 1.模糊操作基本原理 图像在 ...
- 来都来了,你确定不看看,使用python中的科学计算库Numpy操作数组,你一定能学废(图文并茂版)
Numpy操作数组 Numpy库 Numpy库的介绍 Numpy库的安装: python中数组与列表对比 列表: 数组: 数组的创建 使用array方法创建数组 注意: ndmin,dtype参数的使 ...
- python制作七夕礼物_OpenCV+Python制作程序七夕(情人节)礼物
1. 按 不知不觉七夕就过去了! 如果有对象,祝早生贵子!没有对象,祝早结连理! (搞笑一下,祝大家幸福美满吧,嘿嘿嘿) 给大家准备了一份已经写好的代码,利用Python+OpenCV+OpenPyX ...
- python制作七夕礼物_opencv+python制作硬核七夕礼物
点击上方"蓝色小字"关注我呀 明天就是七夕了! 如果有对象,祝早生贵子!没有对象,祝早结连理! (搞笑一下,祝大家幸福美满吧,嘿嘿嘿) 给大家准备了一份已经写好的代码,利用pyth ...
- python opencv图像匹配_关于python:OpenCV功能匹配多个图像
如何使用FLANN优化许多图片的SIFT功能匹配? 我有一个从Python OpenCV文档中获取的工作示例.然而,这是将一个图像与另一个图像进行比较而且速度很慢.我需要它来搜索一系列图像(几千个)中 ...
- python画实心圆_OpenCV python 绘制随机实心圆
OpenCV python 绘制随机实心圆 import numpy as np import cv2 def main(): # 1.创建白色背景图片 d = 400 img = np.ones(( ...
- python opencv 识别角度_OpenCV入门之获取图像的旋转角度
在我们的日常生活中,所碰到的图像往往都有一定的倾斜.那么,如何用OpenCV来获取图像的旋转角度呢? 我们以下面的图片为例,简单介绍如何用OpenCV来获取图像的旋转角度. 可以看到,该图像存在着许多 ...
- Python+Opencv颜色和形状检测
目录 一.场景需求解读 二.算法原理简介 三.算法实现步骤 四.算法代码实现 五.算法效果展示与分析 参考资料 注意事项 一.场景需求解读 现实场景中,我们有时需要自动的检测出图片中目标的颜色和其 ...
最新文章
- Jenkins使用遇到的问题总结
- 在 Spring Boot 中使用 Spring AOP 和 AspectJ 来测量方法的执行时间
- 【资源放送】机器学习/深度学习最全公开视频大放送!
- qt学习之路3 ---信号与槽机制
- java 静态变量 存储_Java学习笔记9---类静态成员变量的存储位置及JVM的内存划分...
- c++ 向量的值逆序输出_C++中vector的常用方法
- mysql命令行执行复杂sql_mysql命令行中执行sql的几种方式总结
- mmdnn tensorflow 转 caffe
- nodejs npm常用命令
- python数组就是列表吗,Python:数组与列表
- iOS 7状态栏在iPhone应用程序中恢复到iOS 6默认样式?
- mysql连接外部数据库名字错误_数据库连接出错! 可能出错原因:数据库位置或名称不对、数据库损坏!...
- Java性能优化的五种方式,让你的Java程序更快、更稳定!
- 科学计算机壁纸,Nature大盘点:2020年最佳科学影像,每一张都是壁纸,每一张都是历史...
- centos进入管理员_centOS 如何让当前用户取得管理员权限
- 【区块链开发指南】序言
- IOC/DI、AOP相关原理
- [小白入门]SEO优化是什么意思?4步骤掌握SEO网站优
- android系统优化方向,Android开发的优化方向
- maven 多模块项目如何导入其他模块的第三方 jar 包