RGB到Lab颜色空间转换

RGB到Lab颜色空间转换
RGB到Lab颜色空间转换

RGB到Lab色彩空间转换

课程设计

机电工程系1003班

2010090343

余丽萍

RGB到Lab颜色空间转换

一、引言

所谓色彩管理,就是解决图像在各色空间之间的转换问题,使图像的色彩在整个复制过程中失真最小。其基本思路是:首先选择一个与设备无关的参考色空间,然后对设备进行特征化,最后在各个设备的色空间和与设备无关的参考色空间之间建立关系,从而使数据文件在各个设备之间转换时有一个明确的关系可寻。虽然不可能让不同设备上的所有颜色完全相同,但可以使用颜色管理来确保大多数颜色相同或相似,从而达到在某种意义上一致的颜色复制效果。

其基本思路是:首先选择一个与设备无关的参考色空间,然后对设备进行特征化,最后在各个设备的色空间和与设备无关的参考色空间之间建立关系,从而使数据文件在各个设备之间转换时有一个明确的关系可寻。虽然不可能让不同设备上的所有颜色完全相同,但可以使用颜色管理来确保大多数颜色相同或相似,从而达到在某种意义上一致的颜色复制效果。

二、色彩空间转换

色彩空间转换是指把一个色彩空间中的颜色数据转换或表示成另一个色彩空间中的相应数据,即用不同的色彩空间中的数据表示同一颜色。在本文中,是将与设备相关的RGB色彩空间转换到与设备无关的CIELab色彩空间。任何一个与设备有关的色彩空间都可以在CIELab色彩空间中测量、标定。如果不同的与设备相关颜色都能对应到CIELab色彩空间的同一点,那么,它们之间的转换就一定是准确的。

色彩空间转换的方法有很多种,本文主要介绍多项式回归法。

2.多项式回归法

多项式回归算法是指假设色彩空间的联系可以通过一组联立的方程估算出来。多项式回归算法的唯一必要条件就是源空间的点数应该大于所选择的多项式的项数。此算法的重点在于计算出多项式的系数,再将源色彩空间的数据代入多项式,就可以根据方程求出转换后的结果。

多项式回归算法的特点是简单、实现起来较为方便,且有着不错的转换效果;但使用项数少时精度较低,当项数过大时计算量大、且精度也不一定高。

三、实现过程

先简单介绍了本题目的操作平台,再详细说明了本题目中所使用数据的获取方

法,以及实现颜色空间转换的详细步骤。

1.操作平台

本题目采用的操作系统为Microsoft windows 7,Microsoft excel 工作表

2.数据的获取

数据分为建模数据及测试数据两部分,建模数据用于计算多项式的系数,测试

数据用于分析算法的精确程度,来自源空间和目标空间的建模数据和测试数据均在

分光光度计采集得到。

3.具体实现步骤

程序实现的具体步骤如下:

①取RGB所对应的九组,六组,三组数据根据公式

1) f(r,g,b) = a1r+a2g+a3b

2) f(r,g,b) = a1r+a2g+a3b+a4rg+a5rb+a6gb

3) f(r,g,b) = a1r+a2g+a3b+a4rg+a5rb+a6gb+a7r2+a8g2+a9b2

建立对应方阵r、g、b、rg、rb、gb、rr、gg、bb,r、g、b、rg、rb、gb、,

r、g、b

37 194 69 59 235 115 86 194 69 0 0 54 123 147 227 255 0 29 17 49 17 23 33 29 33 52 23

0 0 3726 7257 3454

5

26105 21930 0 2001

629 9506 1173 1357 7755 3335 2838 10088 1587 0 0 918 2829 4851 6583 8415 0 667

1369 37636 4761 3481 5522

5

13225 7396 37636 4761

0 0 2916 15129 2160

9

51529 65025 0 841

②应用求逆公式MINVERSE求的其对应的逆矩阵

-0.00323 0.02

2257

0.05

6579

-6.9

611E

-06

-0.0

0335

-0.002

48

0.00041

4

0.000212

0.00

587

-0.04577 -0.0

1145

0.18

723

-0.0

0017

0.00

4568

0.0012

54

-0.0002

5

-3.4013E

-05

-0.0

1393

0.088533 0.03

1032

-0.2

4101

-0.0

0015

-0.0

0514

-0.002

14

0.00037

4

0.000188

0.01

2262

-0.0441 0.01

9956

0.10

7671

-9.4

726E

-06

0.00

099

-0.000

11

2.64126

E-05

-5.3224E

-05

-0.0

0297

0.00145 -0.0

0056

-0.0

0709

8.31

317E

-06

-0.0

0048

2.8993

8E-05

6.00273

E-05

-5.1602E

-06

0.00

0997

-0.01658 -0.0

0126

0.05

1728

0.00

0109

0.00

1799

-0.000

16

-0.0001

8

-6.8956E

-06

-0.0

0397

0.01927 -0.0

0408

-0.0

5417

-8.2

421E

-05

-0.0

0134

0.0001

88

0.00011

1

3.05553E

-05

0.00

3102

0.041816 0.01

4436

-0.1

7847

0.00

0133

-0.0

0424

-0.001

4

0.00024

5

5.10253E

-05

0.01

3218

289 2401 289 529 1089 841 1089 2704 529

37 194 69 59 235 115

0 0 54 123 147 227

17 49 17 23 33 29

0 0 3726 7257 34545 26105

