Opencv学习笔记——图片通道的分离与合并

15 篇文章 0 订阅
15 篇文章 0 订阅
本文详细介绍使用OpenCV进行图像处理的方法,特别是如何通过Python代码实现图像通道的分离与合并,以及如何调整特定颜色通道的值。通过实例代码,读者可以学习如何创建窗口显示图像,分离图像通道并设置特定通道的值为零,最后将修改后的通道重新合并成图像。
摘要由CSDN通过智能技术生成

以下均为github上opencv的个人学习笔记,原路径如下:

https://github.com/JimmyHHua/opencv_tutorials

源码示例:

import cv2 as cv 

src = cv.imread("C:/Users/Mark/Desktop/CV/opencv_tutorials-master/opencv_tutorials-master/python/code_008/test.png")
cv.namedWindow("input",cv.WINDOW_AUTOSIZE)
cv.imshow("input", src)

#蓝色通道为零
mv = cv.split(src) //通道的分离
mv[0][:,:] = 0  //[0]表示蓝色通道,[:,:]表示所有像素点集合,也就是整张图像
dst1 = cv.merge(mv) //通道的合并
cv.imshow("output1", dst1)

#绿色通道为零
mv = cv.split(src) //通道的分离
mv[1][:,:] = 0 //[1]表示蓝色通道,[:,:]表示所有像素点集合,也就是整张图像
dst2 = cv.merge(mv) //通道的合并
cv.imshow("output2", dst2)

#红色通道为零
mv = cv.split(src) //通道的分离
mv[2][:,:] = 0 //[2]表示蓝色通道,[:,:]表示所有像素点集合,也就是整张图像
dst3 = cv.merge(mv) //通道的合并
cv.imshow("output3", dst3)

cv.mixChannels(src, dst3, [2,0]) 
cv.imshow("output4", dst3)

cv.waitKey(0)
cv.destroyAllWindows()

函数功能说明:mixChannels主要就是把输入的矩阵(或矩阵数组)的某些通道拆分复制给对应的输出矩阵(或矩阵数组)的某些通道中,其中的对应关系就由fromTo参数制定.

mixChannels([src], [dst], fromTo)

src:要拷贝通道的图像对象列表
dst:要拷贝通道的图像对象列表
fromTo:从哪个通道拷贝到哪个通道去
这里需要注意,src与dst在图像尺寸与格式上必须保持一致

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值