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

相关推荐
木卫四科技1 分钟前
Chonkie 技术深度学习
人工智能·python·rag
努力毕业的小土博^_^7 分钟前
【地学应用】溜砂坡scree slope / talus slope的定义、机制、分布、危害、与滑坡区别、研究方向与代表论文
人工智能·深度学习·遥感·地质灾害·地学应用
JeffDingAI7 分钟前
【Datawhale学习笔记】基于Gensim的词向量实战
人工智能·笔记·学习
Ryan老房7 分钟前
自动驾驶数据标注-L4-L5级别的数据挑战
人工智能·目标检测·目标跟踪·自动驾驶
weixin_3981877519 分钟前
YOLOv8结合SCI低光照图像增强算法实现夜晚目标检测
人工智能·yolo
万行28 分钟前
机器人系统ROS2
人工智能·python·机器学习·机器人·计算机组成原理
人工智能AI技术30 分钟前
【Agent从入门到实践】05 小结:理清Agent的核心定义与核心能力
人工智能
落雨盛夏32 分钟前
26深度学习|李哥1
人工智能·深度学习
共绩算力32 分钟前
世界模型正在掀起AI新浪潮
人工智能·microsoft·共绩算力
2501_9413220339 分钟前
【蚕桑业】【深度学习】基于VFNet的蚕虫智能检测与识别系统实现与应用
人工智能·深度学习