629 9506 1173 1357 7755 3335

0 0 918 2829 4851 6583

37 194 69

0 0 54

17 49 17

-0.02481 -0.0

5935

0.09

9396

0.00

0147

0.00

5487

0.0039

12

-0.0006

5

-0.00031

-0.0

1152

-0.01191 -0.01885 0.093608 0.000104 -0.00024 0.000156

0.008272 -0.00919 -0.01934 -9.1149E

-05

3.60609E

-05

0.000601

0.093481 -0.04613 -0.16418 -0.00049 -0.00106 0.003148 -0.10392 0.100785 0.182528 0.000607 0.00118 -0.00547 -0.02742 0.026339 0.048153 0.000225 0.000311 -0.00169 0.051828 -0.05629 -0.09103 -0.00036 -0.00059 0.003309 -0.033 0.001035 0.13064

0.011448 -0.00678 -0.02492

0 0.018519 0

③把RGB对应Lab数据和逆矩阵相乘的其各自对应的加权系数3×9 ,3×6,

3×3(应用函数MMULT)

0.055273 0.46

1373

0.07

4428

-0.0

0103

-0.0

0082

-0.004

33

0.00077

5

0.000309

0.00

134

0.532912 -1.0

675

0.26

0127

0.00

0899

0.02

3829

0.0284

37

-0.0039

9

-0.00149

-0.0

4848

0.118625 0.68

0875

-0.2

2986

-0.0

0241

-0.0

0543

-0.012

63

0.00203

1

0.00091

0.00

4031

-0.04996 0.526098 0.208804 0.000314 0.004037 -0.00897 1.063085 -1.23985 -0.80461 -0.00392 -0.00953 0.039959 -0.07914 0.754262 -0.00993 0.000506 0.00653 -0.01859 0.305529 0.225242 -0.41556

0.223609 -0.42955 0.669791

0.495906 0.198167 -1.01991

④取新的RGB数据九组,六组和三组数据

43 247 126 78 255 171 89 247 126 0 0 49 123 135 255 255 0 0 17 61 23 23 33 33 33 63 29

0 0 6174 9594 3442

5

43605 22695 0 0

731 1506

7

2898 1794 8415 5643 2937 15561 3654

0 0 1127 2829 4455 8415 8415 0 0

1849 6100

9

1587

6

6084

6502

5

29241 7921 61009

1587

6

0 0 2401 1512

9

1822

5

65025 65025 0 0

289 3721 529 529 1089 1089 1089 3969 841 43 247 126 78 255 171

0 0 49 123 135 255

17 61 23 23 33 33

0 0 6174 9594 34425 43605

731 15067 2898 1794 8415 5643

0 0 1127 2829 4455 8415

43 247 126

0 0 49

17 61 23

⑤应用函数MMULT将新取的RGB和系数相乘的到其对应的求的Lab

4.85942 58.0

2549

31.3

8801

49.2

3287

74.5

19

87.643

04

90.4208

6

58.09983

19.5

3742

23.37429 82.9

0031

34.9

5968

-24.

3589

19.3

3254

-25.73

58

-67.707

8

83.16952

57.6

945

2.142562 72.3

4274

34.7

1894

47.3

5116

82.6

2483

67.155

46

79.2495

8

70.19896

24.0

6648

4.351945 61.21492 27.81067 50.48803 69.97663 93.47069 2

5.06623 69.87996 47.90142 -29.7464 40.03532 -49.3653 1.201151 78.22741 27.85497 50.35219 70.86613 80.95719

6.073172 50.11627 39.97555

21.00166 96.08879 22.53222

3.985434 60.27405 48.73632

⑥利用图表里散点图对求的Lab和测的Lab分L、a、b分别拟合

四、结果显示

五、总结

由此可见,使用多项式回归法来进行颜色空间转换还是比较准确的。可采用不同项数的多项式,对相同的源空间到相同的目标空间的转换结果进行比较;从而寻找出,在此源空间转换到目标空间过程中,采用多项式的最优项数。因此,对于此题目还需要进一步的研究。

matlab 图像的几何变换与彩色处理

实验四、图像的几何变换与彩色处理 一、实验目的 1理解和掌握图像的平移、垂直镜像变换、水平镜像变换、缩放和旋转的原理和应用; 2熟悉图像几何变换的MATLAB操作和基本功能 3 掌握彩色图像处理的基本技术 二、实验步骤 1 启动MATLAB程序,读入图像并对图像文件分别进行平移、垂直镜像变换、水平镜像变换、缩放和旋转操作 %%%%%%平移 >> flowerImg=imread('flower.jpg'); >> se=translate(strel(1),[100 100]); >> img2=imdilate(flowerImg,se); >> subplot(1,2,1); >> imshow(flowerImg); >> subplot(1,2,2); >> imshow(img2);

I1=imread('flower.jpg'); I1=double(I1); H=size(I1); I2(1:H(1),1:H(2),1:H(3))=I1(H(1):-1:1,1:H(2),1:H(3)); I3(1:H(1),1:H(2),1:H(3))=I1(1:H(1),H(2):-1:1,1:H(3)); Subplot(2,2,1); Imshow(uint8(I1)); Title('原图'); Subplot(2,2,2); Imshow(uint8(I3)); Title('水平镜像'); Subplot(2,2,3); Imshow(uint8(I2)); Title('垂直镜像'); img1=imread('flower.jpg'); figure,imshow(img1); %%%%%%缩放 img2=imresize(img1,0.25); figure,imshow(img2); imwrite(img2,'a2.jpg');

