RGB彩色空间和YIQ、灰度等的转化
最近看到不同色彩空间的转化,RGB可以到灰度但是灰度不能到RGB。
一般彩色图像至少需要三个维度的信息,比如RGB、HSV、YIQ等等。每种颜色相当于一个三维向量,不同的表示法则相当于同一个向量在不同的坐标轴下(即不同的基下)的表示。而将其变为灰度后,只剩下一个维度,相当于将三维向量投影为一维标量一样,是不可能回复为原来的向量的。要想恢复,就必须储存另外两个维度的信息,合在一起还是三维向量,这还不如直接保存原来的彩色图像数据。如果你一定要将其分解为灰度基和另两个基下的表示,可以用YIQ表示,他的Y分量就和灰度数据等价,美国电视信号NTSC就是YIQ表示的,因此可以和黑白电视兼容(黑白电视只能接受Y信号,得到灰度图像)。用命令rgb2ntsc和ntsc2rgb可以将数据在RGB和YIQ之间互换。下面是例子clear;clc; RGB = imread('peppers.png');%RGB图像 YIQ = rgb2ntsc(RGB);%YIQ表示 GRAY=rgb2gray(RGB);%灰度图像,它和YIQ中的Y等价,只不过灰度图像的值是0~255的整数,而Y是0~1的实数,即GRAY=uint8(255*YIQ(:,:,1)) RGB_restore=ntsc2rgb(YIQ);%从YIQ表示恢复的RGB图像 subplot 221 imshow(RGB);title('原图像RGB') subplot 222 imshow(GRAY);title('灰度图GRAY') subplot 224 imshow(YIQ(:,:,1));title({'转换为YIQ后的Y分量','(和灰度图等价)'}) subplot 223 imshow(RGB_restore);title({'从YIQ表示恢复的RGB图像','(和原图像一致)'})当然,这种分解是不唯一的,只要保证三个基互不相关即可。因此我们可以自己定义分解方法。比如,我们要将RGB表示转换为RGg表示,也就是用灰度分量g取代蓝色分量B,红色分量R和绿色分量G不变。我们可以从RGg计算出蓝色分量B,因为灰度g=p*R+q*G+t*B(其中p=0.2989,q=0.5870,t=0.1140),于是B=(g-p*R-q*G)/t。于是我们只要保留R和G两个颜色分量,再加上灰度图g,就可以回复原来的RGB图像。下面是例子clear;clc; RGB = imread('peppers.png');%RGB图像 g=rgb2gray(RGB);%灰度图g R=double(RGB(:,:,1));%红色分量R G=double(RGB(:,:,2));%绿色分量G,于是RGg就是一种我们自己定义的颜色表示方法了 p=0.2989;q=0.5870;t=0.1140; B=(double(g)-p*R-q*G)/t;%通过RGg计算得到的蓝色分量B,他和原图像中的蓝色分量是一致的 subplot 131 imshow(RGB);title('原图像RGB') subplot 132 imshow(g);title('灰度图g') subplot 133 imshow(uint8(cat(3,R,G,B)));title({'从RGg表示恢复的RGB图像','(和原图像一致)'})
RGB彩色空间和YIQ、灰度等的转化相关推荐
- RGB彩色空间的不同转换公式
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在做图像 ...
- RGB彩色空间的不同转换公式 1
在做图像处理时,我们一般采用的是RGB空间,但是在某些特殊情况下,我们也会用到其他的颜色空间.本文主要介绍一些常见的颜色空间的概念和转换公式. 颜色的实质是一种光波.它的存在是因为有三个实体:光线.被 ...
- 伪彩色图像(RGB彩色空间)
%f为一幅焊缝图像 f = imread('hanfeng.tif'); g = ice('image',f); 第一幅图像为变化前:第二幅为变化后的图像. 图(一) 图(二)
- 彩色图像处理 彩色空间转换及代码实现
一.彩色图像基础 为什么要研究彩色图像处理? 符合人类视觉特点:人类可以辨别几千种颜色色调和亮度:只能辨别几十种灰度层次. 有用的描绘子:简化目标物的区分:目标识别,根据目标的颜色特征. 彩色图像处理 ...
- 图像处理(1)--数字图像及彩色空间
文章结构 1. 数字图像 2. 彩色空间 2.1 RGB 2.2 CMY和CMYK 2.3 HSI 2.4 YIQ 2.5 YUV 2.6 YCbCr 3. 伪彩色图像处理 4. 全彩色图像处理 5. ...
- 数字图像处理(四):彩色空间及转换公式
一.RGB空间 这是我们最熟悉的色彩空间. 根据色度学原理,自然界的各种颜色光都可以由红.绿.蓝三种颜色的光按不同比例混合而成.因此将红绿蓝三种颜色成为三基色. 几乎所有的彩色成像设备和彩色显示设备都 ...
- 第6章 Python 数字图像处理(DIP) - 彩色图像处理3 -色彩变换、彩色校正、彩色图像平滑和锐化、HSI彩色空间中的分割、RGB空间中的分割、彩色边缘检测
这里写目录标题 色彩变换 彩色图像平滑和锐化 使用彩色分割图像 HSI 彩色空间中的分割 RGB空间中的分割 彩色边缘检测 彩色图像中的噪声 色彩变换 # 图像颜色分量的显示 from PIL imp ...
- 实验一 |彩色空间rgb和yuv的相互转换
彩色空间转换 一.实验目的 1.基本要求:编写RGB转化为YUV程序,重点掌握函数定义,部分查找表的初 始化和调用,缓冲区分配.将得到的RGB文件转换为YUV文件,用YUV Viewer播放器观 看, ...
- 基于OpenCV的彩色空间互转
Datawhale干货 作者:姚童,Datawhale优秀学习者 图像彩色空间互转在图像处理中应用非常广泛,而且很多算法只对灰度图有效:另外,相比RGB,其他颜色空间(比如HSV.HSI)更具可分离性 ...
- 彩色BMP转换成灰度图的原理
图像处理中,大部分的处理方法都需要事先把彩色图转换成灰度图才能进行相关的计算.识别. 彩色图转换灰度图的原理如下: 我们知道彩色位图是由R/G/B三个分量组成,其文件存储格式为 BITMAPFILEH ...
最新文章
- 四种方案解决ScrollView嵌套ListView问题
- ThinkPHP的field方法的用法总结
- 科大星云诗社动态20220103
- Http-tunnel突破单位网管封杀QQ、MSN端口的方法
- Cpp / 空指针对象调用函数的不同结果
- JVM性能调优中的命令总结
- 微软用的工具,统一财务三大表及高级分析通用模板
- python如何定位路径_selenium_webdriver(python)查看文件路径,鼠标定位
- java 参数校验 优雅的,SpringBoot 如何优雅的进行参数校验
- 魔改部署自己专属的合成大西瓜(一:运行篇)
- 学生账号部署XAP程序,在Lumia手机上
- 一盘商家一盘货,拼多多为什么比手淘便宜?
- 【原创】VBA学习笔记(316)VBA编程基础知识扫盲,只适合纯自学新手看
- Multisim14基本介绍(上)
- Mac怎么看剩余空间,Mac怎么看硬盘空间
- 闪存驱动器_什么是闪存驱动器?
- A1008. 数列特征
- Openpose 配置pose,pose+ face,pose+face+hand的方法
- NCE3.21 Danile Mendoza 丹尼尔.门萨多 -句子成分分析
- 防止ACCESS数据库被下载的一个通用解决方法: