【OpenCV】BGR三色通道的提取与合并--超详细解读
创作时间:
作者:
@小白创作中心
【OpenCV】BGR三色通道的提取与合并--超详细解读
引用
CSDN
1.
https://blog.csdn.net/m0_71212744/article/details/140313889
在OpenCV中,处理图像时经常需要提取或合并图像的RGB(红、绿、蓝)三色通道。OpenCV默认使用BGR(蓝、绿、红)顺序来存储图像的颜色通道,这一点与很多图像处理库(如PIL/Pillow)不同,后者通常使用RGB顺序。不过,OpenCV提供了灵活的方法来处理这种差异,并允许我们轻松地提取和合并颜色通道。
原图展示
提取BGR通道
假设我们有一个名为img
的BGR图像(numpy.ndarray
类型),我们可以使用切片来提取每个颜色通道,也可以通过cv2.split
来分割颜色通道:
import cv2
import numpy as np
# 读取图像
img = cv2.imread('your_image_path.jpg')
# 提取蓝色通道
blue_channel = img[:, :, 0]
# 提取绿色通道
green_channel = img[:, :, 1]
# 提取红色通道
red_channel = img[:, :, 2]
# cv2.split 分割提取
b, g, r = cv2.split(img)
提取蓝色通道:
合并BGR通道
合并通道时,你需要确保你正在合并的数组(或图像)具有正确的形状和类型。在OpenCV中,你可以使用numpy.dstack
(深度堆叠)来合并通道,或者如果你在处理BGR图像,并想直接合并它们,可以使用cv2.merge
。
使用numpy.dstack
合并通道(通用方法)
# 假设你已经有三个单独的通道数组:red, green, blue
# 注意:对于RGB顺序,blue应该是第一个,green是第二个,red是第三个
# 合并通道(这里以BGR为例)
merged_img = np.dstack((blue_channel, green_channel, red_channel))
# 如果需要,将合并后的BGR图像转换为RGB
merged_img_rgb = cv2.cvtColor(merged_img, cv2.COLOR_BGR2RGB)
使用cv2.merge
合并BGR通道
# 使用cv2.merge合并BGR通道
channels = [blue_channel, green_channel, red_channel]
merged_img = cv2.merge(channels)
# merged_img现在是一个BGR图像
合并后:
在大多数OpenCV操作中,都可以直接使用BGR图像,但在需要将图像与其他使用RGB的库或工具(如PIL/Pillow)交互时,转换为RGB可能是必要的。
本文原文来自CSDN
热门推荐
教练式沟通:让感情更长久!
蔡康永的友情观:如何维持长久的友谊?
七夕节如何让感情升温?
揭秘清朝妃子的"行走艺术":权力、情感与生存智慧
咸鸭蛋的营养价值与食用禁忌全解析
宜昌三峡机场:科学调度+智能升级,从容应对客流高峰
宜昌三峡机场客流再破300万,助推区域经济腾飞
宜昌三峡机场客流再创新高:年旅客吞吐量突破300万人次
探访芜湖古城:历史与现代的完美融合
芜湖航空产业园:低空经济新高地
芜湖城隍庙:千年古刹见证江城变迁
《甄嬛传》教你识别职场真心讨好
黄圣依杨子婚姻启示:如何识别真心爱?
蒋方舟的心理学解读:真心讨好的行为特征
冥想助你一夜好眠!
失眠救星:3招睡前瑜伽让你一夜好眠
BBC科学节目主持人推荐:五个实用助眠技巧
河南省中医院专家推荐:睡前泡脚助你一夜好眠
冬季助眠神器:牛奶&香蕉
苹果是什么季节开的水果?
苹果是什么季节的水果?哪些品种好吃?
委比的定义是什么?委比在交易中的作用有哪些?
股票委比的定义是什么?股票委比的数值变化有什么意义?
GPS时间转换:揭秘天文观测中的时间同步技术
特斯拉车主如何用上比亚迪充电桩?
特斯拉车主如何使用比亚迪充电桩?一文详解适配器选购与安全充电指南
秦皇岛碣石山:千年古岳的文化传奇
碣石山冬日探秘:两日游赏雪景,探寻当地美食之旅
曹操《观沧海》创作地:碣石山景区探秘
新星推理大赛获奖作品《南大命案追凶》,正义与人性探讨