彩色图像处理

上传人:飞*** 文档编号:52229769 上传时间:2018-08-19 格式:PPT 页数:59 大小:7.36MB
返回 下载 相关 举报
彩色图像处理_第1页
第1页 / 共59页
彩色图像处理_第2页
第2页 / 共59页
彩色图像处理_第3页
第3页 / 共59页
彩色图像处理_第4页
第4页 / 共59页
彩色图像处理_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《彩色图像处理》由会员分享,可在线阅读,更多相关《彩色图像处理(59页珍藏版)》请在金锄头文库上搜索。

1、数字图像处理Digital Image Processing电子科技大学中山学院计算机工程系 邹昆 Email:第六章 彩色图像处理第6章 彩色图像处理在图像处理中,颜色的运用受两个主要因素 推动:o颜色是一个强有力的描绘子,它常常可简 化目标物的识别和提取。o人可以辨别几千种不同的颜色,但只能区 分出几十种灰度级,这使得颜色在人工图 像分析中显得特别重要。第6章 彩色图像处理彩色图像处理分为两大类:o全彩色处理 图像为彩色图o伪彩色处理 图像为灰度图,为每个灰度区间赋予不同 的颜色而成为彩色图第6章 彩色图像处理前面章节中所介绍的图像处理方法,某些可 以直接应用于彩色图像处理,而其他的需要

2、做适当修改后才可应用于处理彩色图像。本章内容可分为三大块:o颜色基础知识和颜色模型o伪彩色处理o全彩色处理6.1 彩色基础白光通过棱镜时看到的色谱6种颜色?No!电磁波谱中的可见光部分6.1 彩色基础o人眼所感知到的物体的颜色由物体反射光 的特性所决定。o人眼内的锥状体分为三类,分别对红、绿 、蓝光敏感。 对红光敏感的锥状体占65% 对绿光敏感的锥状体占33% 对蓝光敏感的锥状体占2%(敏感度最高)6.1 彩色基础眼内三种锥状体的光吸收情况CIE(国际照明委员会)规定的三原色对应的光的波长为: 蓝:435.8nm绿:546.1nm红:700nm为何不一致?注意:三原色并 不意味着所有颜 色均能

3、由这三种 颜色按一定比例 混合得到6.1 彩色基础o三原色混色原理: 红+蓝=品红 绿+蓝=青 红+绿=黄品红、青、黄称为合成色 它们是颜料的三原色6.1 彩色基础颜色的特性:o亮度:与灰度图像的灰度值类似o色调:任何一种颜色的光都是由若干波长不同 的光混合而成,其中比重最大的那种光的颜色 即为色调。o饱和度:由色调所对应光在混合光中的比重决 定。也可理解该纯色光被白光冲淡的多少,白 光越多饱和度越低。 色调和饱和度统称为色度。6.1 彩色基础oCIE色度图如何看一种颜色的色 调和饱和度?如何确定任何两种或 三种颜色之间的混色 ?6.1 彩色基础o一般彩色显示器和 打印设备的色阶6.1 彩色基

4、础习题6.2: 考虑任何两种有效的颜色c1和c2,其在图6.5 所示色度图中坐标为(x1, y1)和(x2, y2),推导 出 计算构成给定颜色所需c1和c2百分比的通用 表 达式,其中该颜色位于连接这两种彩色的直 线上。6.2 彩色模型o彩色模型(也称彩色空间或彩色系统)是为 了按照某种标准来指定颜色。o从本质上说,彩色模型是一个坐标系统, 在该系统下的一个子空间中,每种颜色都 对应其中一个点。6.2 彩色模型彩色模型的设计通常是为了便于硬件实现或 便于对颜色的控制。oRGB模型:在彩色显示器、彩色摄像机中广泛使用oCMY / CMYK模型:用于彩色打印oHSI模型:与人描述和解释颜色的方式

