数字图像处理学ppt课件.ppt

上传人:小飞机 文档编号:1342105 上传时间:2022-11-11 格式:PPT 页数:80 大小:14.80MB
返回 下载 相关 举报
数字图像处理学ppt课件.ppt_第1页
第1页 / 共80页
数字图像处理学ppt课件.ppt_第2页
第2页 / 共80页
数字图像处理学ppt课件.ppt_第3页
第3页 / 共80页
数字图像处理学ppt课件.ppt_第4页
第4页 / 共80页
数字图像处理学ppt课件.ppt_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《数字图像处理学ppt课件.ppt》由会员分享,可在线阅读,更多相关《数字图像处理学ppt课件.ppt(80页珍藏版)》请在三一办公上搜索。

1、6.1MATLAB中彩色图像的表示方法 MATLAB中的彩色图像可表示为RGB图像和索引图像。RGB图像 RGB图像就是彩色像素的一个MXNX3数组,其中每一个彩色像素点都是在特定空间位置的彩色图像相对应的红、绿、蓝三个分量。,第6章 彩色图像处理,RGB也可以看成是一个由三幅灰度图像形成的“堆”,当将其送到彩色监视器的红、绿、蓝输入端时,便在屏幕上产生了一幅彩色图像。 形成RGB彩色图像的三个图像称为红、绿、蓝分量图像,分量图像中像素值的比特数决定了一幅RGB图像的比特深度。,RGB图像的合成 令fR,fG和fB分别代表三种RGB分量图像。一幅RGB的图像就是利用cat操作符将这些分量图像组

2、合成的彩色图像。 rgb_image=cat(3,fR,fG,fB) cat(dim,A1,A2, )沿着dim指定的方向级联数组。若dim1,则数组垂直放置,若dim 2,则数组水平放置,若dim3,则他们会在第三个方向放置。,从RGB图像中提取分量图像 fR=rgb_image(:,:,1); fG=rgb_image(:,:,2); fB=rgb_image(:,:,3);,RGB彩色空间 函数rgbcube可以从任何透视方向观察彩色立方体。 语法:rgbcube(vx,vy,vz),function rgbcube(vx, vy, vz)vertices_matrix = 0 0 0;

3、0 0 1;0 1 0;0 1 1;1 0 0;1 0 1;1 1 0;1 1 1;faces_matrix = 1 5 6 2;1 3 7 5;1 2 4 3;2 4 8 6;3 7 8 4;5 6 8 7;colors = vertices_matrix; patch(Vertices, vertices_matrix, Faces, faces_matrix, . FaceVertexCData, colors, FaceColor, interp, . EdgeAlpha, 0),if nargin = 0 vx = 10; vy = 10; vz = 4; elseif nargin

4、 = 3 error(Wrong number of inputs.) end axis off view(vx, vy, vz) axis square,索引图像 索引图像有两个分量,即整数的数据矩阵X和彩色映射矩阵map。矩阵map是一个大小为为m3且由范围在0,1之间的的浮点值构成的double类数组。 map的长度m同它所定义的颜色数目相等。索引图像将像素的亮度值“直接映射”到彩色值。,显示索引图像 image(X) colormap(map) 用较少的颜色来近似一幅索引图像: Y,newmap=imapprox(X,map,n) 指定一幅彩色图: map(k,:)=r(k),g(k)

5、,b(k),修改图像的背景色 whitebg(g) whitebg(green) whitebg(0,1,0),预定义的彩色映射 colormap(copper); copper 是MATLAB预定义的彩色映射之一。该图中的颜色从黑色到明亮的紫铜色平稳变化。 imshow(X,copper),RGB图像和索引图像相互转换 抖动函数dither可用于灰度图像和彩色图像。“抖动”是在印刷业和出版业常用的一种处理。它在由点组成的印刷页上给出色调变化的直观效果。在灰度图像的情况下,“抖动”调色试图用在白色背景上产生黑点的二值图像来得到灰色调。点的大小变化多样,从明亮区域的小点到黑暗区域的逐渐增大的较大

