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

相关推荐
Rorsion2 分钟前
机器学习基本步骤与模型优化思路
人工智能·机器学习
所谓伊人,在水一方3334 分钟前
【机器学习精通】第3章 | 正则化与泛化:防止过拟合的理论与实践
开发语言·人工智能·机器学习·信息可视化·系统架构
沃达德软件4 分钟前
视频监控烟火识别技术
图像处理·人工智能·目标检测·计算机视觉·目标跟踪·视觉检测·超分辨率重建
TMT星球5 分钟前
火星人携双白皮书亮相AWE 2026,定义厨房空间重构新坐标
大数据·人工智能·重构
坚持学习前端日记5 分钟前
Agent AI 后端接口对接与大模型适配指南
前端·人工智能·python·ios
SEO_juper5 分钟前
AI时代的SEO重构:从搜索排名到AI可见度的底层逻辑变革
人工智能·ai·chatgpt·重构·seo·数字营销·2026
不懒不懒6 分钟前
【Opencv计算机视觉-模版匹配】
人工智能·opencv·计算机视觉
十五年专注C++开发7 分钟前
dlib: 一个跨平台的 C++ 机器学习 / 数值计算库
c++·人工智能·python·机器学习
坚持学习前端日记8 分钟前
Agent AI 多模态交互与全场景架构设计
前端·javascript·人工智能·visual studio
爱搜光年医疗GEO8 分钟前
爱搜光年医疗GEO系统架构技术讨论:RAG消费医疗场景下的抗干扰语义近邻过滤机制
人工智能·ai搜索优化·geo优化·医疗geo·医疗行业geo·爱搜光年