搜索
您的当前位置:首页正文

实验五 彩色图像处理

来源:六九路网


实验五 彩色图像处理

一、实验目的

􀂄 使用MatLab 软件对图像进行彩色处理。使学生通过实验熟悉使用MatLab软件进行图像彩色处理的有关方法,并体会到图像彩色处理技术以及对图像处理的效果。

二、实验要求

􀂄要求学生能够完成彩色图像的分析,能正确讨论彩色图像的亮度、色调等性质;会对彩色图像进行直方图均衡,并能正确解释均衡处理后的结果;能够对单色图像进行伪彩色处理、利用多波长图像进行假彩色合成、进行单色图像的彩色变换。

三、实验内容与步骤

(1) 彩色图像的分析

􀂄 调入并显示彩色图像flower1.tif ;

􀂄 拆分这幅图像,并分别显示其R,G,B分量;

􀂄 根据各个分量图像的情况讨论该彩色图像的亮度、色调等性质。

(2) 彩色图像的直方图均衡

􀂄 接内容(1);

􀂄 显示这幅图像的R,G,B分量的直方图,分别进行直方图均衡处理,并显示均衡后的直方图和直方图均衡处理后的各分量;

􀂄 将处理完毕的各个分量合成彩色图像并显示其结果;

􀂄 观察处理前后图像的彩色、亮度、色调等性质的变化。

(3) 假彩色处理

􀂄 调入并显示红色可见光的灰度图像vl_red.jpg、绿色可见光的灰度图像vl_green.jpg和蓝色可见光的灰度图像vl_blue.jpg;以及近红外灰度图像infer_near.jpg和中红外灰度图像infer_mid.jpg;

􀂄 以图像vl_red.jpg为R;图像vl_green.jpg为G;图像vl_blue.jpg为B,将这三幅图像组合成可见光RGB彩色图像;

􀂄 分别以近红外图像infer_near.jpg和中红外图像infer_mid替换R分量,形成假彩色图像;

􀂄 观察处理的结果,注意不同波长红外线图像组成图像的不同结果

(4) 伪彩色处理1:灰度切片处理

􀂄 调入并显示灰度图像head.jpg;

􀂄 利用MATLAB提供的函数对图像在8~256级的范围内进行切片处理,并使用hot

模式和cool模式进行彩色化;

􀂄 观察处理的结果。

(5) 彩色变换(选做)

􀂄 调入并显示灰度图像Lenna.jpg;

􀂄 使用不同相位的正弦函数作为变换函数,将灰度图像变换为RGB图像。其中红色分量R的变换函数为-sin( ),绿色分量G的变换函数为-cos( );,蓝色分量B的变换函数为sin( );

􀂄 显示变换曲线及变换合成的彩色图像并观察彩色变换图像的色调与原始图像灰度之间的关系;

􀂄 将RGB的变换公式至少互换一次(例如R与G互换),显示变换曲线、变换结果并观察处理的结果。

(6)打印全部结果并进行讨论。

利用MATLAB软件实现彩色图像处理的程序:

rgb_image=imread('flower.jpg'); %读取图像flower1.tif

fR=rgb_image(:,:,1); %获取图像的红色分量

fG=rgb_image(:,:,2); %获取图像的绿色分量

fB=rgb_image(:,:,3); %获取图像的蓝色分量

figure(1);

subplot(2,2,1);

imshow(rgb_image);title('原始图像');

subplot(2,2,2);

imshow(fR);title('图像的红色分量图像');

subplot(2,2,3);

imshow(fG);title('图像的绿色分量图像');

subplot(2,2,4);

imshow(fB);title('图像的蓝色分量图像');

原始图像图像的红色分量图像图像的绿色分量图像图像的蓝色分量图像

%实现rgb图像转化为NTSC彩色空间的图像

yiq_image=rgb2ntsc(rgb_image);

fY=yiq_image(:,:,1); %图像flower1.tif的亮度

fI=yiq_image(:,:,2); %图像flower1.tif的色调

fQ=yiq_image(:,:,3); %图像flower1.tif的饱和度

figure(2);

subplot(2,2,1);

imshow(rgb_image);title('原始图像');

subplot(2,2,2);

imshow(fY);title('图像的亮度');

subplot(2,2,3);

imshow(fI);title('图像的色调');

subplot(2,2,4);

imshow(fQ);title('图像的饱和度');

原始图像图像的色调图像的亮度图像的饱和度

fR=histeq(fR,256); %对彩色图像的分量进行直方图均衡化

fG=histeq(fG,256);

fB=histeq(fB,256);

RGB_image=cat(3,fR,fG,fB); %将直方图均衡化后的彩色图像合并

figure(3),imshow(RGB_image) %观察处理后的彩色图色度,亮度参照前面

% f1=imread('v1_red.jpg');

% f2=imread('v1_green.jpg');

% f3=imread('v1_blue.jpg');

% f4=imread('infer_near.jpg');

% ture_color=cat(3,f1,f2,f3);

% figure(4),imshow(ture_color) %显示由红、绿、蓝三幅图合成的彩色图

% false_color=cat(3,f4,f2,f3); %用近红外图像代替R分量

% figure(5),imshow(false_color) %显示由近红外、绿、蓝三幅图合成的假彩色图

f=imread('flower.jpg');

cut_1=imadjust(f,[0.0925 0.5],[0.0925 0.5]);%提取灰度在16-128之间的像素

cut_2=imadjust(f,[0.5 1],[0.5 1]); %提取灰度在128-256之间的像素

figure(6),imshow(cut_1),colormap(hot) %显示图像cut_1,并使用hot模型彩色化

figure(7),imshow(cut_2),colormap(cool) %显示图像cut_2,并使用cool模型彩色化

f=imread('flower.jpg');

g=ice('image',f); %通过ice(交互彩色编辑

ice(交互彩色编辑)函数的参数参照书后面的注释。

四、实验仪器与软件

1.计算机;

2.MATLAB程序;

3.移动式存储器(软盘、U盘等)。

4.记录用的笔、纸。

五、实验心得

彩色图像处理也与我们的生活有很大联系,本次试验利用matlab对彩色图像处理,让我体会到了数字图像处理的强大之处,亮度、色调、对比度等都与我们的生活息息相关,彩色图像处理的作用也不言而喻,我相信学好这门技术对以后的生活有很大帮助。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top