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

相关推荐
来让爷抱一个5 分钟前
2026 智能体安全实战:把护栏写进SPEC,MonkeyCode 云端跑通
人工智能·安全·机器学习
冬奇Lab7 分钟前
Code Agent 解剖(19):AgentTeams——一个实验系统的生与死
人工智能
curd_boy28 分钟前
【Redis】Redis从缓存到AI向量平台
人工智能·redis·缓存
kyriewen44 分钟前
GPT-6 发布当晚,三大 AI 集体宕机 4 小时——我扒完时间线,发现最该慌的不是宕机
人工智能·程序员·ai编程
GrepowTattu1 小时前
从2026世界机器人大会看机器人补能:为什么智能充电正在成为重要一环
人工智能·机器人
IT_陈寒1 小时前
React Hooks闭包陷阱差点让我加班到凌晨
前端·人工智能·后端
揽秀亭长1 小时前
视频转文字工具对比:从字幕生成到文本整理
人工智能·音视频
工业甲酰苯胺1 小时前
AI低代码破局:制造业数智转型落地实战
大数据·人工智能·低代码·制造
CaseyWei2 小时前
Harness 架构 Multi‑Agent(多智能体)完整深度解析
人工智能·ai·架构·harness
eaglewgs2 小时前
关于AI书写测试用例,谈一下我的思考
人工智能·测试开发·ai·测试用例·agent·测试经验·agent测试开发