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

相关推荐
程序员小白条2 分钟前
AI 编程辅助,从入门到真香
java·开发语言·数据库·人工智能·面试·职场和发展
SKY -dada4 分钟前
【无标题】
人工智能·chatgpt·能源·双向赋能
code_pgf5 分钟前
SAM在机器人融合感知的泛化应用
人工智能·计算机视觉·机器人
MATLAB代码顾问6 分钟前
【深度学习】Vision Transformer (ViT) 详解:从原理到实践
人工智能·深度学习·transformer
fuquxiaoguang6 分钟前
0.8W跑10B模型:端侧AI的“寒武纪爆发“与中间件的轻量进化
人工智能·中间件·端侧ai
XMAIPC_Robot8 分钟前
基于RK3588 高算力,小尺寸,轻重量6T算力无人机AI模块,可接两路同步相机模组
运维·人工智能·深度学习·fpga开发·无人机·边缘计算
SuperHeroWu79 分钟前
【AI大模型】Self-Attention:为什么它能取代 RNN 解决长距离依赖?
人工智能·rnn·深度学习·循环神经网络·自注意力机制·self-attention
安吉升科技9 分钟前
餐厅/食堂双目客流统计智能计数摄像头,准确率高吗?
计算机视觉
数信云 DCloud10 分钟前
人工智能安全观察:漫谈与AI新物种相处之道
人工智能·安全·ai·智能体
朝新_11 分钟前
【LangChain】少样本提示(few-shorting) 掌握 Few-Shot 提示,让大模型按你的规则输出
java·人工智能·langchain