6、点。 bw=dither(gray_image),从灰度级亮度图像通过多级阈值创建索引图像 X=grayslice(gray_image,n); X=grayslice(gray_image,v); 从灰度级亮度图像创建索引图像 X,map=gray2ind(gray_image,n) 从索引图像创建灰度级亮度图像 gray_image=ind2gray(X,map),从RGB图像创建索引图像 X,map=gray2ind(rgb_image,n, dither_option); 从索引图像创建RGB图像 rgb_image=ind2rgb(X,map) 从RGB图像创建灰度图像 gray_i

7、mage=rgb2gray(rgb_image),X1,map1=rgb2ind(f,8,nodither); imshow(X1,map1) X2,map2=rgb2ind(f,8,dither); imshow(X2,map2) g=rgb2gray(f); g1=dither(g); imshow(g),figure,imshow(g1),NTSC彩色空间 NTSC彩色制式在美国用于电视系统。这种形式的一个主要优势是灰度信息和彩色信息是分离的,所以同一个信号既可以用于彩色电视机,又可以用于黑白电视机。在NTSC制式中,图像数据由三步分组成:亮度(Y)、色调(I)和饱和度(Q)。,6.2

8、转换至其他彩色空间,yiq=rgb2ntsc(q); imshow(yiq) y1=yiq(:,:,1); %亮度 imshow(y1) y2=yiq(:,:,2); %色调 imshow(y2) y3=yiq(:,:,3); %饱和度 imshow(y3),YCbCr彩色空间 YCbCr彩色空间广泛应用于数字视频。在这种格式中,亮度信息用单个分量Y来表示,彩色信息用两个色差分量Cb和Cr来存储。分量Cb是蓝色分量和一个参考值的差,分量Cr是红色分量和一个参考值的差。,将RGB转化为YCbCr: ycb=rgb2ycbcr(q); imshow(ycb) 将YCbCr转化为RGB: rgb=y

9、cbcr2rgb(ycb); imshow(rgb),HSV彩色空间 HSV(色调,饱和度,数值)是人们用来从调色板或颜色轮中挑选颜色所用的彩色系统之一。 将RGB转换为HSV的函数为rgb2hsv hsv=rgb2hsv(q); imshow(hsv) 将HSV转换为RGB的函数为hsv2rgb rgb=hsv2rgb(hsv); imshow(rgb),CMY和CMYK彩色空间 青色,品红色,黄色是光的三原色,大多数将颜料沉淀于纸上的设备,如彩色打印机和复印机,都需要CMY输入。 变换函数:imcomplement cmy=imcomplement(rgb); imshow(cmy) rg

10、b=imcomplement(cmy); imshow(rgb),HIS彩色空间 HIS彩色空间是指色调 (hue)、饱和度(saturation)和亮度(intensity)彩色空间。,RGB与HIS彩色模型间的关系 亮度轴:连接RGB立方体白色顶点与黑色顶点的连线。 亮度轴上的点的饱和度均为0,所有点都是灰色的。 HIS空间可看做由一个垂直的亮度轴以及垂直于此轴的一个平面的彩色点的轨迹组成。,将颜色从RGB转换为HSI,将颜色从HSI转换为RGB RG区:,GB区:,BR区:,function hsi = rgb2hsi(rgb)%RGB2HSI Converts an RGB image

11、 to HSI.% HSI = RGB2HSI(RGB) converts an RGB image to HSI. The input image% is assumed to be of size M-by-N-by-3, where the third dimension% accounts for three image planes: red, green, and blue, in that% order. If all RGB component images are equal, the HSI conversion% is undefined. The input image

12、 can be of class double (with values% in the range 0, 1), uint8, or uint16.,% The output image, HSI, is of class double, where:%hsi(:, :, 1) = hue image normalized to the range 0, 1 by dividing all angle values by 2*pi. % hsi(:, :, 2) = saturation image, in the range 0, 1.% hsi(:, :, 3) = intensity

13、image, in the range 0, 1.% Extract the individual component immages.rgb = im2double(rgb);r = rgb(:, :, 1);g = rgb(:, :, 2);b = rgb(:, :, 3);,% Implement the conversion equations.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 -

14、 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;% Combine all three results into an hsi image.hsi = cat(3, H, S, I);,function rgb = hsi2rgb(hsi)%HSI2RGB Converts an HSI image to RGB.% RGB = HSI2RGB(HSI) converts an