5、最 接近,便于人为指定颜色;同时该模型将 颜色和灰度信息分开,便于应用灰度图像 处理技术来处理彩色图像。6.2.1 RGB彩色模型oRGB彩色立方体示意图6.2.1 RGB彩色模型o用RGB彩色模型表示的图像包含有3个图 像分量,分别与红、绿、蓝三原色相对应 。o当送入RGB监视器时,这三幅图像在荧光 屏上混合产生一幅合成的彩色图像。o在RGB空间中,用于表示每一像素的比特 数称为像素深度。如24比特深度的图像通常称为全彩色或真彩色图像6.2.1 RGB彩色模型(a) 生成模型中横截面(127,G,B)的彩色RGB图像 (b) 模型中三个隐藏的表面彩色平面6.2.1 RGB彩色模型o安全RGB

6、 颜色(全系 统安全颜 色/安全 Web颜色 /安全浏览 器颜色)6.2.2 CMY和CMYK模型oC(Cyan 青)M(Magenta 品红)Y(Yellow 黄) 是颜料的三原色。 青色颜料:吸收红光 品红颜料:吸收绿光 黄色颜料:吸收蓝光 例如:当白光照到青色颜料上,红光被吸 收,返回绿光和蓝光,所以呈现青色。 CMY / CMYK模型主要用于打印设备6.2.2 CMY和CMYK模型oCMY模型和RGB模型间的关系:o等量的青色、品红和黄色应该产生黑色。 但实际产生的黑色不够纯正,另外加上价 格因素,引入黑色(打印的主色),构成 CMYK模型。6.2.3 HSI彩色模型oRGB及CMY适

7、合颜色的生成和显示,但 不适合人为指定颜色。oHSI模型与人眼对颜色的描述很相似,如 淡紫、深红等等。 H:Hue 色调 S:Saturation 饱和度 I:Intensity 强度/灰度6.2.3 HSI彩色模型oRGB和HSI模型间的关系6.2.3 HSI彩色模型oHSI模型中的 色调和饱和度6.2.3 HSI彩色模型o基于(a)三角形和(b)圆 形彩色平面的HSI彩色 模型。三角形和圆形平 面垂直于灰度轴。6.2.3 HSI彩色模型o从RGB到HSI的彩色转换假设RGB值已归一化到0, 1范围内,则注意:实现中的范围调整问题不等于实验中的转灰度后的图像6.2.3 HSI彩色模型o从HS

8、I到RGB的彩色转换假设HSI值已归一化到0, 1范围内。首先将H乘 以360,恢复到0, 360范围内。根据H的范围 使用不同公式。RG扇区(0H120):其他两种情况见书P2376.2.3 HSI彩色模型图6.8对应的HSI分量。(a) 色调 (b) 饱和度 (c) 强度/灰度6.2.3 HSI彩色模型RGB图像和 对应的HSI分量图像(a) RGB图像 (b) 色调 (c) 饱和度 (d) 强度/灰度6.2.3 HSI彩色模型示例: 通过修改HSI分量来改变图像外观(a)-(c)修改后的HSI分量图像 (d) 最终的RGB图像补充内容根据图像数据中是否包含调色板,可将图像 分为索引图像和

9、非索引图像。o非索引图像:像素数据区存放的是颜色值 。真彩图像(24位以上)为非索引图,存放 顺序:B G Ro索引图像:像素数据区存放的是颜色索引 值,其对应的颜色从调色板中获取。最常 见的索引图像为8位图像。用CImage快速存取像素值o使用GetPixel和SetPixel虽然方便,但效率 很低。o快速取像素方法:用GetPixelAddress函数 取像素地址(BYTE型指针)。判断是否为 索引图,不是索引图则用指针直接取RGB 值,每次取一个BYTE,即RGB当中一个 分量。是索引图则用指针取索引值,并获 取调色板,根据索引值从调色板中获取 RGB值。BYTE* p = (BYTE*

10、)image-GetPixelAddress(x,y);/取像素值地址 RGBQUAD rgb; if( image-IsIndexed() ) / 如果是索引图 int ncolors = image-GetMaxColorTableEntries();/取调色板颜色数 RGBQUAD *pColorTable = new RGBQUADncolors; image-GetColorTable(0, ncolors, pColorTable );/取调色板 rgb = pColorTable*p;/得到像素值 delete pColorTable; else / 非索引图,24位以上 rgb

