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

相关推荐
Mxsoft619几秒前
采样率设低致频谱混叠!某次谐波分析误判,提高采样率精准定位!
人工智能
AI Chen1 分钟前
【Opencv4快速入门】OpenCV中2D汉宁窗实现的数学原理详解
opencv
有痣青年7 分钟前
GPT‑5.2 翻车?GDPval 70.9% 的“基准胜利”为何换不来好口碑?
人工智能·openai·ai编程
平凡之路无尽路8 分钟前
智能体设计模式:构建智能系统的实践指南
人工智能·设计模式·自然语言处理·nlp·aigc·vllm
骚戴8 分钟前
架构视角:Gemini 3.0 Pro 原生多模态能力的边界与工程落地
人工智能·大模型·llm·api·ai gateway
2401_8414956413 分钟前
【自然语言处理】汉语语料库建设的深层困境与现实挑战
人工智能·自然语言处理·语料库·标注·汉语语料库·中文信息处理·语料
zhaodiandiandian14 分钟前
AI赋能医学教育:从知识传递到能力塑造的革命
人工智能
图图大恼20 分钟前
在iOS上体验Open-AutoGLM:从安装到流畅操作的完整指南
人工智能·ios·agent
SakuraOnTheWay23 分钟前
玩转n8n | 我用n8n+AI把枯燥论文变成了手绘海报(附Prompt技巧)
人工智能
Maynor99626 分钟前
Vibe Coding:AI驱动的编程新范式
人工智能