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

相关推荐
烈风逍遥18 分钟前
基于 Vue 3+Spring Boot 构建 RAG 智能知识库
人工智能
机器之心19 分钟前
1/10成本、Opus 4.7级表现,Cursor甩出了性价比之王Composer 2.5
人工智能·openai
机器之心24 分钟前
从卖token到卖结果,这些公司开始让AI背KPI了
人工智能·openai
效能革命笔记25 分钟前
AI模型平台选型指南:开源生态与国产算力如何优选
人工智能·开源
机器之心28 分钟前
H100去哪儿了?
人工智能·openai
多年小白32 分钟前
兆易创新分析
大数据·人工智能·ai·金融·区块链
小领航38 分钟前
构建 MySQL MCP Server
人工智能·node.js
paperClub1 小时前
AACR 2026 · AI诊断:深度学习在肿瘤早期检测中的应用
人工智能·深度学习
碳基硅坊1 小时前
使用RAGFlow搭建本地知识库
人工智能·知识库·rag·ragflow
w1wi1 小时前
CRA 差距分析完全指南 | 合规落地第一步
网络·人工智能·安全