11、.rgbBlue = *p+; rgb.rgbGreen = *p+; rgb.rgbRed = *p+; if(image-GetBPP() 24) rgb.rgbReserved = *p; 用CImage快速存取像素值o快速设置像素方法:用GetPixelAddress函 数取像素地址(BYTE型指针)。判断是否 为索引图,不是索引图则用指针直接设置 RGB值,每次设置一个BYTE,即RGB当 中一个分量。是索引图则获取调色板,从 调色板中获取与RGB值最接近的颜色,取 其索引值,用指针将当前像素索引设为该 索引值。/取与颜色c最接近的调色板索引值,适用于索引图像 BYTE GetNea

12、restIndex(const CImage* pImgSrc,RGBQUAD c) if (!pImgSrc)|(pImgSrc-IsIndexed()=false) return 0;int ncolors = pImgSrc-GetMaxColorTableEntries();/取调色板颜色数目 RGBQUAD *prgbColors = new RGBQUADncolors; pImgSrc-GetColorTable(0,ncolors,prgbColors);/取调色板long distance = 200000; int i,j = 0; long k; RGBQUAD colo

13、r; for(i=0;i = pImgSrc-GetWidth()|(y = pImgSrc-GetHeight() return; if (pImgSrc-IsIndexed()/索引图像 SetPixelIndex(pImgSrc,x,y,GetNearestIndex(pImgSrc,c); else /非索引图像 BYTE* iDst = (BYTE*)pImgSrc-GetPixelAddress(x,y); *iDst+ = c.rgbBlue; *iDst+ = c.rgbGreen; *iDst+ = c.rgbRed; if(pImgSrc-GetBPP() 24) *iDs

14、t = c.rgbReserved; 6.3 伪彩色图像处理o伪彩色(又称假彩色)图像处理是根据特定 的准则对灰度值赋以彩色的处理,即将灰 度图转换为彩色图。o其目的是为了方便人更清楚地分析灰度图 中的灰度层次。因为人眼对彩色的分辨能 力比对灰度的分辨能力更强。6.3.1 强度分层o强度分层(又称为密度分层)和彩色编码是 最简单的一种伪彩色图像处理方法。o将灰度图像中的像素灰度理解为高度,则 可以将图像转为3维。通过插入分割平面 ,将图像划分为不同的“层”,为每一层赋 以一种彩色。6.3.1 强度分层强度分层技术的几何解释强度分层技术另一种表示6.3.1 强度分层(a)Picker甲状腺模型的

15、单色图像;(b) 强度分为8层后进行伪彩色处理的结果6.3.1 强度分层(a) 焊点的单色X光图像 (b) 彩色编码后的结果6.3.1 强度分层6.4 全彩色图像处理基础全彩色图像处理方法分为两类:o独立地处理彩色图像的RGB分量图像,然 后组合成为一幅彩色图像。o将每个像素的RGB值看成一个整体,即一 个3维向量,对这个整体的属性进行处理 。6.4 全彩色图像处理基础能用第一种方法的前提:o该操作既可用于向量,也可用于标量o应用于向量时,各分量的处理结果互不相 关 例如:线性滤波6.5 彩色变换o注意:这里的彩色是相对第三章中的灰度 变换而言的,不是指色彩空间的变换。与灰度变换的区别在于,此

16、时f (x, y)是一 个向量,有三个分量。6.5 彩色变换回顾第三章学过的灰度变换:o灰度反转 s = L 1 r 彩色反转o对数变换 s = c log(1 + r)o幂律变换 s = c ro分段线性变换o直方图均衡o直方图拉伸 后三种不能用分别处理RGB分量的方式处理6.5 彩色变换o彩色反转(求补色)(底片效果)补色:彩色环中相对的颜色为补色。一种颜色和它的补色相加等于白色。6.5 彩色变换6.5 彩色变换o幂律变换6.5 彩色变换o幂律变换6.5 彩色变换o彩色切分 突出图像中某一色彩范围的内容。 相似性度量:利用色彩空间中的距离6.5 彩色变换o彩色切分6.5 彩色变换o直方图处理 直方图处理方法(如直方图均衡、直方图 拉伸等)针对每幅灰度图自动计算灰度变 换函数,如将彩色图像作为三幅灰度图来 处理,则RGB通道的变换函数不同,即对 同一像素的RGB分量做了不同处理,会引 起色彩失真。6.5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号