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);

相关推荐
Dola_Zou1 分钟前
从二进制加固到离线鉴权 工业边缘AI安全防御架构
人工智能·安全·ai·架构·软件加密
wshzd1 分钟前
LLM之Agent(122)|DeepSeek-Harness(二十九)测试哲学:Verify the World, not the Self-Report
人工智能
AllData公司负责人3 分钟前
数据 + AI 一体化 I 机器学习中心(CubeStudio)实现目标识别可视化训练与弹性部署,让视觉模型快速投产
大数据·人工智能·机器学习·大模型·数据采集·ai一体化
新知图书4 分钟前
3.1 ROS 2主题通信的工作原理
人工智能·机器人
Dawson Zhu7 分钟前
【AI编译器入门②】TVM架构拆解:Relay、Relax、TIR与Runtime四层结构
人工智能·语言模型·架构·aigc·agi
阿狸猿9 分钟前
AI Agent自动写自动化脚本
运维·人工智能·自动化
云和数据.ChenGuang18 分钟前
项目打开后没有主类
开发语言·人工智能·langchain·1024程序员节
民乐团扒谱机19 分钟前
【读论文】音色在微分音程记忆中的作用
人工智能·深度学习·算法
推送者21 分钟前
立体桌宠定制:一张正脸照到本地九视角标定的工程链路
人工智能·立体桌宠定制
鬼手点金21 分钟前
缓存作为架构约束
开发语言·前端·人工智能·python·microsoft·缓存·架构