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

相关推荐
泯泷几秒前
AI 该怎样"记笔记"?——四种记忆格式与认知科学(二)
人工智能·agent·ai编程
港股研究社9 分钟前
餐饮IPO冰封期,袁记食品的“供应链平台”启示
大数据·人工智能·物联网
重生之我是小技13 分钟前
2026 年 YouTube 与其他平台运营测评:流量、变现与内容生态全解析
大数据·人工智能
小蒋观天下15 分钟前
两轮车检测AI摄像头:场景分化下的行业竞争与卡位机遇
人工智能·安全·计算机视觉·语音识别·ai大模型
无忧智库18 分钟前
做AI短剧的工具有哪些?按环节拆分工具链与提示词准备方法
人工智能
小宋102127 分钟前
SQL + RAG 混合问答实战:结构化指标与文档证据如何统一路由
java·jvm·人工智能·sql
Tartly37 分钟前
本地跑大模型,数据不用出内网|NUC 16 Pro
大数据·人工智能
小朱爱编程1231 小时前
当 AI 开始研发下一代 AI:“智能爆炸”离我们还有多远?
人工智能·深度学习
每周报刊1 小时前
智能手表健康监测实测:心率、血氧数据靠谱吗?
人工智能·智能手表