PANTON国际色卡CMYK色值对照表

PANTONE国际色卡四色模拟专色CMYK色值对照表 前三个为LAB色,后三个为RGB值,当然你可以在CDR或其他软件里很轻易的 用RGB值转换成CMYK值, 100C 93 -8 50 243 237 134 #F3ED86 101C 92 -9 66 245 236 98 #F5EC62 102C 91 -7 100 250 230 0 #FAE600 103C 71 0 91 202 173 0 #CAAD00 104C 62 -1 74 172 150 0 #AC9600 105C 48 -1 49 129 114 20 #817214 106C 91 -6 65 246 231 97 #F6E761 107C 90 -4 81 250 226 47 #FAE22F 108C 88 0 95 254 219 0 #FEDB00 109C 86 5 100 255 209 0 #FFD100 110C 73 7 94 219 174 0 #DBAE00 111C 61 4 75 175 143 0 #AF8F00 112C 55 2 62 153 128 0 #998000 113C 90 -2 67 250 225 90 #FAE15A 114C 89 -2 70 250 224 81 #FAE051 115C 89 -1 72 251 222 74 #FBDE4A 116C 85 7 93 255 206 0 #FFCE00 117C 68 10 83 206 157 0 #CE9D00 118C 60 8 73 179 138 0 #B38A00 119C 50 1 49 138 118 26 #8A761A 120C 89 0 53 249 223 121 #F9DF79 1205C 90 0 31 243 226 167 #F3E2A7 121C 89 2 57 251 219 110 #FBDB6E 1215C 89 1 40 245 221 146 #F5DD92 122C 87 5 68 253 212 79 #FDD44F 1225C 84 11 69 253 199 69 #FDC745 123C 84 12 79 255 199 38 #FFC726 1235C 79 22 85 255 179 0 #FFB300 124C 75 16 85 235 171 0 #EBAB00 1245C 64 13 69 198 146 0 #C69200 125C 61 12 72 187 137 0 #BB8900 1255C 56 10 59 170 128 14 #AA800E

Matlab图像颜色空间转换

Matlab图像颜色空间转换 实验内容 用matlab软件编程实现下述任务: 读入彩色图像,提取其中得R、G、B颜色分量,并展示出来。 我们学习了多种表示图像得颜色空间,请编写程序将图像转换到YUV、YIQ、YCrCb、HIS、CMY等颜色空间,并展示出来。 颜色空间得转化关系参考以下公式: 原始图片 三个色调分量 YUV与RGB之间得转换 Y=0、229R+0、587G+0、114B U=-0、147R-0、289G+0、436B V=0、615R-0、515G-0、100B

YIQ与RGB之间得转换 Y=0、299R+0、587G+0、114B I=0、596R-0、275G-0、321B Q=0、212R-0、523G+0、311B YCrCb与RGB之间得转换 Y = 0、2990R + 0、5870G + 0、1140B? Cr = 0、5000R 0、4187G 0、0813B + 128 Cb = 0、1687R 0、3313G + 0、5000B + 128

HSI与RGB之间得转换 I=(R+G+B)/3 H=arccos{ 0、5*((RG)+(RB)) / ((RG)^2 + (RB)(GB))^0、5} S=1[min(R,G,B)/ I ] CMY与RGB之间得转换

心得体会 查阅了很多资料,并且学习了关于matlab实现图像颜色空间转换得过程。不同得颜色空间在描述图像得颜色时侧重点不同。如RGB(红、绿、蓝三原色)颜色空间适用于彩色监视器与彩色摄像机,HSI(色调、饱与度、亮度)更符合人描述与解释颜色得方式(或称为HSV,色调、饱与度、亮度),CMY(青、深红、黄)、CMYK(青、深红、黄、黑。)主要针对彩色打印机、复印机等,YIQ(亮度、色差、色差)就是用于NTSC规定得电视系统格式,YUV(亮度、色差、色差)就是用于PAL规定得电视系统格式,YCbCr(亮度单一要素、蓝色与参考值得差值、红色与参考值得差值)在数字影像中广泛应用。近年来出现了另一种颜色空间lαβ,由于其把亮度与颜色信息最大限度得分离,在该颜色空间可以分别处理亮度或颜色而不相互影响。 通过这次实验,实现了五种颜色空间得转换,瞧到了不同得绚丽结果,掌握了一些基本得知识。 程序 clear rgb=imread('G:\Learning\MultiMedia\666、jpg'); rgb2hsi(rgb); rgb_r=rgb(:,:,1);

常用RGB颜色表

