实验二 彩色图像

一、实验目的与要求

  1. 掌握不同颜色类型图像的转换。
  2. 掌握彩色图像的颜色空间的转换。

二、MATLAB函数

  1. uint8():将变量转成无符号8比特整型
  2. double():将变量转成double型
  3. rgb2gray():将彩色图像转换为灰度图
  4. rgb2ind():将真彩图像转换为索引图像
  5. rgb2hsv():rgb图像转成hsv图像
  6. hsv2rgb():hsv图像转成rgb图像

三、实验内容

第一题:使用MATLAB读入一副彩色图像(自己选择),然后将RGB彩色图像转换为灰度图像。最后将RGB彩色图像的三个RGB通道和灰度图像在一张figure中分别显示出来。

代码:

i=imread('test3.jpeg');

gray=rgb2gray(i);

r=i;

g=i;

b=i;

r(:,:,2:3)=0;

g(:,:,1)=0;g(:,:,3)=0;

b(:,:,1:2)=0;

figure;

subplot(221),imshow(gray);

subplot(222),imshow(r);

subplot(223),imshow(g);

subplot(224),imshow(b);

运行结果与分析:

第二题:使用MATLAB读入一副彩色图像(自己选择),然后将RGB彩色图像转换为索引图像。分别转成8色、32色和256色的索引图,并在一张figure中分别显示真彩图和三种索引图。分析不同图像的效果。

代码:

clear all

i=imread('test3.jpeg');

[x1,map1]=rgb2ind(i,8);

[x2,map2]=rgb2ind(i,32);

[x3,map3]=rgb2ind(i,256);

figure;

subplot(221),imshow(i);

subplot(222),imshow(x1,map1);

subplot(223),imshow(x2,map2);

subplot(224),imshow(x3,map3);

运行结果与分析:

第三题:使用MATLAB读入一副彩色图像(自己选择)。然后将RGB彩色图像转换为HSV图像。分别增加S和V分量(2倍),以及让H分量增加0.2,最后再由HSV重新转为RGB后显示出来。分析HSV不同分量变化的效果。

代码:

close all

i = imread('test3.jpeg');

HSV = rgb2hsv(i);

HSV1 = HSV;

HSV1(:,:,3) = 2*HSV1(:,:,3);

b = hsv2rgb(HSV1);

figure

imshow(b);

HSV2 = HSV;

HSV2(:,:,2) = 2*HSV2(:,:,2);

c = hsv2rgb(HSV2);

figure

imshow(c);

HSV3 = HSV;

HSV3(:,:,1) = mod(HSV3(:,:,1)+0.2,1);

d = hsv2rgb(HSV3);

figure

imshow(d);

运行结果与分析:

第四题:使用MATLAB生成一张纵向随机彩色条纹图片。图片宽度600像素,高度400像素,条纹宽度10像素

随机整数函数:randi(256)% 生成[1,256]范围的随机整数

代码:

clear all
H = 400;
W = 600;
img = uint8(zeros(H,W,3));
step = 10;  
numsV = W / step;
for i = 1:numsV
    r = randi([0,256],1,3); 
    img(:,1 + (i - 1)*step:i * step,1) = r(1);  
    img(:,1 + (i - 1)*step:i * step,2) = r(2);
    img(:,1 + (i - 1)*step:i * step,3) = r(3);
end
figure
imshow(img)
title('Vertical')

  • 14
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值