opencv中的split函数

2023-11-08

split函数的功能是通道分离

原型

void split(const Mat& src,Mat *mvBegin)

void split(InputArray m, OutputArrayOfArrays mv);

用法很显然,第一个参数为要进行分离的图像矩阵,第二个参数可以是Mat数组的首地址,或者一个vector<Mat>对象


std::vector<Mat> channels;
Mat aChannels[3];
//src为要分离的Mat对象
split(src, aChannels);              //利用数组分离
split(src, channels);             //利用vector对象分离

imshow("B",channels[0]);
imshow("G",channels[1]);
imshow("R",channels[2]);

注意:opencv中,RGB三个通道是反过来的


很简单,但是有些小问题,我的环境是vs2015,opencv3.10,使用第二种方法时在debug模式下会发生运行时错误(xxx.exe已停止工作), 调成release就可以解决这个错误,网上还有一种说法是vector<Mat>没有分配内存空间导致的错误,经测试,在release下不分配初始空间也能正常运行。

纠正:是链接的库有问题,在debug下发生运行时错误是因为使用的库是名字末尾不带d的库,因此产生错误,只要将库正确链接就可以正常运行。opencv2如果出现有可能是同样的原因,应该使用名字末尾带d的库,也有可能是没有分配初始空间,而opencv3不用分配初始空间






可能有人会问为什么分离出的通道都是黑白灰,而不是红绿蓝。原因是分离后为单通道,相当于分离通道的同时把其他两个通道填充了相同的数值。比如红色通道,分离出红色通道的同时,绿色和蓝色被填充为和红色相同的数值,这样一来就只有黑白灰了。那么红色体现在哪呢?可以进行观察,会发现原图中颜色越接近红色的地方在红色通道越接近白色。

在纯红的地方在红色通道会出现纯白。

R值为255 -》RGB(255,255,255),为纯白

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

