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

相关推荐
2501_926978332 分钟前
认知边缘的双向耦合:从核技术类比到智力货币时代
人工智能·经验分享·笔记·ai写作
SQDN13 分钟前
Chatbox 1.22.1 获取不到模型?先验 /models,再对齐精确 model ID
人工智能·测试工具·机器学习·chatgpt·json
颜酱14 分钟前
08 | 把维度值同步到 Elasticsearch(生成阶段)
人工智能·python·langchain
小马哥crazymxm14 分钟前
Arxiv论文周选 (2026-W28)
论文阅读·人工智能·科技
ASKED_201916 分钟前
一文阐述国内网络环境下使用NIM方法
人工智能·系统架构
GlobalHRTalk17 分钟前
埃及名义雇主EOR业务概述与市场发展优势分析
大数据·运维·人工智能
董员外20 分钟前
RAG 系统进化论(二):Naive RAG,检索增强生成的最小闭环
前端·人工智能·后端
Zeeland20 分钟前
Agent 能完成一个任务,但它能持续追一个三个月的目标吗?
人工智能·github·openai
Sunlly21 分钟前
一次消息如何变成多步行动:拆开 OpenClaw 的 Agent Loop
人工智能
黄华SJ520it29 分钟前
甄味康商城系统开发|大健康新零售解决方案
人工智能·零售·系统开发