数字图像处理matlab上机实验 (七)

前言:作为一名图像算法攻城狮,那是在2014年大三下学期,一本深绿色的《数字图像处理》(冈萨雷斯的英文版)出现在自己课桌前。偶然间打开的一扇意外之门,就这样结下了一段不解之缘,那些日子不断上网搜代码的自己,那个刚上机不到二十分钟就把作业提交的自己,早已随往日的岁月飘扬而去。三年的烟酒僧,两年的酱油工,而今只觉脑子越来越不够用,这次决心回炉重造,希望能够通过固本培基,打开思路,话不多说,开始上课!
----2020-7-6


实验 7 彩色图像变换

一、实验目的
通过本实验使学生掌握使用 MATLAB 进行彩色图像处理的方法,加深对彩色空间和彩色图像的理解。

二、实验原理
本实验是基于数字图像处理课程中的第六章-彩色图像处理理论来设计的。
本实验的准备知识:第六章彩色图像处理中的彩色空间,彩色图像处理方法。

重点如下:
1、 彩色空间及其相互转换:
a) RGB空间
b) CMY空间
c) HSI空间
2、彩色空间中各图像分量的演示和意义,关键命令:
f=imread(‘C:…\lena_color.tif’, ‘TIF’);
显示: imshow
红色图像分量: f(:,:,1)
绿色图像分量: f(:,:,2)
蓝色图像分量: f(:,:,3)

三、实验内容
(一)彩色 RGB 空间的各个分量 读取lena_color.tif图像,显示彩色图像,

f=imread('F:\Images\lenacolor.tif'); 
imshow(f)

在这里插入图片描述

(1)提取三个图像分量,同屏显示彩色图像及其各个分量图像,说明各个图像分量的意义。

f=imread('F:\Images\lenacolor.tif'); 
subplot(2,2,1)
imshow(f)
subplot(2,2,2)
imshow(f(:,:,1))
subplot(2,2,3)
imshow( f(:,:,2)) 
subplot(2,2,4)
imshow( f(:,:,3))

在这里插入图片描述

(2)同屏显示三个图像分量的直方图,并解释之。

f=imread('F:\Images\lenacolor.tif'); 
subplot(2,4,1)
imshow(f)
title('原图像');
 
subplot(2,4,2)
imshow(f(:,:,1))
title('红色图像分量');
subplot(2,4,6);
imhist(f(:,:,1));
title('图像直方图');
 
subplot(2,4,3)
imshow( f(:,:,2)) 
title('绿色图像分量');
subplot(2,4,7);
imhist(f(:,:,2));
title('图像直方图');
 
 subplot(2,4,4)
imshow( f(:,:,3))
title('蓝色色图像分量');
subplot(2,4,8);
imhist(f(:,:,3));
title('图像直方图');

在这里插入图片描述

(二 ) RGB- - - CMY 空间的转换
(1)编写程序,实现将lena图像的反色,也就是转换为CMY空间。

f=imread('F:\Images\lenacolor.tif'); 
subplot(1,2,1);
imshow(f);
title('原始图像');  
F=imcomplement(f);
subplot(1,2,2);
imshow(F);
title('反色后的图像');

在这里插入图片描述

扫描二维码关注公众号,回复: 14272329 查看本文章

(2)提取 CMY 空间的三个图像分量,同屏显示彩色图像及其各个分量图像,说明各个图像分量的意义。

f=imread('F:\Images\lenacolor.tif'); 
subplot(2,3,1);
imshow(f);
title('原始图像');  
 
F=imcomplement(f);
subplot(2,3,2);
imshow(F);
title('反色后的图像');
 
subplot(2,3,4)
imshow(F(:,:,1))
title('红色图像分量');
 
subplot(2,3,5)
imshow( F(:,:,2)) 
title('绿色图像分量');
 
 subplot(2,3,6)
imshow( F(:,:,3))
title('蓝色图像分量');

在这里插入图片描述

(3)同屏显示三个图像分量的直方图,并解释之。

f=imread('F:\Images\lenacolor.tif'); 
subplot(2,4,1);
imshow(f);
title('原始图像');  
 
F=imcomplement(f);
subplot(2,4,5);
imshow(F);
title('反色后的图像');
 
subplot(2,4,2)
imshow(F(:,:,1))
title('红色图像分量');
subplot(2,4,6);
imhist(F(:,:,1));
title('图像直方图');
 
subplot(2,4,3)
imshow( F(:,:,2)) 
title('绿色图像分量');
subplot(2,4,7);
imhist(F(:,:,2));
title('图像直方图');
 
 subplot(2,4,4)
imshow( F(:,:,3))
title('蓝色色图像分量');
subplot(2,4,8);
imhist(F(:,:,3));
title('图像直方图');

在这里插入图片描述

(4)可再使用MATLAB下的求补色图像imcomplement函数实现。

(三) 彩色变换
读取lena_color.tif图像,
(1)将该RGB图像的亮度降低70%,并同屏显示原图像与亮度降低后图像。

f=imread('F:\Images\lenacolor.tif'); 
subplot(1,2,1);
imshow(f);
title('原始图像');  
 
F=f.*0.3; 
subplot(1,2,2);
imshow(F);
title('亮度降低70%的图像'); 

在这里插入图片描述

(2)将该RGB图像中的红色分量的亮度降低50%, 并同屏显示原图像与变换后彩色图像。

f=imread('F:\Images\lenacolor.tif'); 
subplot(1,2,1);
imshow(f);
title('原始图像');
f1=f(:,:,1);
F(:,:,1)=f1.*0.5;
F(:,:,2)=f(:,:,2);
F(:,:,3)=f(:,:,3);
            
subplot(1,2,2);
imshow(F);
title('红色分量亮度降低50%的图像');  

在这里插入图片描述

(3)将该RGB图像中的绿色分量的亮度降低50%, 并同屏显示原图像与变换后彩色图像。

f=imread('F:\Images\lenacolor.tif'); 
subplot(1,2,1);
imshow(f);
title('原始图像');
f1=f(:,:,1);
F(:,:,1)=f(:,:,1);
F(:,:,2)=f1.*0.5;
F(:,:,3)=f(:,:,3);
            
subplot(1,2,2);
imshow(F);
title('绿色分量亮度降低50%的图像');  

在这里插入图片描述

思考:彩色变换时应该注意什么?

四、实验方法与步骤
1、顺序完成上述实验内容
2、按照实验内容要求,分析编程,将程序和实验结果整理成word文档,分析结果,编写实验报告。

五、实验报告要求
1、本实验由学生单人独立完成。
2、每个实验均按统一格式编写实验报告。
实验报告内容包括:实验要求,实验项目,典型程序流程图,程序清单,数据结果和分析讨论。

本系列文章列表如下:
数字图像处理matlab上机实验 (一)
数字图像处理matlab上机实验 (二)
数字图像处理matlab上机实验 (三)
数字图像处理matlab上机实验 (四)
数字图像处理matlab上机实验 (五)
数字图像处理matlab上机实验 (六)
数字图像处理matlab上机实验 (七)
数字图像处理matlab上机实验 (八)
数字图像处理matlab上机实验 (九)

猜你喜欢

转载自blog.csdn.net/sinat_34897952/article/details/107116429