真彩色图像处理.doc

上传人:F****n 文档编号:101146760 上传时间:2019-09-26 格式:DOC 页数:10 大小:185.50KB
返回 下载 相关 举报
真彩色图像处理.doc_第1页
第1页 / 共10页
真彩色图像处理.doc_第2页
第2页 / 共10页
真彩色图像处理.doc_第3页
第3页 / 共10页
真彩色图像处理.doc_第4页
第4页 / 共10页
真彩色图像处理.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

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

1、第四部分 真彩色增强彩色图像(RGB)RGB模型变换为HSI模型色调H亮度I饱和度S直方图修改HSI模型变换为RGB模型增强的彩色图像RGB一、真彩色增强方法 图4.1 真彩色增强原理图1、 对HSI图像亮度增强、将R,G,B分量图转化为H,S,I分量图;、利用对灰度图增强的方法增强其中的I分量图;、再将结果转化为用R,G,B分量图来显示。以上方法并不改变原图的彩色内容,但增强后的图看起来会有些不同。这是因为尽管色调和饱和度没有变化,但亮度分量得到了增强,整个图会比原来更亮一些。图4.3是基于matlab以增强亮度的方法进行真彩色增强的图像,其代码见附录(a) 增强前图像 (b) 增强后图像

2、图4.2 对HSI进行亮度增强结果结论:图(b)明显比图(a)要亮的多,在视觉效果上,图(b)比较让人觉得美好。2、 对HSI图像进行对比度增强图4.4是基于matlab以增强对比度的方法进行真彩色增强的图像,其代码见附录图4.3 对HSI增强对比度增强的 结论:图(b)的视觉效果明显比图(a)要好的多,清晰的多,颜色比(a)要深。3、 对HSI图像进行亮度和饱和度的增强图4.5是基于matlab以增强亮度和饱和度的方法进行真彩色增强的图像,其代码见附录图4.4 对HSI图像进行增强结果结论:这是对前两个方法的综合, 很显然,图(b)比图(a)要亮,要清晰,视觉效果比以上两种方法分别做要好的多

3、。 2、 直接在rgb空间对图像增强 图4.6是基于matlab在rgb空间增强图像,其代码见附录 图4.5 对RGB图像进行增强结果以下是基于matlab以增强亮度的方法进行真彩色增强的代码:% 彩色图像亮度增强 (执行速度较慢)clcclearfc = imread(E:maomao.jpg);figure(1);imshow(fc)title(原始真彩色(256*256*256色)图像)fr = fc(:,:,1);fg = fc(:,:,2);fb = fc(:,:,3); % imshow(fr)% title(红色分量图像)% imshow(fg)% title(绿色分量图像)%

4、imshow(fb)% title(蓝色分量图像) h = rgb2hsi(fc);H = h(:,:,1);S = h(:,:,2);I = h(:,:,3);I =I*1.5;% imshow(H)% title(色调分量图像)% imshow(S)% title(饱和度分量图像)% imshow(I)% title(亮度分量图像)h = cat(3,H,S,I);%cat函数是拼接数组的函数,这里将在第3维上进行拼接。f = hsi2rgb(h);%增强亮度分量后的rgb图像f = min(f,1);%保证元素值最大为1,因为按公式转换为rgb后可能出现大于1的情况figure(2);i

5、mshow(f)title(仅增强HSI图像的亮度分量所得到的RGB图像)基于matlab以增强对比度的方法进行真彩色增强代码:% 例6.8 彩色图像亮度增强 (执行速度较慢)clcclearfc = imread(I:maomao.jpg);figure(1);imshow(fc)title(原始真彩色(256*256*256色)图像)fr = fc(:,:,1);fg = fc(:,:,2);fb = fc(:,:,3); % imshow(fr)% title(红色分量图像)% imshow(fg)% title(绿色分量图像)% imshow(fb)% title(蓝色分量图像) h

6、= rgb2hsi(fc);H = h(:,:,1);S = h(:,:,2);I = h(:,:,3);S=S*2.0;% imshow(H)% title(色调分量图像)% imshow(S)% title(饱和度分量图像)% imshow(I)% title(亮度分量图像)h = cat(3,H,S,I);%cat函数是拼接数组的函数,这里将在第3维上进行拼接。f = hsi2rgb(h);%增强亮度分量后的rgb图像f = min(f,1);%保证元素值最大为1,因为按公式转换为rgb后可能出现大于1的情况figure(2);imshow(f)title(增强HSI图像的对比度所得到的

7、RGB图像)基于matlab以增强亮度和饱和度的方法进行真彩色增强的图像% 例6.8 彩色图像亮度增强 (执行速度较慢)clcclearfc = imread(I:maomao.jpg);figure(1);imshow(fc) fr = fc(:,:,1);fg = fc(:,:,2);fb = fc(:,:,3); % imshow(fr)% title(红色分量图像)% imshow(fg)% title(绿色分量图像)% imshow(fb)% title(蓝色分量图像)h = rgb2hsi(fc);H = h(:,:,1);S = h(:,:,2);I = h(:,:,3);I =

8、I*2.0;S =S*2.0;% imshow(H)% title(色调分量图像)% imshow(S)% title(饱和度分量图像)% imshow(I)% title(亮度分量图像)h = cat(3,H,S,I);%cat函数是拼接数组的函数,这里将在第3维上进行拼接。f = hsi2rgb(h);%增强亮度分量后的rgb图像f = min(f,1);%保证元素值最大为1,因为按公式转换为rgb后可能出现大于1的情况figure(2);imshow(f)rgb图像转化为hsi图像的代码:rgb2hsi(rgb)function hsi = rgb2hsi(rgb)%RGB2HSI Co

9、nverts an RGB image 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 undefin

10、ed. The input image 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(

11、:, :, 3) = intensity image, in the range 0, 1.% Copyright 2002-2004 R. C. Gonzalez, R. E. Woods, & S. L. Eddins% Digital Image Processing Using MATLAB, Prentice-Hall, 2004% $Revision: 1.5 $ $Date: 2005/01/18 13:44:59 $% Extract the individual component images.rgb = im2double(rgb);r = rgb(:, :, 1);g

12、= 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 - 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 =

13、0) = 0; I = (r + g + b)/3;% Combine all three results into an hsi image.hsi = cat(3, H, S, I);hsi图像转化为rgb图像的代码:hsi2rgb(hsi)function rgb = hsi2rgb(hsi)%HSI2RGB Converts an HSI image to RGB.% RGB = HSI2RGB(HSI) converts an HSI image to RGB, where HSI is% assumed to be of class double with: % hsi(:, :,

14、 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 image are:% rgb(:, :, 1) = red.% rgb(:, :, 2) = green.% rgb(:, :, 3) = blue.% Copyright 2002-2004 R. C. Gonzalez, R. E. Woods, & S. L. Eddins% Digital Image Processing Using MATLAB, Prentice-Hall, 2004% $Revision: 1.5 $

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

当前位置:首页 > 办公文档 > 教学/培训

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