资源简介

实现功能: 实验目标 了解图像颜色空间的转换关系。 了解图像的文件结构。 实验内容 完成如下颜色空间的转换。(4 Points) RGB -> YIQ RGB -> HSI RGB -> YCbCr RGB -> XYZ 选做: 自己实现对 BMP 文件头的读取,并解析 BMP 图像文件。 (2.5 Points) 补充说明 程序从命令行中读取文件路径,并输出 4 个文件,文件名如下: 图像原始文件名-学号-YIQ.bmp 图像原始文件名-学号-HSI.bmp 图像原始文件名-学号-YCbCr.bmp 图像原始文件名-学号-XYZ.bmp 了解图像的文件结构。

资源截图

代码片段和文件信息

%读取单色bmp文件的样例
clear
clc 
close all
fprintf(‘请输入单色bmp文件的路径:\n‘);
fprintf(‘1.单色bmp文件的自实现的文件读取\n‘);
fprintf(‘2.24色bmp文件的自实现的文件读取\n‘);
fprintf(‘3.RGB -> YIQ \n‘);
fprintf(‘4.RGB -> HSI \n‘);
fprintf(‘5.RGB -> YCbCr \n‘);
fprintf(‘6.RGB -> XYZ \n‘);
fprintf(‘7.RGB -> ISH -> QIY -> CrCbY -> ZYX \n‘);
choose=input(‘which operate do you want to try?\n‘‘s‘);
switch choose
    case ‘1‘
        filename=input(‘请输入单色bmp文件的路径+名字,格式默认bmp\n‘‘s‘);
        filename=strcat(filename‘.bmp‘);
        bmpReader(filename);
        
        [AM]=imread(filename‘bmp‘);
        %图像数据的读取,图像数据放入矩阵A中,颜色数据放入矩阵M中
        figure
        imshow(AM);title(‘用matlab的库函数读取原图‘);
        if isempty(M)
            fprintf(‘不是单色BMP文件格式‘);
            return;
        end
        M(:1)=0.5;  %把颜色数据置为0
        figure
        imshow(AM);title(‘用调色板改变颜色后的图像‘);
    case ‘2‘
       filename=input(‘请输入24色bmp文件的路径+名字,格式默认bmp\n‘‘s‘);
       filename=strcat(filename‘.bmp‘);
       bmpReader(filename);
       [A]=imread(filename‘bmp‘);
       %图像数据的读取,图像数据放入矩阵A中,颜色数据放入矩阵M中
       figure
       imshow(A);title(‘用matlab的库函数读取原图‘);
    case ‘3‘
        filename=input(‘请输入文件的路径+名字,格式常用即可\n‘‘s‘);
        filename=strcat(filename‘.bmp‘);
        bmpReader(filename);
        rgb2yiq_func(filename);
    case ‘4‘
        filename=input(‘请输入文件的路径+名字,格式常用即可\n‘‘s‘);
        rgb=imread(filename);
        hsi=rgb2hsi(rgb);
     

评论

共有 条评论