常用RGB颜色表(一) 2009-06-19 21:41 R G B值R G B值R G B值黑色0 00#000000黄色2552550#FFFF00浅灰蓝色176224230#B0E0E6象牙黑413633#292421香蕉色22720787#E3CF57品蓝65105225#4169E1灰色192192192#C0C0C0镉黄25515318#FF9912石板蓝10690205#6A5ACD 冷灰128138135#808A87dougello23514285#EB8E55天蓝135206235#87CEEB 石板灰112128105#708069forum gold255227132#FFE384 暖灰色128128105#808069金黄色2552150#FFD700青色0255255#00FFFF 黄花色218165105#DAA569绿土569415#385E0F 白色225225225#FFFFFF瓜色227168105#E3A869靛青84684#082E54古董白250235215#FAEBD7橙色255970#FF6100碧绿色127255212#7FFFD4天蓝色240255255#F0FFFF镉橙255973#FF6103青绿色64224208#40E0D0白烟245245245#F5F5F5胡萝卜色23714533#ED9121绿色02550#00FF00白杏仁255235205#FFFFCD桔黄2551280#FF8000黄绿色1272550#7FFF00 cornsilk255248220#FFF8DC淡黄色245222179#F5DEB3钴绿色6114564#3D9140蛋壳色252230201#FCE6C9翠绿色020187#00C957 常用RGB颜色表(二) 2009-06-19 21:42 花白255250240#FFFAF01284242#802A2A3413934#228B22 gainsboro220220220#DCDCDC163148128#A394801242520#7CFC00 ghostWhite248248255#F8F8FF1385415#8A360F5020550#32CD32蜜露橙240255240#F0FFF01355136#873324189252201#BDFCC9象牙白250255240#FAFFF021010530#D2691E10714235#6B8E23亚麻色250240230#FAF0E625512564#FF7D404812820#308014 navajoWhite255222173#FFDEAD240230140#F0E68C4613987#2E8B57 253245230#FDF5E6188143143#BC8F8F0255127#00FF7F 255245238#FFF5EE1999720#C76114 255250250#FFFAFA1157418#734A12紫色16032240#A020F0 943818#5E2612紫罗蓝色13843226#8A2BE2 25500#FF00001608245#A0522D jasoa160102211#A066D3 15610231#9C661F1396919#8B4513湖紫色15351250#9933FA 2272313#E3170D24416496#F4A460淡紫色218112214#DA70D6 25512780#FF7F50210180140#D2B48C梅红色221160221#DDA0DD 1783434#B22222 1762331#B0171F00255#0000FF

VC编程实现灰度图像与彩色图像的相互转换要点

VC编程实现灰度图像与彩色图像的相互转换 PhotoShop的图像处理功能很强,其中有一个功能是将灰度图像转换为彩色图像,数字图像处理中,也经常要遇到灰度图像与彩色图像相互转换的问题,如何自己解决这个问题,值得大家探讨,现将我解决这类问题的方法陈述如下: 工程应用中经常要遇到需要把彩色图像到灰度图像的变换的问题,采集卡过来的图像为彩色图像,为加快处理速度,要把彩色图像转换为黑白图象,这个问题比较好解决,一般情况下彩色图像每个像素用三个字节表示,每个字节对应着R、G、B分量的亮度(红、绿、蓝),转换后的黑白图像的一个像素用一个字节表示该点的灰度值,它的值在0~255之间,数值越大,该点越白,既越亮,越小则越黑。转换公式为Gray(i,j)=0.11*R(i,j)+0.59*G(i,j)+0.3*B(i,j),其中Gray(i,j)为转换后的黑白图像在(i,j)点处的灰度值,我们可以观察该式,其中绿色所占的比重最大,所以转换时可以直接使用G值作为转换后的灰度。 至于灰度图像转换为彩色图像,技术上称为灰度图像的伪彩色处理,这是一种视觉效果明显而技术又不是很复杂的图像增强技术。灰度图像中,如果相邻像素点的灰度相差不大,但包含了丰富的信息的话,人眼则无法从图像中提取相应的信息,因为人眼分辨灰度的能力很差,一般只有几十个数量级,但是人眼对彩色信号的分辨率却很强,这样将黑白图像转换为彩色图像人眼可以提取更多的信息量。在转换过程中,经常采用的技术是灰度级-彩色变换,意思就是对黑白图像上的每一个像素点,取得该点的灰度值并送入三个通道经过实施不同的变换,产生相应的R、G、B的亮度值,即所求彩色图像对应像素点的彩色值,具体变换公式很多,我采用的是最常用的一种,变换曲线图如下: 上图中,三个图分别代表了三个变换通道,R、G、B指的是变换后对应点的R、G、B分量值,L指的是各个分量的最大值为255,G(x,y)为相应点的灰度值。理论上就这些,下面是我用VC实现的源代码,图一为我的灰度位图,图二为伪彩色处理后的结果图。我这个实现函数中是如何得到灰度位图的数据的就不多讲了,有兴趣的朋友可参考我在天极网上九月十号发表的《VC灰度位图处理》一文,那里应该讲的很

灰度图像处理及颜色模型转换

灰度图像处理程序代码代码 1.二值图像 function erzhi_Callback(hObject, eventdata, handles) % hObject handle to erzhi (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes2); x=(handles.img); if isrgb(x) msgbox('这是彩色图像,不能转换为二值图像','转换失败'); else j=im2bw(x); imshow(j); end 2.图像腐蚀 function fushi_Callback(hObject, eventdata, handles) % hObject handle to fushi (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes2); x=(handles.img); if isrgb(x) msgbox('这是彩色图像,不能进行图像腐蚀','失败'); else j=im2bw(x); se=eye(5); bw=bwmorph(j,'erode'); imshow(bw); 3.创建索引图像 function chuanjian_Callback(hObject, eventdata, handles) % hObject handle to chuanjian (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes2); x=(handles.img); if isrgb(x) msgbox('这是彩色图像,不能创建索引图像','创建失败'); else y=grayslice(x,16); axes(handles.axes2); imshow(y,jet(16)); end 4.轮廓图

