图像通道操作

简介: 【5月更文挑战第8天】图像通道操作。

1.通过数组索引拆分通道
OpenCV中BGR格式的图像是一个三维数组,可用数组的索引操作拆分3个色彩通道,示例代码如下。

test2-10.py:通过数组索引拆分通道

import cv2
img=cv2.imread('lena.jpg',cv2.IMREAD_REDUCED_COLOR_2) #读图像,将其尺寸减小为原来的1/2
cv2.imshow('lena',img) #显示原图像
b=img[:,:,0] #获得B通道图像
g=img[:,:,1] #获得G通道图像
r=img[:,:,2] #获得R通道图像
cv2.imshow('lena_B',b) #显示B通道图像
cv2.imshow('lena_G',g) #显示G通道图像
cv2.imshow('lena_R',r) #显示R通道图像
cv2.waitKey(0)
2.使用cv2.split()函数拆分通道
cv2.split()函数可以用于拆分通道,示例代码如下。

test2-11.py:使用cv2.split()函数拆分通道

import cv2
img=cv2.imread('lena.jpg',cv2.IMREAD_REDUCED_COLOR_2) #读图像,将其尺寸减小为原来的1/2
cv2.imshow('lena',img) #显示原图像
b,g,r=cv2.split(img) #按通道拆分图像
cv2.imshow('lena_B',b) #显示B通道图像
cv2.imshow('lena_G',g) #显示G通道图像
cv2.imshow('lena_R',r) #显示R通道图像
cv2.waitKey(0)
程序运行结果与图2-6所示的相同。cv2.split()函数拆分通道的效率不如数组索引,所以在处理较大图像时应优先考虑使用数组索引来拆分通道。
3.合并图像通道
cv2.merge()函数可将3通道图像合并,其基本格式如下。
img=cv2.merge([b,g,r])
其中,变量img保存生成的图像,b、g、r是3个单通道图像,依次将它们作为B、G和R通道的图像进行合并,示例代码如下。

test2-12.py:合并图像通道

import cv2
img=cv2.imread('lena.jpg',cv2.IMREAD_REDUCED_COLOR_2) #读图像,将其尺寸减小为原来的1/2
cv2.imshow('lena',img) #显示原图像
b,g,r=cv2.split(img) #按通道拆分图像
rgb=cv2.merge([r,g,b]) #按新顺序合并
gbr=cv2.merge([g,b,r]) #按新顺序合并
cv2.imshow('lena_RGB',rgb) #显示合并图像
cv2.imshow('lena_GBR',gbr) #显示合并图像
cv2.waitKey(0)

相关文章
|
8月前
|
机器学习/深度学习 传感器 算法
【交互式阈值二进制图像】采用彩色或单色图像通过交互/手动方式阈值单色图像或彩色图像的单个色带研究(Matlab代码实现)
【交互式阈值二进制图像】采用彩色或单色图像通过交互/手动方式阈值单色图像或彩色图像的单个色带研究(Matlab代码实现)
|
4天前
|
数据采集 编解码 算法
基于同步矩阵的多通道脑电功能连接分析_kaic
基于同步矩阵的多通道脑电功能连接分析_kaic
|
4天前
|
前端开发 计算机视觉 C++
【OpenCV】—分离颜色通道、多通道图像混合
【OpenCV】—分离颜色通道、多通道图像混合
|
4天前
滤镜与通道
滤镜与通道
15 0
|
10月前
|
计算机视觉 索引
02 OpenCV图像通道处理
在数字图像处理中,图像通道是指一个图像中的颜色信息被分离为不同的颜色分量。常见的图像通道包括RGB通道、灰度通道、HSV通道等。 RGB通道是指将图像分离为红色、绿色和蓝色三个颜色通道,每个通道表示相应颜色的亮度。这种方式是最常见的方式,它对于彩色图像的处理非常重要。
|
7月前
|
机器学习/深度学习 人工智能 算法
OpenCV-差分法实现绿叶识别(图像差分+颜色通道)
OpenCV-差分法实现绿叶识别(图像差分+颜色通道)
|
8月前
|
机器学习/深度学习 传感器 算法
【视频处理】通过调用图像来重建新影片及计算颜色通道的平均灰度值,并检测帧与前一帧之间的差异(Matlab代码实现)
【视频处理】通过调用图像来重建新影片及计算颜色通道的平均灰度值,并检测帧与前一帧之间的差异(Matlab代码实现)
|
9月前
|
计算机视觉
opencv 之 颜色通道提取
opencv 之 颜色通道提取
152 0
|
API 计算机视觉 索引
OpenCV_02 图像的基本操作:图像IO+绘制图形+像素点+属性+图像通道+色彩空间的改变
注意:在调用显示图像的API后,要调用cv.waitKey()给图像绘制留下时间,否则窗口会出现无响应情况,并且图像无法显示出来。
82 0
FPGA-像素操作(二值图片,异或操作,暗通道rgb)
FPGA-像素操作(二值图片,异或操作,暗通道rgb)
188 0
FPGA-像素操作(二值图片,异或操作,暗通道rgb)