OpenCV-Python中的两种图像通道分离法
OpenCV-Python中有两种方法实现图像通道的分离,下面分别介绍:
方法一:由于在OpenCV-Python中图像是用numpy库中的ndarray进行存储的。所以可以用ndarray的切片操作实现图像能通道的分离。
如果想了解更多关于ndarray的切片操作,可以参见我的博文 numpy库中ndarray切片操作的参数意义
方法二是用OpenCV中的函数split()实现。
下面附两种方法的实现代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782
# 图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601
# OpenCV的版本为4.1import cv2 as cv
import sys
import numpy as npif __name__ == '__main__':# 读取图像并判断是否读取成功img = cv.imread('../images/BaoXiaofeng.jpg')if img is None:print('Failed to read BaoXiaofeng.jpg.')sys.exit()# 方法一:使用ndarray的切片操作进行通道分离b1 = img[:, :, 0]g1 = img[:, :, 1]r1 = img[:, :, 2]# 方法二使用OpenCV的函数split()进行通道分离b2, g2, r2 = cv.split(img)
需要说明的是,方法一要远比方法二高效,即方法一要比方法二用得时间少得多,所以如果想使程序的运行时间少,则可用方法一;如果想程序便于转化成OpenCV-C++代码,则可用方法二实现。
OpenCV-Python中的两种图像通道分离法相关推荐
- Python中的两种路径
Java中有两种路径,一种是操作系统的路径path,另一种是类路径classpath. Python中也是如此,一种是操作系统环境变量中的path,另一种是PYTHONPATH. 当import xx ...
- Python中的两种函数可变长度参数类型:*args, **kwargs
文章目录 1 简介 2 问题 3 分析 4 示例扩展 5 小结 1 简介 在Python的函数定义中, 我们可以看到有类似 fun(v1, *args, **kwargs) 这样的内容,其中*args ...
- 使用matlab文件绘制匀变速直线规律研究中的两种图像
本文编写的matlab程序,需要使用者按照文档提示在excel表格中填入相关数据,运行之后即会生成图像 方法:最小二乘法进行一次多项式拟合 提示: Vi:滑块通过光电门2的速度 ti:滑块由P0到Pi ...
- OpenCV Python教程(2、图像元素的访问、通道分离与合并)
OpenCV Python教程之图像元素的访问.通道分离与合并 转载请详细注明原作者及出处,谢谢! 访问像素 像素的访问和访问numpy中ndarray的方法完全一样,灰度图为: [python] v ...
- python实现人脸口罩检测(基于opencv和深度学习两种方法)
人脸口罩检测GUI系统(基于opencv和深度学习两种方法对比) 由于疫情的影响,人脸口罩检测系统的开发成为很多人争相开发的一种算法.很多公司或者个人都开源了他们很多的代码或者SDK.大家在GitHu ...
- python中交换两个变量值的几种方式?
python中交换两个变量值的几种方式 1.python中独有的,也是最简单的方式: a,b=b,a 2.引入第三个变量,可以看作两个装满牛奶的瓶子a和瓶子b,如果我想交换这两个瓶子中的牛奶,就需要一 ...
- 【OpenCV 例程200篇】12. 图像通道的合并(cv2.merge)
[OpenCV 例程200篇]12. 图像通道的合并(cv2.merge) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更 ...
- 【OpenCV 例程200篇】11. 图像通道的拆分(cv2.split)
[OpenCV 例程200篇]11. 图像通道的拆分(cv2.split) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更 ...
- python 颜色_如何使用python中matplotlib库分析图像颜色
用代码分析图像可能很困难.你如何使代码"理解"图像的上下文? 通常,使用AI分析图像的第一步 是找到主要颜色.在如何使用python中matplotlib库分析图像颜色中,我们将使 ...
最新文章
- [Asp.net 5] Options-配置文件(2)
- [译]Godot系列教程一 - 场景与节点
- python字典作业_python第一天作业:字典
- 线性表—单向循环链表
- php加密手机版_PHP解密支付宝小程序的加密数据、手机号的示例代码
- 安卓开发重磅炸弹!程序员福利!《高级Kotlin强化实战学习手册(附Demo)》开放下载!
- Paper:2020年3月30日何恺明团队最新算法RegNet—来自Facebook AI研究院《Designing Network Design Spaces》的翻译与解读
- 就差一点点-微妙的强制类型转换
- linux 网络的一些书籍
- 苹果手机看python文件大小_Python练习题:你有一个目录,装了很多照片,把它们的尺寸变成都不大于iPhone5分辨率的大小...
- 福州公交车与拖拉机相撞1人死亡
- Beginning Python chapter 2 Lists and Tuples:1 Indexing and slicing
- IOS逆向学习-越狱环境的搭建
- bilibili老版本_bilibili旧版本
- iOS开发各种证书详解
- fx3u4ad一adp说明书_FX3U-4AD-PT-ADP用户手册FX3U-4AD-PT-ADP使用说明书 - 三菱
- 怎么用计算机隐藏应用程序,win7 隐藏应用程序 电脑如何隐藏程序_win7教程_uc电脑园...
- 【OpenSSL 之五】:HMAC算法分析
- python sdk是什么意思_sdk啥意思
- Zemax操作18--12倍激光扩束镜
热门文章
- python画椭圆-Python易学就会(五)turtle绘制椭圆与递归
- 怎么自学python语言-python应用:零基础Python应该怎样学习呢?
- 如何使用python画折线图-Python数据可视化:使用Python画柱状图和折线图
- 零基础自学python的建议-关于零基础学习 Python 有什么好的建议?
- python介绍和用途-python中模块的介绍与使用
- python turtle画气球-如何用python的装饰器定义一个像C++一样的强
- 30岁自学python找工作-30岁新手入门python!尝试人生另一种可能
- python提高办公效率-提升Python程序运行效率的6个方法
- java和python的比较-java和python的比较
- LA4234 Binary Clock(进制转换)