opencv 和 matlab 在处理彩色图像的时候,通道的存储顺序是不同的。

matlab 的排列顺序是R,G,B; 而在opencv中,排列顺序是B,G,R。

下面通过一个小程序看看opencv中的三个通道。

// PS_Algorithm.h

#ifndef PS_ALGORITHM_H_INCLUDED
#define PS_ALGORITHM_H_INCLUDED

#include <iostream>
#include <string>
#include "cv.h"
#include "highgui.h"
#include "cxmat.hpp"
#include "cxcore.hpp"

using namespace std;
using namespace cv;

#endif // PS_ALGORITHM_H_INCLUDED

// Public_Function.h

#ifndef PUBLIC_FUNCTION_H_INCLUDED
#define PUBLIC_FUNCTION_H_INCLUDED

#include <iostream>
#include <string>
#include "cv.h"
#include "highgui.h"
#include "cxmat.hpp"
#include "cxcore.hpp"

using namespace std;
using namespace cv;

void Show_Image(Mat&, const string &);
void Save_Image(Mat&, const string &);

#endif // PUBLIC_FUNCTION_H_INCLUDED

/*
The program will Divides multi-channel array
into several single-channel arrays.
We can get the single-channel from a multi-channel
image.
*/

#include "PS_Algorithm.h"
#include "Public_Function.h"
using namespace std;
using namespace cv;

int main()
{
    string Img_name("4.jpg");
    Mat Image_in;
    Image_in=imread(Img_name);
    Show_Image(Image_in, Img_name);

// convert the type of the image.
    // from the uchar to the float.
    Mat Image_2(Image_in.size(), CV_32FC3);
    Image_in.convertTo( Image_2, CV_32FC3);

Mat r(Image_in.rows, Image_in.cols, CV_32FC1);
    Mat g(Image_in.rows, Image_in.cols, CV_32FC1);
    Mat b(Image_in.rows, Image_in.cols, CV_32FC1);

Mat out[]={b,g,r};
    split(Image_2, out);

// 三个通道的顺序是 b,g,r.
    b=out[0]/255;
    g=out[1]/255;
    r=out[2]/255;

Show_Image(g, "g");
 
    waitKey();
}

原图

R 通道

G 通道

B 通道

转载于:https://www.cnblogs.com/mtcnn/p/9412680.html

OpenCV——RGB三通道分离相关推荐

  1. opencv RGB三通道分离

    如果我们想分离出每个通道的具体值,并且可以演示看出分离的是"红""绿""蓝"的效果.可以用如下函数: 1.C接口程序: IplImage* ...

  2. 【Opencv入门】RGB三通道直方图的计算与绘制

    文章目录 一. 直方图概述 Overview of histogram 二.直方图的建立 Establishment of histogram 三.直方图的作用 The function of his ...

  3. 彩色图像RGB三通道问题探究

    之前做图像问题研究时经常会提到RGB通道,这次做一个小研究,对最底层的东西深究一二-- 直接上全部代码吧,一点点来: # -*- coding: utf-8 -*- import cv2 img=cv ...

  4. BMP位图转为RGB三通道图

    文章目录 读取BMP位图转为RGB三通道图 注意 相关/参考链接 本人机器开发环境 用到的图像 大小端模式介绍: 完整代码: 结果 读取BMP位图转为RGB三通道图 个人总结,目的是给自己日后参考,或 ...

  5. PIL将png的RGBA四通道改为jpg的RGB三通道方法

    将一张png图像使用PIL读入的时候,发现是一个四通道图像,即:RGBA,分别代表Red(红色)Green(绿色)Blue(蓝色)和Alpha的色彩空间.其中Alpha通道一般用做透明度参数,这就是为 ...

  6. 提取图片RGB三通道数据+用RGB恢复原始图片

    提取图片的RGB三通道数据+用RGB恢复原始图片 提取图片的RGB三通道数据 用RGB恢复原始图片 功能实现: 提取出一张图片的R.G.B三个通道的值并且将其分别转换为十进制数据存储到R.txt.G. ...

  7. tensorflow RGB三通道图转换为灰度图

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Blue_Ghost_/article/details/81977987 </div>&l ...

  8. 带alpha通道四通道的图片转成rgb三通道

    查看第四通道数值范围,若最大值为255,则归一化到1,再与前三通道相乘,得到叠加透明度的结果

  9. 将三张灰度图转换为RGB三通道图片python

    import cv2 import numpy as np from PIL import Image import matplotlib.pyplot as plt #使用cv2读取图片 img = ...

最新文章

  1. Android Studio 引入aar文件
  2. django -- url 的 name 属性
  3. ASP.NET Core EFCore 之Code First
  4. VTK修炼之道2_VTK体系结构1
  5. Python module模块 包 __name__
  6. 【VLC-Android】vlc-android简例
  7. Android中给按钮同时设置背景和圆角示例代码
  8. 列运算_DAX表操作基础第二招:增加列
  9. HTML5拖放API(代码展示)
  10. Java是否存在内存泄露
  11. pr视频剪辑中工具栏功能详解
  12. linux常见通配符的含义,linux通配符含义
  13. 【OpenCV】-重映射
  14. 慧极必伤,情深不寿,强极则辱;谦谦君子,温润如玉
  15. C语言之负数的左移/右移运算
  16. 用计算机算四分位数间距,数据不满足正态分布——如何计算中位数(四分位数间距)...
  17. 【55种开源数据可视化工具简介】
  18. 软件补丁制作工具箱 v 1.0
  19. html5取消下拉菜单,Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)...
  20. inno setup 更改安装路径学习

热门文章

  1. linux文件中链接文件系统,一种基于Linux文件系统文件链接的缓存LRU方法
  2. 打开浏览器不是主页_网络没问题但是浏览器打开主页却显示网络连接错误
  3. centos 如何登陆mysql_[CentOS 0010] CentOS 配置mysql允许远程登录
  4. 开发日记-20190522 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》
  5. 启用Gzip压缩(IIS)提高客户端网站访问速度
  6. 记一次CPU占用率和load高的排查
  7. Failed to read artifact descriptor for xxx:jar:版本号
  8. sping配置文件中引入properties文件方式
  9. Android查询数据库问题
  10. 《JavaScript高级程序设计》阅读笔记(二十一):JavaScript中的XML