rgb图像_rgb图像阈值 - CSDN
精华内容
参与话题
  • RGB图像三个分量的理解和显示

    万次阅读 2019-04-28 21:42:36
    RGB图像由格式为M×N×3的三维数组组成,其中的“3”可以理解为三幅M×N的二维图像(灰度值图像)。这三幅图像分别代表R、G、B分量,每个分量的取值范围是[0,255]。 (三维数组的构建、) 有两种方法可以将RGB...

    RGB图像由格式为M×N×3的三维数组组成,其中的“3”可以理解为三幅M×N的二维图像(灰度值图像)。这三幅图像分别代表R、G、B分量,每个分量的像素点取值范围是[0,255]。

    有两种方法可以将RGB图像的三个分量分别显示出来,但显示效果不一样:

    • 灰度值显示法
      该方法比较简单,通过提取R、G、B分量,再分别显示出来,matlab代码如下:
    clc;
    clean all;
    RGB = imread('baby.bmp');
    subplot(2,2,1),imshow(RGB(:,:,1)),title('R分量');
    subplot(2,2,2),imshow(RGB(:,:,2)),title('G分量');
    subplot(2,2,3),imshow(RGB(:,:,3)),title('B分量');
    subplot(2,2,4),imshow(RGB),title('RGB');
    

    显示结果
    在这里插入图片描述

    • 彩色显示法

    只有当RGB的三个通道同时被赋值时才会显示颜色,如R分量显示出红色,matlab代码如下:

    clc;
    clear all;
    
    RGB = imread('baby.bmp');
    zeromatrix = zeros(512, 512); %创建一个512×512的零矩阵
    RGB_R = cat(3, RGB (:,:,1), zeromatrix , zeromatrix );
    RGB_G = cat(3, zeromatrix , RGB (:,:,2), zeromatrix );
    RGB_B = cat(3, zeromatrix , zeromatrix, RGB (:,:,3));
    
    subplot(2,2,1),imshow(RGB_R ),title('R分量');
    subplot(2,2,2),imshow(RGB_G),title('G分量');
    subplot(2,2,3),imshow(RGB_B),title('B分量');
    subplot(2,2,4),imshow(RGB),title('RGB');
    

    显示结果
    在这里插入图片描述
    补充说明上述用到的个别函数:

    • zeros函数
      表达式1:zeros(m, n),表示创建一个m×n的零矩阵;
      表达式2:zeros(n),表示创建一个n×n的零矩阵;
      相对于零矩阵,ones函数表示创建一个全1矩阵,用法和上述函数类似。
    • cat函数——联结数组
      通用表达式:cat(dim, A, B, …);
      用cat(num, A, B)作为具体例子进行说明(num=1,2,3),设A=[1 2;3 4],B=[4 5; 6 7]
      A =
      1 2
      3 4
      B =
      4 5
      6 7
      A_1 = cat(1, A, B):A和B按列连接
      A_1 =
      1 2
      3 4
      4 5
      6 7
      A_2 = cat(2, A, B):A和B按行连接
      A_2 =
      1 2 4 5
      3 4 6 7
      A_3 = cat(3, A, B):RGB图像显示分量的matlab代码用到这种用法
      A_3(:, :, 1) =
      1 2
      3 4
      A_3(:, :, 2) =
      4 5
      6 7
    • 待继续补充

    参考博客

    https://blog.csdn.net/rzwangyu/article/details/50981762

    展开全文
  • 100张.rgb格式图片

    2020-07-30 23:33:24
    学习rgb格式图片转其他格式图片的过程中,苦于找不到.rgb格式的图片,所以自己在网上下了100张jpg图片,把他们转成了rgb格式。转换代码晚些贴出来,这里先传上来,希望能帮助到一些同学。图片命名为类似1_500x352....
  • RGB图像浅谈

    千次阅读 2019-04-27 14:45:37
    RGB图像直观感受 ** 好吧,本来呢今天是打算完善上一个博客的,也就是人脸追踪云台(树莓派实现),结果发现U盘没带,哦豁,那就只能改天了… 嗯,正好今天给学弟学妹们讲了一下RGB图像,以及分辨率,解析度等,那么就...

    **
    RGB图像直观感受
    **
    好吧,本来呢今天是打算完善上一个博客的,也就是人脸追踪云台(树莓派实现),结果发现U盘没带,哦豁,那就只能改天了…
    嗯,正好今天给学弟学妹们讲了一下RGB图像,以及分辨率,解析度等,那么就发一个博客,做个记录吧。
    嗯,首先,先把图上上来RGB图像大致数组构成直观化感受
    上图就是一个RGB图像了,可以看到,他就是一个17173的数组,第一个17指的是他的宽17(x或者weight),第二个17指的是他的高是17(y或者height),第三个3指的是他有三个通道,也就是R,G,B三个通道,值得注意的是,opencv里面R通道和G通道是反的,需要转换一下(然后有的图像是四通道,携带图像的深度信息,opencv也可以直接读取出来,一般都是三通道图)。

    然后,再来说一下分辨率(就可以理解成像素点多少),如上图就是一个17*17分辨率的图像,那么相信你们对于分辨率已经了解,那么辨析度呢,辨析度按照我的理解来说,也可以理解成分辨率,但是他是一定范围大小的图像中的分辨率,也就是说辨析度就是单位平方米或者说单位平方厘米内的分辨率大小。

    展开全文
  • 归一化RGB图像

    千次阅读 2011-10-06 18:34:11
    通过对图像RGB色彩空间进行归一化处理,在某些情况下是去除光照和阴影影响的一种简单和有效的方法。 假设RGB代表原图像某点的像素值,rgb表示归一化之后的值,则 r = R / (R+G+B);g = G / (R+G+B);b = B / (R+...

    通过对图像的RGB色彩空间进行归一化处理,在某些情况下是去除光照和阴影影响的一种简单和有效的方法。

    假设RGB代表原图像某点的像素值,rgb表示归一化之后的值,则

    r = R / (R+G+B);g = G / (R+G+B);b = B / (R+G+B);

     

    实现归一化RGB的方法如下:

    // 对输入的原始RGB图像获取对应的归一化图像

    IplImage* NormalizeImage(IplImage *img)

    {

    1、创建归一化的图像;

    IplImage* imgavg = cvCreateImage(cvGetSize(img), 8, 3);

    2、获取图像高度和宽度信息,设置epslon的目的是防止除0的操作产生;

    int width = img->width;int height = img->height;int redValue, greenValue, blueValue;double sum, epslon = 0.000001;

    3、计算归一化的结果,并替换掉原像素值;

    for (int y = 0; y < height; y++) {for (int x = 0; x < width; x++) {

    CvScalar src = cvGet2D(img, y, x);redValue = src.val[0];greenValue = src.val[1];blueValue = src.val[2];// 加上epslon,为了防止除以0的情况发生 sum = redValue + greenValue + blueValue + epslon;CvScalar des = cvScalar(redValue / sum * 255, greenValue / sum * 255, blueValue / sum * 255, src.val[4]);cvSet2D(imgavg, y, x, des);

    }}     

    4、返回归一化后的图像;

    return imgavg;

    }

     

    注意:归一化之后的图像仅使用两个字节便可以表示一个像素值,

    r = R/(R+G+B)

    g = G/(R+G+B)
    b = B/(R+G+B)

    b可以表示为:b = 1-R’-G’

    物理上,这种变换方式从图像上移除了光照的信息。

    展开全文
  • 1. 索引图像  索引图像包括一个数据矩阵X和一个颜色映射(调色板)矩阵map。  数据矩阵X可以有uint8,uint16或double类型的。颜色映射矩阵map是一个N*3的数据阵列,其中每个元素都是位于[0,1]之间的double类型。...

    1. 索引图像

               索引图像包括一个数据矩阵X和一个颜色映射(调色板)矩阵map。

               数据矩阵X可以有uint8,uint16或double类型的。颜色映射矩阵map是一个N*3的数据阵列,其中每个元素都是位于[0,1]之间的double类型。map矩阵每一行有3列,分别表示红色(R),绿色(G)和蓝色(B)。每个像素的颜色通过X中的颜色值作为map中的下标来获取,即X中的元素:1指向map中的第一行所有元素,10指向map中的第十行所有元素。 i指向map中的第i行所有元素。

    2.RGB图像

               RGB图像又称真彩图像,它利用R、G、B三个分量来表示一个颜色,通过RGB三种基本颜色可以组合出任意颜色。对一个大小为M*N的真彩图像来说,在Matlab中的存储为一个M*N*3的矩阵,其中三颜色分量存储在矩阵的第三维中。

    3.灰度图像

               灰度图像一般由uint8、uint16或double类型的数组来描述,其实质就是一个数据矩阵。该矩阵中的每一个元素值表示了一个像素点。通常0表示黑色,uint8中的255,uint16中的65535,double中的1表示白色(大于相对应类型的值也表示白色)。

    4.二值图像

                是指在在图像中,灰度等级只有两种,即要么是0要么是1,没有其他任何中间过渡的灰度值。其中0代表黑色,1代表白色。二值图像一般用来描述文字或者图形,其优点是占用空间少;缺点是当描述人物或者风景时,只能描述其轮廓,不能描述细节。

     

    展开全文
  • RGB-D深度图像介绍RGBD

    万次阅读 多人点赞 2018-06-23 11:02:08
    RGBD = RGB + Depth MapRGBRGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准...
  • RGB图像之灰度级和通道的理解

    万次阅读 多人点赞 2019-09-14 17:58:08
    最近刚开始学数字图像处理,在看到灰度级时候以为灰度只是表示黑白/...在彩色图像/RGB图像中,图像是一个三维矩阵,如400*300*3,其中400表示列数,300表述行数,3代表三个分量,也就是R,G,B。 每一层矩阵(400*300*1
  • RGB 图像rgbcube)

    千次阅读 2019-07-11 23:21:57
    标题
  • 什么是RGB-D图像

    万次阅读 2017-11-21 22:46:42
    RGB-D图像其实是两幅图像:一个是普通的RGB三通道彩色图像,另一个是Depth图像。Depth图像类似于灰度图像,只是...通常RGB图像和Depth图像是配准的,因而像素点之间具有一对一的对应关系。 可以参考: Lai, K.; Bo,
  • 怎样将图像转换为RGB图像模式

    千次阅读 2012-03-19 19:28:20
    有时在操作时,出现提示:先将图像转换为RGB图像模式再编辑,步骤如下: 在“图像”里选择“模式”,然后再选择"RGB颜色",如图: 之后再进行编辑,就没问题了。
  • MATLAB中RGB图像转HSI图像的源代码 并分别对HSI中3个分量(H/S/I)进行图像分割 给我,能运行的M文件 在线等,急急急急急!!!!!!!!!!!
  • RGB-D(深度图像) & 图像深度

    万次阅读 多人点赞 2018-02-05 08:39:15
    RGB-D(深度图像)   深度图像 = 普通的RGB三通道彩色图像 + Depth Map   在3D计算机图形中,Depth Map(深度图)是包含与视点的场景...通常RGB图像和Depth图像是配准的,因而像素点之间具有一对一的对应关系
  • matlab中将RGB图像转化为灰度图像

    万次阅读 2018-11-06 15:13:04
    %读取RGB格式的图像 MyFirstGrayPic = rgb2gray(MyYuanLaiPic);%用已有的函数进行RGB到灰度图像的转换 [rows , cols , colors] = size(MyYuanLaiPic);%得到原来图像的矩阵的参数 MidGr...
  • matlab中 rgb2gray() 函数 具体实现

    万次阅读 2018-06-03 20:13:46
    简介 rgb2gray是matlab内部一种处理图像的函数,通过消除图像色调和饱和度信息同时保留亮度实现将将RGB图像或彩色图转换为灰度图像,即灰度化处理的功能,调用这个功能的格式是I = rgb2gray(RGB),意思是将真彩色...
  • 图像处理之灰色图转化为RGB图像

    万次阅读 热门讨论 2017-09-04 10:31:52
    一般情况下我们都是将RGB图像转化为灰色图,很少将灰色图又转化为RGB图像。如果有所需求,将灰色图转化为RGB图像,但是,又发现网上很少有这方面的解答,一下子就会觉得无从下手。我使用opencv-python来解决这个问题...
  • 1.将RGB图像转换为灰度图像: from PIL import Image I = Image.open('F:\\pycharm\\picture_format\\data\\lena.jpg') I.show() L = I.convert('L') L.show() 输出图像结果图为: 2.将RGB图像转换为1...
  • RGB图像转换为灰度图像的原理

    千次阅读 2019-06-21 08:52:41
    RGB彩色图像中,一种彩色由R(红色),G(绿色),B(蓝色)三原色按比例混合而成。 图像的基本单元是一个像素,一个像素需要3块表示,分别代表R,G,B,如果8为表示一个颜色,就由0-255区分不同亮度的某种原色。 ...
  • 如何把灰度图变为rgb图像

    万次阅读 2019-02-07 09:27:32
    rgb图像化为灰度图是很容易的,matlab具有自带函数。 灰度图化为rgb图像:Google所得到的参考答案: https://www.mathworks.com/matlabcentral/answers/377407-how-to-convert-grayscale-to-rgb ...
  • opencv中有一个非常实用的函数: mixChannels 具体用法可以百度: 代码: #include #include #include using namespace std; using namespace cv; int main() { Mat img; img = imread("timg.jpg");...
  • clc clear all close all F=imread('lennacolor.png'); zero=zeros(512,512); subplot(2,2,1),imshow(cat(3,F(:,:,1),zero,zero)),title('红色分量');...subplot(2,2,2),imshow(cat(3,zero,F(:,:,2),zero)),title('...
1 2 3 4 5 ... 20
收藏数 144,015
精华内容 57,606
关键字:

rgb图像