真彩色图像处理

上传人:痛*** 文档编号:118894271 上传时间:2022-07-12 格式:DOC 页数:10 大小:202.12KB
收藏 版权申诉 举报 下载
真彩色图像处理_第1页
第1页 / 共10页
真彩色图像处理_第2页
第2页 / 共10页
真彩色图像处理_第3页
第3页 / 共10页
资源描述:

《真彩色图像处理》由会员分享,可在线阅读,更多相关《真彩色图像处理(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、。 二、 直接在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.% Copyr

15、ight 2002-2004 R. C. Gonzalez, R. E. Woods, & S. L. Eddins% Digital Image Processing Using MATLAB, Prentice-Hall, 2004% $Revision: 1.5 $ $Date: 2003/10/13 01:01:06 $% Extract the individual HSI component images.hsi=im2double(hsi);H = hsi(:, :, 1) * 2 * pi;S = hsi(:, :, 2);I = hsi(:, :, 3);% Implemen

16、t the conversion equations.R = zeros(size(hsi, 1), size(hsi, 2);G = zeros(size(hsi, 1), size(hsi, 2);B = zeros(size(hsi, 1), size(hsi, 2);% RG sector (0 = H 2*pi/3).idx = find( (0 = H) & (H 2*pi/3);B(idx) = I(idx) .* (1 - S(idx);R(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx) ./ cos(pi/3 - H(idx);G(idx

17、) = 3*I(idx) - (R(idx) + B(idx); % BG sector (2*pi/3 = H 4*pi/3).idx = find( (2*pi/3 = H) & (H 4*pi/3) );R(idx) = I(idx) .* (1 - S(idx);G(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx) - 2*pi/3) ./ . cos(pi - H(idx);B(idx) = 3*I(idx) - (R(idx) + G(idx);% BR sector.idx = find( (4*pi/3 = H) & (H = 2*pi);G

18、(idx) = I(idx) .* (1 - S(idx);B(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx) - 4*pi/3) ./ . cos(5*pi/3 - H(idx);R(idx) = 3*I(idx) - (G(idx) + B(idx); % Combine all three results into an RGB image. Clip to 0, 1 to% compensate for floating-point arithmetic rounding effects.rgb = cat(3, R, G, B);rgb = ma

19、x(min(rgb, 1), 0);直接在RGB空间进行图像增强clearclcA=imread(C:UsersliuxinjuDesktopmaomao.jpg);%读入原始RGB图像whos;figure;imshow(A):title(original image);%显示图像r c d=size(A);%计算图像大小%-计算红色分量并显示分解图-%red(:,:,1)=A(:,:,1);red(:,:,2)=zeros(r,c);red(:,:,3)=zeros(r,c);red=uint8(red*2.0);whos;figure;imshow(red)title(Red Compo

20、nent);%-计算绿色分量并显示分解图-%green(:,:,2)=A(:,:,2);green(:,:,1)=zeros(r,c);green(:,:,3)=zeros(r,c);green=uint8(green*2.0);figure;imshow(green)title(Green Component);%-计算蓝色分量并显示分解图-%blue(:,:,3)=A(:,:,3);blue(:,:,1)=zeros(r,c);blue(:,:,2)=zeros(r,c);blue=uint8(blue*2.0);figure;imshow(blue)title(Blue Component); %-合成-%B(:,:,1)=red(:,:,1);B(:,:,2)=green(:,:,2);B(:,:,3)=blue(:,:,3);figure;imshow(B):title(composition image)

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!