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

    技术2024-10-16  25

    前言:作为一名图像算法攻城狮,那是在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('反色后的图像');

    (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、每个实验均按统一格式编写实验报告。 实验报告内容包括:实验要求,实验项目,典型程序流程图,程序清单,数据结果和分析讨论。

    Processed: 0.011, SQL: 9