15、HSI image to RGB, where HSI is% assumed to be of class double with: % hsi(:, :, 1) = hue image, assumed to be in the range 0, 1 by having been divided by 2*pi.% hsi(:, :, 2) = saturation image, in the range 0, 1.% hsi(:, :, 3) = intensity image, in the range 0, 1.,% The components of the output imag

16、e are:% rgb(:, :, 1) = red.% rgb(:, :, 2) = green.% rgb(:, :, 3) = blue.% Extract the individual HSI component images.H = hsi(:, :, 1) * 2 * pi;S = hsi(:, :, 2);I = hsi(:, :, 3);,% Implement the conversion equations.R = zeros(size(hsi, 1), size(hsi, 2);G = zeros(size(hsi, 1), size(hsi, 2);B = zeros(

17、size(hsi, 1), size(hsi, 2);% RG sector (0 = H 2*pi/3).idx = find( (0 = H) ,% BG sector (2*pi/3 = H 4*pi/3).idx = find( (2*pi/3 = H) ,% BR sector.idx = find( (4*pi/3 = H) ,彩色图像处理的内容 1.彩色变换(彩色映射):彩色变换以像素值为基础,而不是以他们的空间坐标为基础。 2.彩色图像滤波以彩色平面的形式进行空间邻域滤波 3.彩色向量处理:以同时处理彩色图像的所有分量为基础的处理技术。,6.3 彩色图像处理基础,彩色变换 彩色

18、变换模型: si=Ti(ri), i=1,2,3, ,n 其中,ri和si是输入和输出图像的彩色分量, n是ri的彩色空间的维数,Ti是全彩色变换函数。 若输入图像是单色的,则方程的形式为 si=Ti(r), i=1,2,3, ,n r表示灰度的值,Ti是伪彩色变换函数。,图形法指定变换(映射)函数 1.线性插值 2.三次样条(平滑)插值 线性插值函数: z=interplg(x,y,xi) x,y表示控制点的水平和垂直坐标,xi表示插入点,z表示在点xi处使用一维函数线性插值得到的值。,三次样条插值函数: z=spline(x,y,xi),交互式指定变换(映射)函数 ice函数+GUI(图形

19、用户界面) ice函数格式: g=ice(Property Name,Property Value ) ice函数的有效输入见表6.4 g=ice(image,f);,单色负片和彩色补色的逆映射 单色负片的逆映射是通过imcomplement完成的。彩色补色的逆映射是通过在ice的界面上,对控制点(0,0)的移动( (0,0)到(0,1))和控制点(1,1)的移动( (1,1)到(1,0))的。,单色和彩色对比度增强 启用ice界面中的Show PDF对话框。 对单色和彩色图像分别作直方图均衡化处理。,伪彩色增强 当一幅黑白图像在RGB彩色空间中显示且单独对产生的分量进行映射时,变换的结果就是

20、一幅伪彩色图像,其中输入的图像的灰度级被任意彩色代替。 伪彩色映射通常用来细微的改变灰度以便人眼更易察觉,或者突出重要的灰度级区域。,彩色平衡 函数ice仅接受RGB和单色图像输入,但通过彩色空间变换,能在各种彩色空间中处理输入图像。 f2=ice(image,f1,space,CMY),基于映射的直方图 直方图分别均衡化彩色图像的分量是不明智的,其结果是经常产生错误的颜色。一种更适合的方法是均衡地扩展彩色亮度,而保留彩色本身不变。,彩色图像平滑 线性空间滤波器平滑RGB图像fc的步骤: 1 提取三幅分量图像 2 分别对每幅图像进行滤波 3 重建滤波后的RGB图像,6.4 彩色图像的空间滤波,

21、彩色图像线性空间滤波的执行过程 fr=fc(:,:,1); fg=fc(:,:,2); fb=fc(:,:,3); w=fspecial(average,25); r=imfilter(fr,w); g=imfilter(fg,w); b=imfilter(fb,w); fc2=cat(3,r,g,b); imshow(fc2, ),彩色图像锐化 w=ones(5) f2=imfilter(double(fb),w); imshow(f2, ) lapmask=1 1 1;1 -8 1;1 1 1 ; fen=imsubtract(fb, imfilter(fb,lapmask,replicate); figure,imshow(fen, ),

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号