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

相关推荐
Entropy-Go几秒前
一图了解AI热门词汇 - OpenClaw/Prompt/Agent/Skill/MCP/LLM/GPU
人工智能·agent·skill·mcp·openclaw
惠惠软件2 分钟前
AI 龙虾 | 对学习工作的影响和未来前瞻
人工智能·学习
是糖糖啊3 分钟前
Agent 不好用?先别怪模型,试试 Harness Engineering
人工智能·设计模式
X在敲AI代码4 分钟前
女娲补天系列--深度学习
人工智能·深度学习
AI精钢6 分钟前
从 Prompt Engineering 到 Harness Engineering:AI 系统竞争,正在从“会写提示词”转向“会搭执行框架”
人工智能·prompt·devops·ai agent·ai engineering
大灰狼来喽7 分钟前
OpenClaw 自动化工作流实战:用 Hooks + 定时任务 + Multi-MCP 构建“数字员工“
大数据·运维·人工智能·自动化·aigc·ai编程
盼小辉丶8 分钟前
PyTorch实战(38)——深度学习模型可解释性
人工智能·pytorch·深度学习
你们补药再卷啦11 分钟前
AgentSkills(2/4)笔记
人工智能
温九味闻醉12 分钟前
Meta | HSTU:生成式推荐工业级方案
人工智能·深度学习·机器学习
Fabarta技术团队12 分钟前
北邮院企工作坊 | 枫清科技解析Fabarta龙虾技能(skill)开发实践——从使用AI到共创AI
人工智能·科技