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

相关推荐
2501_9414043129 分钟前
绿色科技与可持续发展:科技如何推动环境保护与资源管理
大数据·人工智能
希露菲叶特格雷拉特38 分钟前
PyTorch深度学习进阶(四)(数据增广)
人工智能·pytorch·深度学习
强盛小灵通专卖员1 小时前
基于RT-DETR的电力设备过热故障红外图像检测
人工智能·目标检测·sci·研究生·小论文·大论文·延毕
倔强青铜三1 小时前
AI编程革命:React + shadcn/ui 将终结前端框架之战
前端·人工智能·ai编程
sali-tec1 小时前
C# 基于halcon的视觉工作流-章62 点云采样
开发语言·图像处理·人工智能·算法·计算机视觉
EAIReport1 小时前
通过数据分析自动化产品实现AI生成PPT的完整流程
人工智能·数据分析·自动化
swanwei1 小时前
量子科技对核心产业的颠覆性影响及落地时间表(全文2500字)
大数据·网络·人工智能·程序人生·量子计算
AKAMAI1 小时前
从 Cloudflare 服务中断,看建立多维度风险应对机制的必要
人工智能·云原生·云计算
道可云2 小时前
道可云人工智能每日资讯|2025青岛虚拟现实创新大会即将举行
人工智能·vr
酷雷曼VR全景2 小时前
身边的变化丨从“尝鲜”到“刚需”,VR全景让生活“立体化”
人工智能·生活·vr·vr全景·酷雷曼·合作商