opencv通道分离与合并

cpp 复制代码
void QuickDemo::channels_demo(Mat & image)
{
	std::vector<Mat>mv;
	//通道分离合并
	split(image,mv);//原图 指针(Mat)
	imshow("蓝色", mv[0]);
	imshow("绿色", mv[1]);
	imshow("红色", mv[2]);
}

split(image,mv);//原图 指针(Mat)

这里split后一个是指针 但是我们并没有看到指针在哪,就看到一个数据类型Mat和数组vetcor

经过查阅,

//Mat(matrice)基本结构 (头部 数据部分)

//这部分的大小是固定的,包含矩阵的大小,存储的方式,矩阵存储的地址等等;

//另一个部分是一个指向矩阵包含像素值的指针(data)。

经过运行

将代码修改成如下这样

cpp 复制代码
void QuickDemo::channels_demo(Mat & image)
{
	std::vector<Mat>mv;
	//通道分离合并
	split(image,mv);//原图 指针(Mat)
	imshow("蓝色", mv[0]);
	imshow("绿色", mv[1]);
	imshow("红色", mv[2]);

	Mat dst;
	mv[1] = 0;
	mv[2] = 0;
	merge(mv, dst);//合并
	imshow("蓝色", dst);

}

将其他两个通道改为0 0 现在通道颜色为255 0 0 为蓝色 可以显示

其余两个类似操作 满足 BGR

通道混合

int from_to\[\] = { 0,1,1,0,2,2 };//0通道跑到1 1到0 2不变
mixChannels(image,dst, from_to,3);//一个image 一个dst 三个通道
imshow("通道混合", dst);

相关推荐
天天代码码天天几秒前
让视频里的声音“有个位置”:我用 C# 做了个离线热图工具
人工智能
AI闲人2 分钟前
Hermes:把学习写进文件,把知识变成技能
人工智能·知识库·ai 编程·企业ai落地
smartpi_ai3 分钟前
高端智能沙发如何接入大模型语音:JL-17T 离在线语音模块方案实录
人工智能·单片机·语音识别
虎鲸不是鱼3 分钟前
AI 自动化逆向(三十五)假设空间枚举的完备性是假设出来的
人工智能·自动化·大模型·逆向·ai逆向
段一凡-华北理工大学9 分钟前
高炉能源系统智能化:热风炉、煤气与极致能效~系列文章09:TRT 余压发电:把炉顶压力转变成电
人工智能·能源·工业智能化·高炉能源优化·高炉余压发电
归秋0412 分钟前
图文生成视频工具怎么选:从素材生成到成片发布全链路选型指南
人工智能
云-缩影14 分钟前
我用阿里云 AI 动画方案跑通了剧本→视频流水线:ComfyUI + 百炼模型实测
人工智能·阿里云·云计算
hkNaruto19 分钟前
【AI】深度学习、强化学习、深度强化学习基础概念笔记
人工智能·笔记·深度学习
Leo.yuan25 分钟前
集团司库系统之外还需要什么?2026年资金分析与司库决策平台建设指南
大数据·人工智能·区块链