精华内容
下载资源
问答
  • 从人眼的视觉特性角度出发,在CIE国际颜色标准系统和孟塞尔系统基础上,提出了一种适用于彩色图像处理的色空间转换模式,并利用此方法对医用...实践证明该方法不失为一种具有实用意义的彩色空间变换及图像处理方法。
  • 彩色空间转换

    2017-05-23 10:34:58
    彩色空间转换
  • 提出将Lab 彩色空间应用到二维OSTU 算法中,首先将色彩图像从RGB 空间转到Lab 空间, 然后联合利用L 通道、a 通道、b 通道图像信息进行粗分割,最后针对其中某个通道的图像信息进行二维OSTU 细分割。 通过试验...
  • 与设备无关的彩色空间

    千次阅读 2019-07-18 18:22:29
    文章目录一、CIE 和 sRGB彩色空间转换二、ICC 彩色剖面 CIE Lab 彩色空间:是在色彩科学、创造艺术和诸如打印机、摄像机和扫描仪之类的彩色设备的设计中广泛应用的彩色空间 优点: Lab 更清楚的分离了彩色信息(用 a...


    CIE Lab 彩色空间:是在色彩科学、创造艺术和诸如打印机、摄像机和扫描仪之类的彩色设备的设计中广泛应用的彩色空间
    优点
    L ab 更清楚的分离了彩色信息(用 a 值和b值表示)和灰度信息(完全用L 值表示)
    设计了 L
    a*b 彩色,以便该空间中的欧氏距离很好地对应于彩色间的感知差。

    SRGB彩色空间:与设备无关,因此可以很容易转换到其他设备无关彩色空间

    一、CIE 和 sRGB彩色空间转换

    工具箱函数 makecform 和 applycform 可用于在几个设备无关彩色空间之间进行转换
    函数 makecform 创建了一个 cform结构,类似于maketform 创建一个tform结构的方式
    语法:cform = makecform(type)
    其中,type 是下表所示的字符串之一

    展开全文
  • 图像处理(1)--数字图像及彩色空间

    千次阅读 多人点赞 2019-07-04 21:02:49
    目录1. 数字图像 像素:数字图像由二维的元素组成,每一个元素具有一个特定的位置(x,y)和幅值f(x,y),...彩色图像:用红、绿、蓝三元组的二维矩阵来表示。三元组的每个数值也是在0-255之间,0表示相应的基...


    图像处理系列笔记: https://blog.csdn.net/qq_33208851/article/details/95335809


    像素:数字图像由二维的元素组成,每一个元素具有一个特定的位置(x,y)和幅值f(x,y),这些元素就称为像素。它是数字图像的基本单位。


    1. 数字图像

    • 单色(灰度)图像:每个像素的亮度用一个数值来表示,取值范围0-255,0表示黑、255表示白,其他值表示处于黑白之间的灰度
    • 彩色图像:用红、绿、蓝三元组的二维矩阵来表示。三元组的每个数值也是在0-255之间,0表示相应的基色在该像素中没有,而255表示相应的基色在该像素中取得最大值

    2. 彩色空间

    2.1 RGB

    RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。红R、绿G、蓝B三种颜色的强度值均是0-255,则三种光混合在每个像素可以组成16777216(256256256)种不同的颜色。256级的RGB色彩也被简称为1600万色或千万色,或称为24位色(2的24次方)。
    RGB格式
    对一种颜色进行编码的方法统称为“颜色空间”或“色域”。用最简单的话说,世界上任何一种颜色的“颜色空间”都可定义成一个固定的数字或变量。RGB(红、绿、蓝)只是众多颜色空间的一种。采用这种编码方法,每种颜色都可用三个变量来表示-红色绿色以及蓝色的强度。记录及显示彩色图像时,RGB是最常见的一种方案。但是,它缺乏与早期黑白显示系统的良好兼容性。因此,许多电子电器厂商普遍采用的做法是,将RGB转换成YUV颜色空间,以维持兼容,再根据需要换回RGB格式,以便在电脑显示器上显示彩色图形。

    • 网页格式
      网页颜色由16进制代码表示,一般格式为#DEFABC (字母范围从A-F,数字从0-9 );如黑色,在网页代码中便是:#000000(在css编写中可简写为#000)。当颜色代码为#AABB11时,可以简写为#AB1表示,如#135与#113355表示同样的颜色。
      RGB1、RGB4、RGB8都是调色板类型的RGB格式,在描述这些媒体类型的格式细节时,通常会在BITMAPINFOHEADER数据结构后面跟着一个调色板(定义一系列颜色)。它们的图像数据并不是真正的颜色值,而是当前像素颜色值在调色板中的索引。以RGB1(2色位图)为例,比如它的调色板中定义的两种颜色值依次为0x000000(黑色)和0xFFFFFF(白色)…(每个像素用1位表示)表示对应各像素的颜色为:黑黑白白黑白黑白黑白白白…。
    • RGB555
      RGB555是另一种16位的RGB格式,RGB分量都用5位表示(剩下的1位不用)。使用一个字读出一个像素后,这个字的各个位意义如下:
      高字节 低字节
      X R R R R R G G G G G B B B B B (X表示不用,可以忽略)
    • RGB565
      RGB565使用16位表示一个像素,这16位中的5位用于R,6位用于G,5位用于B。程序中通常使用一个字(WORD,一个字等于两个字节,一个字节等于八位)来操作一个像素。当读出一个像素后,这个字的各个位意义如下:
      高字节 低字节
      R R R R R G G G G G G B B B B B
    • RGB24
      RGB24使用24位来表示一个像素,RGB分量都用8位表示,取值范围为0-255。注意在内存中RGB各分量的排列顺序为:
      BGR BGR BGR…
      通常可以使用RGBTRIPLE数据结构来操作一个像素,它的定义为:
      typedef struct tagRGBTRIPLE {
      BYTE rgbtBlue; // 蓝色分量
      BYTE rgbtGreen; // 绿色分量
      BYTE rgbtRed; // 红色分量
      } RGBTRIPLE;
    • RGB32
      RGB32使用32位来表示一个像素,RGB分量各用去8位,剩下的8位用作Alpha通道或者不用。(ARGB32就是带Alpha通道的RGB24。)注意在内存中RGB各分量的排列顺序为:
      BGRA BGRA BGRA…
      通常可以使用RGBQUAD数据结构来操作一个像素,它的定义为:
      typedef struct tagRGBQUAD {
      BYTE rgbBlue; // 蓝色分量
      BYTE rgbGreen; // 绿色分量
      BYTE rgbRed; // 红色分量
      BYTE rgbReserved; // 保留字节(用作Alpha通道或忽略)
      } RGBQUAD

    2.2 CMY和CMYK

    CMY是青(Cyan)、洋红或品红(Magenta)和黄(Yellow)三种颜色的简写,是相减混色模式,用这种方法产生的颜色之所以称为相减色,乃是因为它减少了为视觉系统识别颜色所需要的反射光。
    和RGB的区别
    RGB是红(Red)、绿(Green)和蓝(Blue)三种颜色的简写,是相加混色模式,每种颜色分量越多,得到的颜色越亮,每种颜色的取值范围为0~255;RGB常用于计算机显示方面。
    由于彩色墨水和颜料的化学特性,用三种基本色得到的黑色不是纯黑色,因此在印刷术中,常常加一种真正的黑色(black ink),这种模型称为CMYK模型,广泛应用于印刷术。每种颜色分量的取值范围为0~100CMY常用于纸张彩色打印方面。
    和RGB的转换
    转换公式为:

    C=255-R
    M=255-G
    Y=255-B

    该方程证明了从一个涂满纯净青色颜料的表面反射回的光不包含红色(纯净的青色255,则R=0)。同样,纯净的品红色不反射绿色,纯净的黄色不反射蓝色。前述的方程同样表明,从255减去单个CMY值,可以得到RGB值。

    2.3 HSI

    HSI是指一个数字图像的模型,它反映了人的视觉系统感知彩色的方式,以色调、饱和度和亮度三种基本特征量来感知颜色。
    HSI模型的建立基于两个重要的事实:
    第一个,分量与图像的彩色信息无关;
    第二个,H和S分量与人感受颜色的方式是紧密相联的。这些特点使得HSI模型非常适合彩色特性检测与分析。
    颜色模型
    在这里插入图片描述
    色调H(Hue):与光波的波长有关,它表示人的感官对不同颜色的感受,如红色、绿色、蓝色等,它也可表示一定范围的颜色,如暖色、冷色等。
    饱和度S(Saturation):表示颜色的纯度,纯光谱色是完全饱和的,加入白光会稀释饱和度。饱和度越大,颜色看起来就会越鲜艳,反之亦然。
    亮度I(Intensity):对应成像亮度和图像灰度,是颜色的明亮程度。
    若将RGB单位立方体沿主对角线进行投影,可得到六边形,这样,原来沿主对角线的灰色都投影到中心白色点,而红色点(1,0,0)则位于右边的角上,绿色点(0,1,0)位于左上角,蓝色点(0,0,1)则位于左下角。
    HSI颜色模型的双六棱锥表示,I是强度轴,色调H的角度范围为[0,2π],其中,纯红色的角度为0,纯绿色的角度为2π/3,纯蓝色的角度为4π/3。饱和度S是颜色空间任一点距I轴的距离。当然,若用圆表示RGB模型的投影,则HSI色度空间为双圆锥3D表示。
    注意: 当强度I=0时,色调H、饱和度S无定义;当S=0时,色调H无定义
    和RGB的转换
    在这里插入图片描述
    在这里插入图片描述

    2.4 YIQ

    Y是亮度信号(Luminance),即亮度(Brightness),I代表In-phase,色彩从橙色到青色,Q代表Quadrature-phase,色彩从紫色到黄绿色。
    较其他颜色空间,YIQ颜色空间具有能将图像中的亮度分量分离提取出来的优点,并且YIQ颜色空间与RGB颜色空间之间是线性变换的关系,计算量小,聚类特性也比较好,可以适应光照强度不断变化的场合,因此能够有效地用于彩色图像处理。可用于在自然条件下采集到的复杂背景下的运动目标的识别。
    和RGB的转换
    在这里插入图片描述

    2.5 YUV

    YUV,是一种颜色编码方法。常使用在各个视频处理组件中。 YUV在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽。
    YUV是编译true-color颜色空间(color space)的种类,Y’UV, YUV, YCbCr,YPbPr等专有名词都可以称为YUV,彼此有重叠。“Y”表示明亮度(Luminance、Luma),“U”和“V”则是色度、饱和度(Chrominance、Chroma)。
    和RGB的转换
    在这里插入图片描述

    2.6 YCbCr

    YCbCr其中Y是指亮度分量,Cb指蓝色色度分量,而Cr指红色色度分量。人的肉眼对视频的Y分量更敏感,因此在通过对色度分量进行子采样来减少色度分量后,肉眼将察觉不到的图像质量的变化。主要的子采样格式有 YCbCr 4:2:0、YCbCr 4:2:2 和 YCbCr 4:4:4。
    4:2:0表示每4个像素有4个亮度分量,2个色度分量 (YYYYCbCr),仅采样奇数扫描线,是便携式视频设备(MPEG-4)以及电视会议(H.263)最常用格式;4:2:2表示每4个像素有4个亮度分量,4个色度分量(YYYYCbCrCbCr),是DVD、数字电视、HDTV 以及其它消费类视频设备的最常用格式;4:4:4表示全像素点阵(YYYYCbCrCbCrCbCrCbCr),用于高质量视频应用、演播室以及专业视频产品。
    和RGB的转换
    在这里插入图片描述

    3. 伪彩色图像处理

    分类:单色图像(灰色黑白)、真彩色图像、伪彩色图像
    伪彩色图像处理是根据一定的准则对灰度值赋以彩色的处理
    为什么需要伪彩色图像处理?人类可以辨别上千种颜色和强度但是只能辨别二十几种灰度
    怎么进行伪彩色图像处理?

    1. 强度分层技术
    • 把一幅图像描述为三维函数(x,y,f(x,y))
    • 分层技术:放置平行于(x,y)坐标面的平面
    • 每一个平面在相交区域切割函数图像
      在这里插入图片描述
      定义:令【0,L-1】表示灰度级,使l0代表黑色(f(x,y)=0),lL-1代表白色(f(x,y)=L-1)。假设垂直于强度轴的的P个平面定义为量级l1,l2,l3,…,lp.0<P<L-1,P个平面将灰度级分为P+1个间隔,V1,V2,…,VP+1,则灰度级到彩色的赋值关系:
      f(x,y)=ck,f(x,y)∈Vk
      ck是与强度间隔Vk第K级强度有关的颜色
      Vk是由在l=k-1和l=k分隔平面定义的
      在这里插入图片描述
      实例:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
    1. 灰度级到彩色的转换
    • 对任何输入像素的灰度级执行3个独立变换
    • 3个变换结果分别送入彩色监视器的红、绿、蓝三个通道
    • 产生一副合成图像

    在这里插入图片描述

    4. 全彩色图像处理

    全彩色图像处理分为两大类:

    • 分别处理每一分量图像,然后合成彩色图像
    • 直接对彩色像素处理:3个颜色分量表示像素向量7
      在这里插入图片描述
      其中c代表RGB彩色空间中的任意向量
      对大小为MxN的图像:
      在这里插入图片描述

    5. 彩色变换

    彩色变换函数:
    在这里插入图片描述
    f(x,y)为彩色输入图像
    g(x,y)是变换后或处理过的彩色输出图像
    T是在空间邻域(x,y)上对f的操作
    在这里插入图片描述
    补色
    作用:增强嵌在彩色图像暗区的细节
    如下入所示,与一种色调直接相对立的另一种色调称为补色
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    6. 彩色图像平滑和尖锐化

    在这里插入图片描述
    在这里插入图片描述
    彩色分割
    在这里插入图片描述

    在这里插入图片描述

    图像处理系列笔记: https://blog.csdn.net/qq_33208851/article/details/95335809

    展开全文
  • MATLAB学习笔记 彩色空间转换

    千次阅读 2017-06-22 18:38:01
    彩色空间转换我们之前都是对RGB图像对彩色图像进行操作(间接或直接),很少用到其他的彩色空间,这章我们学习从RGB变换得到的彩色空间(彩色模型)。 这些彩色空间包括NTSC、YCbCr、HSV、CMY、CMYK、HSI。NTSC彩色...

    彩色空间转换

    我们之前都是对RGB图像对彩色图像进行操作(间接或直接),很少用到其他的彩色空间,这章我们学习从RGB变换得到的彩色空间(彩色模型)。
    这些彩色空间包括NTSC、YCbCr、HSV、CMY、CMYK、HSI。

    NTSC彩色空间

    NTSC彩色模型为模拟电视, 分为三个分量,YIQ ,分为别亮度,色调, 对比度(就是我们常常调自己家电视的亮度、色调、对比度),这个模型使得同一个信号,可以在彩色电视显示,也可以在黑白电视显示。

    rgb2ntsc(image) 将RGB图像变换为NTSC

    f = imread('onion.png');
    g = rgb2ntsc(f);
    subplot(1, 2, 1), imshow(f), title('RGB');
    subplot(1, 2, 2), imshow(g), title('NTSC');
    • 输入:
      这里写图片描述
    • 输出:
      这里写图片描述

    ntsc2rgb(image) 将NTSC图像变换为RGB图像

    f = imread('onion.png');
    g = rgb2ntsc(f);
    img = ntsc2rgb(g);
    subplot(1, 3, 1), imshow(f), title('原图');
    subplot(1, 3, 2), imshow(g), title('NTSC');
    subplot(1, 3, 3), imshow(img), title('RGB');
    • 输入:
      这里写图片描述
    • 输出:
      这里写图片描述

    myRgb2ntsc(image) 自制的rgb2ntsc,将RGB变换NTSC格式

    f = imread('onion.png');
    g = rgb2ntsc(f);
    img = myRgb2ntsc(f);
    subplot(1, 3, 1), imshow(f), title('原图');
    subplot(1, 3, 2), imshow(g), title('NTSC rgb2ntsc');
    subplot(1, 3, 3), imshow(img), title('NTSC myRgb2ntsc');
    • 输入:
      这里写图片描述
    • 输出:
      这里写图片描述

    myNtsc2rgb(image) 自制的ntsc2rgb, 将NTSC变换为RGB

    f = imread('onion.png');
    g = rgb2ntsc(f);
    img = myNtsc2rgb(g);
    subplot(1, 3, 1), imshow(f), title('原图');
    subplot(1, 3, 2), imshow(g), title('NTSC');
    subplot(1, 3, 3), imshow(img), title('RGB');
    • 输入:
      这里写图片描述
    • 输出:
      这里写图片描述

    YCbCr彩色空间

    YCbCr彩色模型用于数字视频中。模型分为3个分量,Y(亮度) Cb(蓝色分量和参数值的差) Cr(红色分量和参考值的差)

    rgb2ycbcr(image) 将RGB图像转为YCbCr

    f = imread('onion.png');
    g = rgb2ycbcr(f);
    subplot(1, 2, 1), imshow(f), title('原图');
    subplot(1, 2, 2), imshow(g), title('YCbCr');
    • 输入:
      这里写图片描述
    • 输出:
      这里写图片描述

    ycbcr2rgb(image) 将YCbCr转为RGB

    f = imread('onion.png');
    g = rgb2ycbcr(f);
    img = ycbcr2rgb(g);
    subplot(1, 3, 1), imshow(f), title('原图');
    subplot(1, 3, 2), imshow(g), title('YCbCr');
    subplot(1, 3, 3), imshow(img), title('RGB');
    • 输入:
      这里写图片描述
    • 输出:
      这里写图片描述

    HSV彩色空间

    HSV分别代表色调、饱和度、数值,该模型更加贴近人们的经验和描述彩色感觉时所采用的方式,在艺术领域,称为色泽、明暗、调色。

    rgb2hsv(image) 将RGB转为HSV

    f = imread('onion.png');
    g = rgb2hsv(f);
    subplot(1, 2, 1), imshow(f), title('原图');
    subplot(1, 2, 2), imshow(g), title('HSV');
    • 输入:
      这里写图片描述
    • 输出:
      这里写图片描述

    **hsv2rgb(image) 将HSV转为RGB

    f = imread('onion.png');
    g = rgb2hsv(f);
    img = hsv2rgb(g);
    subplot(1, 3, 1), imshow(f), title('原图');
    subplot(1, 3, 2), imshow(g), title('hsv');
    subplot(1, 3, 3), imshow(img), title('RGB');
    • 输入:
      这里写图片描述
    • 输出:
      这里写图片描述

    CMY和CMYK彩色空间

    该模型常常用于彩色打印。
    CMY模型分为三个分量,C 青色(Cyan)、M 深红色(Magenta)、Y 黄色(Yellow)。
    CMYK则是在CMY上加一个黑色

    imcomplement(image) 获取图片负片, 可以实现CMY模型与RGB互换

    f = imread('onion.png');
    g = imcomplement(f);
    img = imcomplement(g);
    subplot(1, 3, 1), imshow(f), title('原图');
    subplot(1, 3, 2), imshow(g), title('CMY');
    subplot(1, 3, 3), imshow(img), title('RGB');
    • 输入:
      这里写图片描述
    • 输出:
      这里写图片描述

    HSI彩色空间

    HSI模型三个分量为, H 色彩(hue), S 饱和度(saturation), I 强度(intensity)

    rgb2hsi(image) 将rgb图像转为hsi图像

    f = imread('onion.png');
    g = rgb2hsi(f);
    subplot(1, 2, 1), imshow(f), title('原图');
    subplot(1, 2, 2), imshow(g), title('HSI');
    • 输入:
      这里写图片描述
    • 输出:
      这里写图片描述

    hsi2rgb(image) 将hsi图像变换为rgb图像

    f = imread('onion.png');
    g = rgb2hsi(f);
    img = hsi2rgb(g);
    subplot(1, 3, 1), imshow(f), title('原图');
    subplot(1, 3, 2), imshow(g), title('HSI');
    subplot(1, 3, 3), imshow(img), title('RGB');
    • 输入:
      这里写图片描述
    • 输出:
      这里写图片描述

    附录

    代码

    myRgb2ntsc.m

    function img = myRgb2ntsc(f)
        f = im2double(f);
        d =  [0.229, 0.587, 0.114; 0.596, -0.274, -0.332; 0.211, -0.523, 0.312] ;
        r = f(:, :, 1);
        g = f(:, :, 2);
        b = f(:, :, 3);
        y = r * d(1, 1) + g * d(1, 2) + b * d(1, 3);
        i = r * d(2, 1) + g * d(2, 2) + b * d(2, 3);
        q = r * d(3, 1) + g * d(3, 2) + b * d(3, 3);
        img = cat(3, y, i, q);
    end

    myNtsc2rgb.m

    function img = myNtsc2rgb(f)
        f = im2double(f);
        d =  [1.0, 0.956, 0.621; 1.0, -0.272, -0.647; 1.0, -1.106, 1.703];
        y = f(:, :, 1);
        i = f(:, :, 2);
        q = f(:, :, 3);
        r = y * d(1, 1) + i * d(1, 2) + q * d(1, 3);
        g = y * d(2, 1) + i * d(2, 2) + q * d(2, 3);
        b = y * d(3, 1) + i * d(3, 2) + q * d(3, 3);
        img = cat(3, r, g, b);
    end

    rgb2hsi.m

    function hsi = rgb2hsi(image)
        rgb = im2double(image);
        r = rgb(:, :, 1);
        g = rgb(:, :, 2);
        b = rgb(:, :, 3);
    
        num = 0.5 * ((r - g) + (r - b));
        den = sqrt((r - g) .^ 2 + (r - b) .* (g - b));
        theta = acos(num ./ (den + eps));
    
        H = theta;
        H(b > g) = 2 * pi - H(b > g);
        H = H / (2 * pi);
    
        num = min(min(r, g), b);
        den = r + g + b;
        den(den == 0) = eps;
        S = 1 - 3 .* num ./ den;
        H(S == 0) = 0;
        I = (r + g + b) / 3;
        hsi = cat(3, H, S, I);
    end

    hsi2rgb.m

    function rgb = hsi2rgb(hsi)
        H = hsi(:, :, 1) * 2 * pi;
        S = hsi(:, :, 2);
        I = hsi(:, :, 3);
        width = size(hsi, 1);
        height =  size(hsi, 2);
        R = zeros(width, height);
        G = zeros(width, height);
        B = zeros(width, height);
    
        idx = find(0 <= H < 2 * pi / 3);
        B(idx) = I(idx) .* (1 - S(idx));
        R(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx)) ./ cos(pi / 3 - H(idx)));
        G(idx) = 3 * I(idx) - (R(idx) + B(idx));
    
        idx = find((2 * pi / 3 <= H & H < 4 * pi / 3));
        R(idx) = I(idx) .* (1 - S(idx));
        G(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx) - 2 * pi / 3) ./ cos(pi - H(idx)));
        B(idx) = 3 * I(idx) - (R(idx) + G(idx));
    
        idx = find((4 * pi / 3 <= H) & (H <= 2 * pi));
        G(idx) = I(idx) .* (1 - S(idx));
        B(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx) - 4 * pi / 3) ./ cos(5 * pi / 3 - H(idx)));
        R(idx) = 3 * I(idx) - (G(idx) + B(idx));
    
        rgb = cat(3, R, G, B);
        rgb = max(min(rgb, 1), 0);
    end
    展开全文
  • 为满足植物分类和识别对植物叶片叶脉信息的需要,提出了基于HSV彩色空间与直方图信息FFCM聚类算法相结合的植物叶片叶脉提取方法。该算法可以简述为以下四个步骤:a)将植物叶片图像由RGB转换到HSV彩色空间;b)使用...
  • C#,VS2005,RGB和HSI彩色空间、伪彩色处理、彩色图像直方图均衡化、彩色图像平滑处理、锐化处理、边缘检测、图像分割
  • 提出基于RGB彩色空间的运动补偿与分形压缩技术相结合的方法.该方法先区分出彩色视频序列的I帧和P帧,同时分别分离出R、G、B三种颜色;其次对于I帧每种颜色均单独采用分形图像压缩算法进行编码,对于P帧每种颜色均...
  • 这是一个用于图像的彩色空间color space之间转换的MATLAB程序。例如RGB,HIS,Luv,YCbCr,YUV之间的转换,很方便的。
  • 彩色空间相关分析的人脸识别算法.pdf
  • 图像彩色空间

    万次阅读 2015-11-12 21:56:31
    RGB颜色空间 在计算机技术中使用最广泛的颜色空间是RGB颜色空间,它是一种与人的...对一幅三通道彩色数字图像C,对每个图像像素(x,y),需要指出三个矢量分量R、G、B; RGB对应到显示器的三个刺激值,组成三维正

    RGB颜色空间

    在计算机技术中使用最广泛的颜色空间是RGB颜色空间,它是一种与人的视觉系统结构密切相关的模型。根据人眼睛的结构,所有的颜色都可以看成三个基本颜色-红色(red)、绿色(green)和蓝色(blue)的不同组合,大部分显示器都采用这种颜色模型。对一幅三通道彩色数字图像C,对每个图像像素(x,y),需要指出三个矢量分量R、G、B;


    RGB对应到显示器的三个刺激值,组成三维正交坐标系统,该系统中任何颜色都落入RGB彩色立方体内,在RGB颜色模型中,黑色在原点处,白色位于离原点最远的角上,灰度级沿着这两点的连线分布,每一个分量图像都是其原色图像。

    RGB颜色空间最大的优点就是适合于显示系统,直观且容易理解。但是对彩色描述上的应用还有以下不足:

    (1) RGB颜色空间利用三个颜色分量的线性组合来表示颜色,因此不同的色彩难以用精确的数值来表示,定量分析困难。

    (2) 在RGB颜色系统中,三个颜色分量之间是高度相关的,即只要亮度改变,三个分量都会相应的改变,如果一个颜色的某一个分量发生了一定程度的改变,那么这颜色很可能也要发生改变。

    (3) RGB颜色空间是一种均匀性较差的颜色空间,人眼对于三个颜色分量的敏感程度是不一样的,如果颜色的相似性直接用欧氏距离来度量,其结果与人眼视觉会有较大的偏差。



    HIS/HSV 色彩空间:

    HIS(Hue-Intensity-Saturation)颜色空间是图像处理中另外一个常用的颜色空间,它从人的视觉系统出发,用色调(Hue)、饱和度(Saturation或Chroma)和亮度(Intensity或Brightness)来描述颜色。HIS颜色空间可以用图2-2的圆锥空间模型来描述。其中,色调H由角度表示,其取值范围是 ,其中表示红色,表示黄色,表示绿色,表示蓝色,表示品红色。饱和度S是HIS彩色空间中轴线到彩色点的半径长度,彩色点离轴线的距离越近,表示颜色的白光越多。强度I用轴线方向上的高度表示,圆锥体的轴线描述了灰度级,强度最小值时为黑色,强度最大值时为白色。每个和轴线正交的切面上的点,其强度值都是相等的。

    虽然这种描述HIS颜色空间的圆锥模型相当复杂,但却能把色调、亮度和饱和度的变化情形表现得很清楚。通常把色调和饱和度通称为色度,用来表示颜色的类别与深浅程度。由于人的视觉对亮度的敏感程度远强于对颜色浓淡的敏感程度,为了便于颜色处理和识别,经常采用HIS颜色空间,它比RGB颜色空间更符合人的视觉特性。在图像处理和计算机视觉中大量算法都可在HIS颜色空间上使用,它们可以分开处理而且是相互独立的。因此,在HIS颜色空间可以大大简化图像分析和处理的工作量。

    HIS颜色空间和RGB颜色空间只是同一物理量的不同表示方法

    在HIS颜色空间中进行彩色图像分割有两个优点:

    (1)   H和S分量与人感受彩色的方式相似,彩色图像中的每一个均匀性彩色区域都对应一个相一致的色度和饱和度,色度和饱和度能够被用来进行独立于亮度的彩色区域分割。

    (2)   I分量与颜色信息无关。


    CIE-lab/luv色彩空间

    CIE(Commission International del’Eclairage)国际标准照明委员会于1931年建立了一系列表示可见光谱的颜色空间标准。它有三个基本量,用X、Y、Z表示,通过X、Y、Z能够表示任何一种颜色,X、Y、Z的值能够利用R、G、B线性表示出来,相对于RGB颜色空间,XYZ颜色空间几乎能包含人类能够感觉到的所有颜色,但XYZ颜色空间仍然是一种不均匀的颜色空间。因此在CIE-XYZ颜色空间的基础上又有了CIE-Lab,CIE-Luv等颜色空间。 

    国际照明委员会制定了Lab颜色空间,人类所能感觉到的任何颜色都可以在Lab颜色空间中表示出来,其颜色空间比RGB颜色空间还大,可以直接使用欧几里德距离来衡量两种颜色的差异性。这种模式是以数字化的方式来描述人的视觉感觉,它与显示器的色移、输出设备以及其他设备无关。Lab系统是一个优秀的亮度和彩色分离器,它在图像压缩方面很有用。其中L代表亮度,a的正方向代表红色,负方向代表绿色,b的正方向代表黄色,负方向代表蓝色。Lab颜色空间由XYZ转换而得的


    YUV、YCbCr:


    该颜色空间主要是基于人眼对亮度比对色度敏感这一特性而来的,将颜色分量和亮度分量分离开来。早期的黑白电视机和彩色电视机的原理也是有此而来的,具体转换公式可以参照ITU标准公式。

    RGB三颜色分量转换为YUV422之后,图像的数据量便减少了1/3,如果是YUV420,则数据量便减少了一半。常用这种转换后的数据进行图像压缩编码。

    也有一些图像边缘增强的算法,在此颜色空间展开。主要是因为色彩信息和亮度信息分离开来了。

    展开全文
  • 为实现对图像更好的阈值分割,针对原始色差变换存在的同色异值、异色同值的问题,基于HSI彩色空间色差变换,提出正余弦交叉法(SCCM)取参考点。该变换方法是根据各点色调正余弦值计算总体正、余弦均值,再由此求得...
  • 一、RGB空间 ...不仅如此,数字图像文件的常用存储形式也以RGB为主,由RGB三基色为坐标形成的空间称为RGB彩色空间。 由下图可知,青色可由绿色和蓝色合成,洋红可由红色和蓝色合成,黄色可由红色和绿色...
  • 彩色空间(Color Space)

    千次阅读 2018-12-05 22:13:02
    学习openCV-Python Tutorial,在Image Processing in OpenCV这一节里有提到彩色空间的转换,结合其他的一些资料对彩色空间(Color Space),彩色模型(Color model)这些概念做一些总结。 定义 彩色空间可以理解为彩色的...
  • 彩色图像--图像分割 彩色空间分割

    千次阅读 2015-03-18 11:36:53
    学习DIP最后一天 内容搬迁至 http://www.tony4ai.com/DIP-10-4-彩色图像-图像分割-彩色空间分割/
  • 实验一:彩色空间转换(YUV2RGB)

    千次阅读 2017-03-11 12:34:17
    实验一:彩色空间转换 #ifndef/#define/#endif 使用详解:http://blog.csdn.net/abc5382334/article/details/18052757 Debug与Release版本的区别详解: ...VS中Release和De
  • RGB彩色空间和YIQ、灰度等的转化

    千次阅读 2017-11-15 21:54:57
    最近看到不同色彩空间的转化,RGB可以到灰度但是灰度不能到RGB。 一般彩色图像至少需要三个维度的信息,比如RGB、HSV、YIQ等等。每种颜色相当于一个三维向量,不同的表示法则相当于同一个向量在不同的坐标轴下(即...
  • 彩色空间转化器

    2013-09-29 08:50:21
    可以实现图像在RGB、HSV、HSL、LAB、XYZ等各种彩色空间的转化
  • 彩色空间概论

    2015-07-07 22:17:43
    了解彩色空间主要需要知道,这些彩色空间的运用范围,特点,转换公式。 1、RGB彩色空间  在最开始接触图像处理时,第一课就是了解RGB空间,这也是最简单明了的彩色空间。通过对Red红,Green绿,Blue蓝三个通道...
  • 彩色空间梯度算子

    2012-09-26 14:20:09
    一种彩色空间的梯度算子,可以用来进行彩色空间的边缘检测,用途很广哦
  • Python+OpenCV数字图像处理,彩色空间变换(HSI和RGB空间)前言代码运行结果 前言 新人轻点喷~ 在网上看到好多基本都是循环写的,逐个像素操作,比较慢,这里尝试用numpy库的where函数写了一下,速度提升了好多(呃...
  • 遥感影像彩色空间变换

    千次阅读 2013-07-22 17:42:20
    在影像处理系统中,彩色空间变换时一个常见的基础功能,虽然功能不是特别复杂,但是也遇到了一些问题,毕竟第一次做图像处理的工作。在此,先介绍影像的RGB模型和HSI模型之间的转换。  在HSI模型中,H:Hue 代表...
  • 针对彩色图像融合时空间变换产生的色彩畸变以及红绿蓝(RGB)色彩空间各通道间的强相关性,同时考虑到基于主元分析(PCA)的图像融合算法存在图像结构利用率低、光谱信息损失多的缺点,提出了一种基于改进双向二维主元...
  • 开辟YUV和RGB的数组空间: /* get an input buffer for a frame */ yBuf = (u_int8_t*)malloc(frameWidth * frameHeight); uBuf = (u_int8_t*)malloc((frameWidth * frameHeight) / 4); vBuf = (u_int8_t*)malloc...
  • HSI彩色空间的AGV路径识别,需要是路径的图片,效果才好.可实现,并且已实现
  • 实现了 HSI/RGB HSV/RGB YIQ/RGB YUV/RGB 的相互转化 基层代码实现 为使用matlab自带源码
  • 目录三、彩色空间互换3.1 简介3.2 彩色空间互换原理3.2.1 彩色空间介绍 三、彩色空间互换 3.1 简介 众所周知,对于彩色图像来说不仅仅有RGB空间,还有很多种色彩空间,例如HSV、HSI等。对于OpenCV来说,其读入图像...
  • 图像彩色空间转换,RGB转灰度图等 生活中大多数看到的彩色图片都是RGB类型,但是在进行图像处理时,需要用到灰度图、HSV、

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 55,234
精华内容 22,093
关键字:

彩色空间