灰度图像转彩色图像代码

clc; clear all; close all; I = imread('q.jpg'); I1 = I; I2 = I; I3 = I; I1(I1>60 & I1<120) = 255; I2(I2>20 & I2<50) = 255; I3(I3>80 & I3<160) = 255; J = cat(3, I1, I2, I3); figure; subplot(1, 2, 1); imshow(I, []); title('By lyqmath 原图', 'FontWeight', 'Bold', 'Color', 'r'); subplot(1, 2, 2); imshow(J, []); title('By lyqmath 彩色图', 'FontWeight', 'Bold', 'Color', 'r'); 二. I = imread('q.jpg'); GS8=grayslice(I,8); GS64=grayslice(I,64); subplot(1,3,1), imshow(I), title('原始灰度图像'); subplot(1,3,2), subimage(GS8,hot(8)), title('分成8层伪彩色'); subplot(1,3,3), subimage(GS64,hot(64)), title('分成64层伪彩色');

k=imread('q.jpg'); [x y z]=size(k); % z should be one for the input image k=double(k); for i=1:x for j=1:y if k(i,j)>=0 & k(i,j)<50 m(i,j,1)=k(i,j,1)+5; m(i,j,2)=k(i,j)+10; m(i,j,3)=k(i,j)+10; end if k(i,j)>=50 & k(i,j)<100 m(i,j,1)=k(i,j)+35; m(i,j,2)=k(i,j)+28; m(i,j,3)=k(i,j)+10; end if k(i,j)>=100 & k(i,j)<150 m(i,j,1)=k(i,j)+52; m(i,j,2)=k(i,j)+30; m(i,j,3)=k(i,j)+15; end if k(i,j)>=150 & k(i,j)<200 m(i,j,1)=k(i,j)+50;

彩色空间转换

实验五彩色空间转换一、 实验目的 掌握MATLAB 中彩色空间的转换 二、实验步骤 1、由RGB 空间转换到YIQ: 读入5.jpg 图像; clc;clear; f = imread('5.jpg') yiq_image=rgb2ntsc(f); imshow(yiq_image) 显示结果如下: 2、由YIQ 彩色空间转换到RGB 空间下: rgb_image=ntsc2rgb(yiq_image); figure,imshow(rgb_image) 转换结果如图:

2、YCbCr 和RGB 彩色空间的相互转换 ycbcr_image=rgb2ycbcr(f); figure,imshow(ycbcr_image) rgb_image=ycbcr2rgb(ycbcr_image); figure,imshow(rgb_image) 效果如下图: 3、HSV 和RGB 彩色空间的相互转换 >> hsv_image=rgb2hsv(f); >> figure,imshow(hsv_image); >> rgb_image=hsv2rgb(hsv_image); >> figure,imshow(rgb_image); 效果如下图: 4、CMY 和RGB 彩色空间的相互转换 >> cmy_image=imcomplement(f); >> figure,imshow(cmy_image); >> rgb_image=imcomplement(cmy_image); >> figure,imshow(rgb_image); 效果如下图:

5、RGB 彩色空间到HSI 彩色空间的转换 hsi=rgb2hsi(f); figure,subplot(141),imshow(hsi) subplot(142),imshow(hsi(:,:,1)) subplot(143),imshow(hsi(:,:,2)) subplot(144),imshow(hsi(:,:,3)) 效果如下图: 三、实验总结 通过本次实验我掌握了MATLAB 中彩色空间的转换的基本方法。本次实验与上次实验联系比较紧密。但本次实验于上次实验相比,难度上有了一些变化,尤其是在RGB 彩色空间到HSI 彩色空间的转换的时候,出现了一点问题。由于在系统中本身没有rgb2hsi这个函数,所以运行时出现了错误,但通过,上网查找资料终于解决了这一问题。总体来说本次实验收获还是比较大的。

颜色的RGB值表示法

颜色的RGB值表示法 从物理光学试验中得出:红、绿、蓝三种色光是其他色光所混合不出来的。而这三种色光以不同比例的混合几乎可以得出自然界所有的颜色。 如红光与不同比例的绿光混合可以得出橙、黄、黄绿等色;红光与不同比例的蓝紫光混合可以得出品红、红紫、紫红蓝;紫光与不同比例的绿光混合可以得出绿蓝、青、青绿。如果蓝紫、绿、红三种光按不同比例混合可以得出更多的颜色,一切颜色都可通过加色混合得出。由于加色混合是色光的混合,因此随着不同色光混合量的增加,色光的明度也渐加强,所以也叫加光混合。当全色光混合时则可趋于白色光,它较任何色光都明亮。 一种颜色的数值一般用这种颜色的RGB值来表示。RGB值指某种颜色中的红(Red)、绿(Green)、蓝(Blue)成分,理论上讲红绿蓝三种基色按照不同的比例混合可以调配出任何一种颜色来。 比如我们调一种桔红色,下图是Photoshop颜色面板中的显示。 这种颜色的十进制颜色值为R=239;G=125;B=49,转换成十六进制为 R=EF;G=7D;B=31。 C语言中写成“RGB(239, 125, 49)”,也可以写成十六进制的形式“0xEF7D31”,在网页HTML代码中写成“#EF7D31”。

