赞
踩
经过前面的实验可以得知,彩色图像中的RGB图像就是一个三维矩阵,有3个维度,它们分别存储着R元素,G元素,B元素的灰度信息,最后将它们合起来,便是彩色图像。
这一次实验涉及CMYK和HSI颜色模型,不妨搜索一下:
CMYK:CMYK颜色模型包括青(cyan)、品红(magenta)、黄(yellow)和黑(black),为避免与Blue混淆,黑色用K表示。彩色打印、印刷等应用领域采用打印墨水、彩色涂料的反射光来显现颜色,是一种减色方式。
HSI:HSI〔Hue-Saturation-Intensity(Lightness),HSI或HSL〕颜色模型用H、S、I三参数描述颜色特性,其中H定义颜色的频率,称为色调;S表示颜色的深浅程度,称为饱和度;I表示强度或亮度。
读入两幅彩色图像,并分别显示图像的尺寸信息,裁剪两幅图片为相同的正方形尺寸,并保存为两幅新的图片A和B。
figure('NumberTitle','off','Name','图像裁剪并保存'); I1 = imread('山.png'); I2 = imread('stone.jpg'); I = I1; rect=[0,0,200,190]; %定义剪切区域 X1=imcrop(I1,rect); %进行图像剪切 X2=imcrop(I2,rect); subplot(221),imshow(I1); %显示原图像 rectangle('Position',rect,'LineWidth',2,'EdgeColor','r') %显示图像剪切区域 subplot(222),imshow(X1); %显示剪切的图像 imwrite(X1,'图片1.png'); subplot(223),imshow(I2); %显示原图像 rectangle('Position',rect,'LineWidth',2,'EdgeColor','r') %显示图像剪切区域 subplot(224),imshow(X2); %显示剪切的图像 imwrite(X2,'图片2.png');
将两幅彩色图像A与B 按照不同的比例 (0.7:0.3, 0.5: 0.5, 0.3:0.7) 相加合成一幅新的图像,并在一个图像窗口中显示原始图像、三个合成图像。
figure('NumberTitle','off','Name','图像合成');
I1 = 0.7*X1+0.3*X2;
I2 = 0.5*X1+0.5*X2;
I3 = 0.3*X1+0.7*X2;
subplot(2,2,1);imshow(X1);title('原图1');
subplot(2,2,2);imshow(X2);title('原图2');
subplot(2,3,4);imshow(I1);title('0.7:0.3 合成');
subplot(2,3,5);imshow(I2);title('0.5:0.5 合成');
subplot(2,3,6);imshow(I3);title('0.3:0.7 合成');
将图像从RGB颜色空间转换为灰度空间,分别用加权法、均值法和最大值法、以及matlab自带的函数rgb2gray.
figure('NumberTitle','off','Name','灰度转换');
% imshow(I);
I1 = rgb_gray(I,1);
I2 = rgb_gray(I,2);
I3 = rgb_gray(I,3);
I4 = rgb2gray(I);
subplot(2,2,1);imshow(I1);title('加权法');
subplot(2,2,2);imshow(I2);title('均值法');
subplot(2,2,3);imshow(I3);title('最大法');
subplot(2,2,4);imshow(I4);title('自带函数法');
分别对RGB、CMYK及HSI三种颜色模型的图像进行亮度增强并显示。
figure('NumberTitle','off','Name','亮度增强'); I = imread('stone.jpg'); R = I(:, :, 1); G = I(:, :, 2); B = I(:, :, 3); a = 2.0; % rgb亮度增强 I1 = cat(3,a*R,a*G,a*B); I1 = uint8(I1); I = uint8(I); % CMYK亮度增强 I2 = a*imcomplement(I); % HSI亮度增强 I3 = rgb2hsv(I); I3(:,:,3) = a*I3(:,:,3); subplot(1,3,1);imshow(I1);title('RGB亮度增强'); subplot(1,3,2);imshow(I2);title('CMYK亮度增强'); subplot(1,3,3);imshow(I3);title('HSI亮度增强');
读入两幅彩色图像,并分别显示图像的尺寸信息,裁剪两幅图片为相同的正方形尺寸,并保存为两幅新的图片A和B:
将两幅彩色图像A与B 按照不同的比例 (0.7:0.3, 0.5: 0.5, 0.3:0.7) 相加合成一幅新的图像,并在一个图像窗口中显示原始图像、三个合成图像:
3.将图像从RGB颜色空间转换为灰度空间,分别用加权法、均值法和最大值法、以及matlab自带的函数rgb2gray.
加权法就是 GRAY=0.3R+0.59G+0.11*B
均值法就是 GRAY= (R+G+B)/3
最大值发就是 GRAY= max(R,G,B)
并在一个图像窗口中显示这四个灰度图像,并做讨论:
分别对RGB、CMYK及HSI三种颜色模型的图像进行亮度增强并显示:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。