opencv中的split函数 的相关文章

  • HyperLPR车牌识别技术算法之车牌粗定位与训练

    关于HyperLPR HyperLPR是一个使用深度学习针对对中文车牌识别的实现 与较为流行的开源的EasyPR相比 它的检测速度和鲁棒性和多场景的适应性都要好于目前开源的EasyPR HyperLPR可以识别多种中文车牌包括白牌 新能源车
  • slowfast解读:facebook用于机器视觉分析视频理解的双模CNNk

    检测并归类图像中的物体是最广为人知的一个计算机视觉任务 随着ImageNet数据集挑战而更加流行 不过还有一个令人恼火的问题有待解决 视频理解 视频理解指的是对视频片段进行分析并进行解读 虽然有一些最新的进展 现代算法还远远达不到人类的理解
  • 机器视觉1

    以下无需要参考 gt 直接跳过到官方文件篇 资源 64位 下载地址 资源 下载地址 opencv4 6 https opencv org releases cmake https cmake org download ffmpeglibs
  • Ciclop开源3D扫描仪软件---Horus源码分析之src\horus\engine\calibration\moving_calibration.py

    联系方式 QQ 2468851091 call 18163325140 Email 2468851091 qq com coding utf 8 This file
  • Halcon-表面检测-----裂纹检测

    对应示例程序 detect mura defects blur hdev 目标 实例实现LCD上有很多污点干扰下 检测LCD的印痕检测 思路为 对LCD图像进行拆分 提取RGB三个分量 对B分量进行处理 将其转换为频域内图像 并对其进行高斯
  • 知乎上对 国内机器视觉行业的发展的 讨论-经典

    如何看待国内机器视觉行业的发展 希望以公司为例盘点 最近关注机器人领域 图像识别行业 感觉国内视觉公司对工业自动化方向更为关注 说说大家对于机器视觉行业发展的看法 以及给研发人员职业规划的建议 添加评论 分享 按投票排序 按时间排序 8 个
  • Ubuntu20.04编译安装opencv3.2和opencv_contrib-3.2

    图像特征提取中需要用到SIFT等算法 因此不得不安装从源码编译安装opencv contrib 网上有很多教程 但是在不同的环境下多少会出现一些错误 针对Ubuntu20 04 gcc 7环境下对opencv opencv contrib编
  • opencv图像处理(加法运算)

    加法运算 import os import re import cv2 cv2 imshow image img 显示 cv2 waitKey 10000 停留 cv2 destroyAllWindows 关闭 from PIL impor
  • 机器视觉介绍

    机 器 视 觉 介 绍 机器视觉介绍 机器视觉介绍 机器视觉检测系统任务 尺寸测量 条码识别 外观测量
  • Halcon三维模型预处理(1):调平的三大手法

    面结构光拍摄生成的点云模型 往往相对系统坐标系是有角度的 首先讲一下调平的目的 1 为接下来的预处理切除背景面做准备 3 不做调平 后续处理会很麻烦 因为不清楚坐标系在平台的为位置 2 对于无序抓取项目 平台相对相机可能是有角度的 将抓取平
  • 机器视觉之医学诊断应用

    https www toutiao com a6668252530897584644 随着药品和医疗器械安全性问题重要性的不断提升 越来越多的生产厂商将机器视觉技术引入实际生产中来 以达到提高生产效率 加强产品质量保障的目的 同样 在医疗系
  • OpenCV相机标定全过程

    一 OpenCV标定的几个常用函数 findChessboardCorners 棋盘格角点检测 bool findChessboardCorners InputArray image Size patternSize OutputArray
  • KCF论文技术路线

    https blog csdn net crazyice521 article details 53525366 http www cnblogs com YiXiaoZhou p 5925019 html 一 算法介绍 KCF全称为Ker
  • 机器视觉(十一):一维条码识别

    目录 机器视觉 一 概述 机器视觉 二 机器视觉硬件技术 机器视觉 三 摄像机标定技术 机器视觉 四 空域图像增强 机器视觉 五 机器视觉与世界杯 机器视觉 六 频域图像增强 机器视觉 七 图像分割 机器视觉 八 图像特征提取 机器视觉 九
  • 【python】将自定义常用的一些函数封装成可以直接调用的模块方法

    将常用一些的函数封装成可以直接调用的模块方法 1 背景 2 具体步骤 3 扩展 1 背景 在实际的操作过程中 经常会用到一个功能 如果每次编写代码的时候都进行重新编写或者打开已经编写好的函数进行复制粘贴 这样就显得很麻烦 有没有什么方法可以
  • Ciclop开源3D扫描仪软件---Horus源码分析之src\horus\engine\calibration\autocheck.py

    c 光明工作室 2017 2037 COPYRIGHT 光明工作室团队成员大部分来自全国著名985 211工程院校 具有丰富的工程实践经验 本工作室热忱欢迎大家的光临 工作室长期承接嵌入式开发 PCB设计 算法仿真等软硬件设计 1 基于C8
  • opencv中的merge函数

    文中例子已修改正确 具体原因见评论区 该函数用来合并通道 原型 版本一 void merge const Mat mv size t count OutputArray dst 第一个参数是图像矩阵数组 第二个参数是需要合并矩阵的个数 第三
  • CV 经典主干网络 (Backbone) 系列: CSP-Darknet53

    CSP Darknet53 0 引言 1 网络结构图 1 1 输入部分 1 2 CSP部分结构 1 3 输出部分 2 代码实现 2 1 代码整体实现 2 2 代码各个阶段实现 3 代码测试 4 结论 0 引言 CSP Darknet53无论
  • 图像加权运算

    import os import re import cv2 cv2 imshow image img 显示 cv2 waitKey 10000 停留 cv2 destroyAllWindows 关闭 from PIL import Ima
  • 螺纹检测案例-螺距测量-大径小径检测-螺牙检测

    齿轮检测分析 Gear inspection and analysis 螺纹结构及检测要素 1 大径 宽径 2 小径 窄径 3 中经 4 螺距 间距 5 螺牙高度 深度 VisionBank 软件螺纹检测工具 02 01 螺纹检测分析流程

随机推荐