颜色中的RGB成分数值范围均为(0~255),用十六进制表示即(0x00~0xFF),这个范围正好占用一个字节(8位)。因此一种颜色含RGB三种成分占用三个字节(24位),这就是24位真彩色的由来了。 如何根据RGB值来判断这是种什么颜色? 下面介绍几种典型颜色的RGB值,格式为:颜色(R,G,B)。 想象一下有红、绿、蓝三盏射灯打出三束光。 这三束光叠加在一起时产生白色,如果三盏灯的亮度都减半就产生了灰色,如果三盏灯都关掉就会一片漆黑了。 白色(255,255,255)灰色(127,127,127)黑色(0,0,0) 关掉绿灯和蓝灯,只亮红灯,那么只会看到一片红色;只亮绿灯或蓝灯则只会看到绿色或蓝色。 红色(255,0,0)绿色(0,255,0)蓝色(0,0,255) 关掉其中一盏灯,用其他两盏灯的光线叠加,则蓝+绿=青,红+蓝=洋红,红+绿=黄。 青色(0,255,255)洋红色(255,0,255)黄色(255,255,0)

实验8多媒体实验颜色空间转换

多媒体实验报告——颜色空间的转换 一、实验目的 通过本章的课程设计,加深对数字图像基础知识的理解,并获得如何处理图像的实际经验,并达到以下目的 1、熟练使用matlab进行图像的读取和显示; 2、了解各种颜色空间的不同; 3、掌握各种颜色空间的转换方法。 二、实验内容 1、完成实验指导书3.5节的内容,掌握颜色空间的转换方法; 2、在以上基础上完成下列程序的编写: 练习1:将图片flowers.tif图像转换为hsv空间图像,并提取hsv空间下的每个分量,对转换后的hsv图像进行调整,并将调整后的图像重新转换为rgb空间图像,要求:(1)用一个显示原始图像。(2)用另一个窗口分四个区域显示hsv的三个分量,以及调整后的图像。 练习2:仿照上面的练习,将rgb空间转换为ycbcr空间,显示要求同上。 三、实验结果(粘贴程序以及程序运行结果,或运行结果的说明) 练习1: (1)编程如下: clear all; clc pic = imread('flowers.tif'); phsv = rgb2hsv(pic); figure(1) subimage(pic):colorbar; figure(2) ph = phsv(:,:,1); ps = phsv(:,:,2); pv = phsv(:,:,3); pm = cat(3,ph,ps,pv); phsv = hsv2rgb(pm); subplot(2,2,1),subimage(ph):colorbar; xlabel('(a)色调分量图像','FontSize',14,'FontName','隶书','color','b');

数字图像处理代码Ch5《彩色图像处理》

例5.1 函数说明。 clc,clear,close all; %函数demo f=imread('Fig0604(a)(iris).tif'); subplot 131;imshow(f);title('(a)RGB图像'); [X1,map1]=rgb2ind(f,8,'nodither'); subplot 132;imshow(X1,map1);title('(b)未经抖动处理的颜色数减少到8的图像'); [X2,map2]=rgb2ind(f,8,'dither'); subplot 133;imshow(X2,map2);title('(c)经抖动处理的颜色数减少到8的图像'); g=rgb2gray(f); g1=dither(g); figure;subplot 121;imshow(g); title('(d)使用函数rgb2gray得到的图(a)的灰度图像'); subplot 122;imshow(g1); title('(e)抖动处理后的灰度图像(二值图像)'); 运行结果:

例5.2 RGB转化为HSI。 clc,clear,close all; %从RGB转化到HSI f=imread('Fig0602(b)(RGB_color_cube).tif'); subplot 221;imshow(f); title('(a)RGB图像'); f1=rgb2hsi(f); H=f1(:,:,1); S=f1(:,:,2); I=f1(:,:,3); subplot 222;imshow(H);title('(b)色调图像'); subplot 223;imshow(S);title('(c)饱和度图像'); subplot 224;imshow(I);title('(d)亮度图像'); 运行结果:

RGB颜色转换方法

RGB转换方法 从#后第1位开始每2位为一组,表示一个颜色的值先换成2进制再换成16进制 第1组为红色 第2组为绿色 第3组为蓝色 下面我把从0到255的十六进制和十进制都列出,等号前为十六进制,等号后为对应的十进制你可以把代码代入进去就知道RGB的色值了 00=0 01=1 求二进制数1011.00的十进制表示。 02=2 解:1x24+0x23+1x22+1x21+1x20+0x2-1+1x2-2+1x2-3 03=3 =16+0+4+2+1+0+0.25+0.125=23.375

04=4 05=5 06=6 07=7 08=8 09=9 0A=10 0B=11 0C=12 0D=13 0E=14 0F=15 10=16 11=17 12=18 13=19 14=20 15=21 16=22 17=23 18=24 19=25

1B=27 1C=28 1D=29 1E=30 1F=31 20=32 21=33 22=34 23=35 24=36 25=37 26=38 27=39 28=40 29=41 2A=42 2B=43 2C=44 2D=45 2E=46 2F=47

31=49 32=50 33=51 34=52 35=53 36=54 37=55 38=56 39=57 3A=58 3B=59 3C=60 3D=61 3E=62 3F=63 40=64 41=65 42=66 43=67 44=68 45=69

47=71 48=72 49=73 4A=74 4B=75 4C=76 4D=77 4E=78 4F=79 50=80 51=81 52=82 53=83 54=84 55=85 56=86 57=87 58=88 59=89 5A=90 5B=91

色彩空间介绍及从RGB到LUV的转换

