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

相关推荐
luoganttcc2 分钟前
详细分析一下 国富论里里面 十一章 关于白银价格的 论述
人工智能
GEO AI搜索优化助手12 分钟前
生态震荡——当“摘要”成为终点,知识价值链的重塑与博弈
人工智能·搜索引擎·生成式引擎优化·ai优化·geo搜索优化
IT_陈寒13 分钟前
JavaScript 性能优化:5个被低估的V8引擎技巧让你的代码提速50%
前端·人工智能·后端
哔哩哔哩技术17 分钟前
SABER: 模式切换的混合思考模型训练范式
人工智能
baby_hua19 分钟前
20251011_Pytorch从入门到精通
人工智能·pytorch·python
لا معنى له25 分钟前
学习笔记:循环神经网络(RNN)
人工智能·笔记·学习·机器学习
桜吹雪26 分钟前
DeepSeekV3.2模型内置Agent体验
javascript·人工智能
2501_9453184929 分钟前
2025年数字化转型:AI技能+CAIE认证夯实进阶根基
人工智能
今夕资源网30 分钟前
[AI工具]Infinite Talk数字人对口型图像转视频AI工具 支持无限时长视频生成
人工智能·数字人·视频生成·ai工具·infinite talk·对口型图像转视频·无限时长
咚咚王者38 分钟前
人工智能之数学基础 概率论与统计:第二章 核心定理
人工智能·概率论