UV色彩空间介绍及从RGB到LUV的转换收藏 CIE 1931 XYZ 色彩空间(也叫做CIE 1931 色彩空间)是其中一个最先采用数学方式来定义的色彩空间,它由国际照明委员会(CIE)于1931年创立。人类眼睛有对于短(S)、中(M)和长(L)波长光的感受器(叫做视锥细胞),所以原则上只要三个参数便能描述颜色感觉了。在三色加色法模型中,如果某一种颜色和另一种混合了不同份量的三种原色的颜色,均使人类看上去是相同的话,我们把这三种原色的份量称作该颜色的三色刺激值。CIE 1931 色彩空间通常会给出颜色的三色刺激值,并以X、Y和Z来表示。 因为人类眼睛有响应不同波长范围的三种类型的颜色传感器,所有可视颜色的完整绘图是三维的。但是颜色的概念可以分为两部分:明度和色度。例如,白色是明亮的颜色,而灰色被认为是不太亮的白色。换句话说,白色和灰色的色度是一样的,而明度不同。 CIE xyY空间是由XYZ值导出的空间,Y 是颜色的明度或亮度。x和y是CIE xy色度坐标,它们是所有三个三色刺激值X、Y 和Z 的函数所规范化的三个值中的两个: 反变换:(Y是亮度,x和y是色度坐标,已知) 在这里,x和y是色度坐标,CIE 1931色度图如下:

---------------------------------------------------------------------------------- LUV色彩空间全称CIE 1976(L*,u*,v*)(也作CIELUV)色彩空间,L*表示物体亮度,u*和v*是色度。于1976年由国际照明委员会(International Commission on Illumination)提出,由CIE XYZ空间经简单变换得到,具视觉统一性。类似的色彩空间有CIELAB。对于一般的图像,u*和v*的取值范围为-100到+100,亮度为0到100。 ----------------------------------------------------------------------------------- 转换: RGB to LUV 1,RGB to CIE XYZ:

数字图像处理之彩色图像的处理

实验六彩色图像得处理 一、实验目得 1、掌握matlab中RGB图像与索引图像、灰度级图像之间转换函数。 2、了解RGB图像与不同颜色空间之间得转换. 3、掌握彩色图像得直方图处理方法。 二、实验内容及步骤 1、RGB图像与索引图像、灰度级图像得转换。 close all RGB=imread('flowers、tif’); [R_i,map]=rgb2ind(RGB,8);%RGB图像转换为8色得索引图像figure imshow(R_i,map) [R_g]=rgb2gray(RGB);%RGB图像转换为灰度级图像 figure imshow(R_g)

思考: 将RGB图像’flowers、tif’分别转换为32色、256色、1024色索引图像,就是否调色板所表示得颜色值越多图像越好? close all RGB=imread('flowers、tif’); [R_i1,map]=rgb2ind(RGB,8);%RGB图像转换为8色得索引图像[R_i2,map]=rgb2ind(RGB,32);%RGB图像转换为32色得索引图像 [R_i3,map]=rgb2ind(RGB,256);%RGB图像转换为256色得索引图像 [R_i4,map]=rgb2ind(RGB,1024);%RGB图像转换为1024色得索引图像 Subplot(221);imshow(R_i1,map);title(’8色得索引图像'); Subplot(222);imshow(R_i2,map);title(’32色得索引图像'); Subplot(223);imshow(R_i3,map);title('256色得索引图像’); Subplot(224);imshow(R_i4,map);title('1024色得索引图像

C#实现颜色空间转换

实验一颜色空间转换 下载链接:https://www.360docs.net/doc/b514003749.html,/share/link?shareid=139708&uk=521254270 一、实验目的 理解颜色空间的原理,并实现各颜色空间的转换算法. 二、实验内容和步骤 请编程实现以下转换算法: 1.RGB ←→CMY 2.RGB ←→ HSL 3.RGB ←→ HSV 三、实验要求 1. 实现语言不做要求, C, C++, Java, Matlab均可 2. 要求按照课本上的算法实现 3. 请关键语句都加上注释 四、实验结果(本次实验采用C#语言) 1.实验界面截图: (1)初始截图 (2)操作后截图

2.实验代码

using System; using System.Collections.Generic; using https://www.360docs.net/doc/b514003749.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace RGBChange { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //选择转换模式 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { if (comboBox1.Text == "RGB-->CMY" || comboBox1.Text == "RGB--->HSL" || comboBox1.Text == "RGB-->HSV") { label6.Text = "请输入数据,R:[0,255],G:[0,255],B:[0,255]"; label1.Text = "R:"; label2.Text = "G:"; label3.Text = "B:"; } if (comboBox1.Text == "CMY-->RGB" ) { label6.Text = "请输入数据,C:[0,360],M:[0,1],Y:[0,1]"; label1.Text = "C:"; label2.Text = "M:"; label3.Text = "Y:"; } if (comboBox1.Text == "HSV--->RGB" ) { label6.Text = "请输入数据,H:[0,360],S:[0,1],:[0,1] "; label1.Text = "H:"; label2.Text = "S:"; label3.Text = "V:"; }

彩色图像处理

关于彩色图像处理的认识与探究 李时铨 安徽大学 信息与计算科学 2016.5

摘要 随着信息技术的发展,彩色图像的应用也更加广泛。与灰度图像相比,彩色图像携带了更多的可视化信息。彩色图像处理已成为一个重要的研究领域。由于彩色图像中颜色表示的复杂性,本作依照经典RGB模型来进行多重灰度图像处理再合成,而现代彩色图像的处理方法早已是无穷无尽,可见彩色信息在数字图像处理中正得到更大的关注。 灰度图像中的去噪、退化复原、压缩在经过历史的变革以及有层出不穷的办法应对,但是如何同样的作用于彩色图像,想必是有困难的。一副图有许许多多像素的同时,每个像素还带着自己的色彩。基于RGB模型,不难理解,每一幅彩图都是由几张看似灰度的图像叠加形成(基于三原色原理);同时为了色彩更加丰富多变,各种模型体系也崭露头角。 想必全彩色图像处理是基于伪彩色图像处理,伪彩色处理试图将灰度分层,而全彩色处理试图将色彩分层,给予灰度图一样的“待遇”,完成各项操作之后合成回原来的色彩。同时也不难理解,彩色图像的像素点,是一个个向量,这对未来直接处理彩色图像有着莫大的帮助与延伸。 关键词:彩色图像 均值滤波去噪 Lucy Richardson图像复原 图像DCT变换与反变换

Abstract With the development of information technology, the application of color image is also more widely. Compared with the gray image, color images carry more visual information.Color image processing has become an important area of research.Because of the complexity of the color in the color image said, according to the classical RGB model to make a multiple gray image processing and synthesis,however,he modern color image processing method is endless, visible color information in digital image processing is of greater concern. In the gray image noise reduction, degradation of recovery and compression after historical change and there are endless way to deal with, but how also applied to color images, most presumably is difficult.There are many, many pixels of a figure at the same time, each pixel with its own color.Based on the RGB model, it is easy to understand, every color image is formed by some seemingly gray-scale image overlay; At the same time in order to more colorful and changeable, all sorts of model system is emerging. Must have full color image processing is based on pseudo color image processing, and pseudo color processing to gray-scale stratification, and full color processing to color layer, giving the "treatment", like the gray-scale complete synthesis of back to the original color after the operations.It is not difficult to understand at the same time, color image pixels, is a vector, this directly with color images for the future with a great deal of help and extension. Key Words:Color image processing Noise reduction with average filtering Image restoration by Lucy Richardson Image DCT transform and inverse transform

彩色图片分割法代码

I_rgb = imread('E:\road\liuzebei.bmp'); %读取文件数据 figure(); imshow(I_rgb); %显示原图 title('原始图像'); %将彩色图像从RGB转化到lab彩色空间 C = makecform('srgb2lab'); %设置转换格式 I_lab = applycform(I_rgb, C); %进行K-mean聚类将图像分割成3个区域 ab = double(I_lab(:,:,2:3)); %取出lab空间的a分量和b分量 nrows = size(ab,1); ncols = size(ab,2); ab = reshape(ab,nrows*ncols,2); nColors = 3; %分割的区域个数为3 [cluster_idx cluster_center] = kmeans(ab,nColors,'distance','sqEuclidean','Replicates',3); %重复聚类3次pixel_labels = reshape(cluster_idx,nrows,ncols); figure(); imshow(pixel_labels,[]), title('聚类结果'); %显示分割后的各个区域 segmented_images = cell(1,3); rgb_label = repmat(pixel_labels,[1 1 3]); for k = 1:nColors color = I_rgb; color(rgb_label ~= k) = 0; segmented_images{k} = color; end figure(),imshow(segmented_images{1}), title('分割结果——区域1'); figure(),imshow(segmented_images{2}), title('分割结果——区域2'); figure(),imshow(segmented_images{3}), title('分割结果——区域3');

几种典型的颜色空间

几种典型的颜色空间 (一)CIE色度模型 国际照明委员会(CIE,Commission Internationale de L'Eclairage / International Commission on Illumination)的色度模型是最早使用的模型之一。它是三维模型,其中,x和y两维定义颜色,第3维定义亮度。 CIE 在1976 年规定了两种颜色空间。一种是用于自照明的颜色空间,叫做CIE LUV(图06-02-2)。 图06-02-2 CIE 1976 Lu’v’色度图 另一种用于非自照明的颜色空间,叫做CIE 1976 L*a*b*,或者叫CIE LAB。CIE LAB 系统使用的坐标叫做对色坐标(opponent color coordinate),如图06-02-3 所示。CIELAB 使用b*, a *和 L*坐标轴定义CIE 颜色空间。其中,L*值代表光亮度,其值从0(黑色)~100(白色)。b*和a*代表色度坐标,其中a*代表红-绿轴,b*代表黄-蓝轴,它们的值从0到10。a* = b*= 0表示无色,因此L*就代表从黑到白的比例系数。使用对色坐标(opponet color coordinate)的想法来自这样的概念:颜色不能同时是红和绿,或者同时是黄和蓝,但颜色可以被认为是红和黄、红和蓝、绿和黄以及绿和蓝的组合。 图06-02-3 CIE LAB 颜色空间 CIE XYZ 是国际照明委员会在1931 年开发并在1964年修订的CIE 颜色系统(CIE Color System),该系统是其他颜色系统的基础。它使用相应于红、绿和蓝三种颜色作为三种基色,而所有其他颜色都从这三种颜色中导出。通过相加混色或者相减混色,任何色调都可以使用不同量的基色产生。CIE 1931 色度

相关文档
最新文档