- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中国地质大学(武汉)
数字图像处理实验报告
姓 名: 张彪 _
班 号: 075112 _
学 号:20111002253
院 系:_机电学院
专 业:_通信工程
指导教师:_李杏梅老师
2014 年4月
第一次实验
一、
1.实验内容:
根据灰度图象得到一副彩色图像(变换函数自定),分别显示1幅彩色图象的R,G,B分量(每个分量用8 bit表示),和这幅彩色图象的H,S,I分量(每个分量也各用8 bit表示)。
2.实验目的:
进一步掌握彩色图像处理知识,重点是掌握RGB彩色模型到HIS彩色模型的转换。
3.实验原理:
HIS [Hue-Saturation-Intensity(Lightness),HSI或HSL颜色模型用H、S、I三参数描述颜色特性,其中H定义颜色的波长,称为色调;S表示颜色的深浅程度,称为饱和度;I表示强度或亮度根据三基色原理,用基色光单位来表示光的量,则在RGB颜色空间,任意色光F都可以用R、G、B三色不同分量的相加混合而成:F=r[R]+g[G]+b[B]
RGBHSI模型的转换是由一个基于笛卡尔直角坐标系的单位立方体向基于圆柱极坐标的体的转换。基本要求是将RGB中的亮度因素分离将色度分解为色调和饱和度,并用角向量表示色调。具体转换公式教科书上皆有参考。
4.实验思路:
此实验的实验思路较为简单清晰,即先将一副彩色图分离出R、G、B分量,然后利用公式转化为对应的H、S、I分量即可,中间遇到问题较少。
5.实验代码、注释:
图像的读取:
clear all;
clc;
rgb = imread(1.jpg);
subplot(2,4,1),imshow(rgb);
title(原图像);
RGB分量的提取:
% 抽取图像分量
x1 = rgb(:,:,1);
x2 = rgb(:,:,2);
x3 = rgb(:,:,3);%R,G,B三个分量对某个分量或灰度图像矩阵x做傅里叶变换
subplot(2,4,2),imshow(x1);
title(R分量图像);
subplot(2,4,3),imshow(x2);
title(G分量图像);
subplot(2,4,4),imshow(x3);
title(B分量图像);
% hsi = rgb2hsi(rgb)把一幅RGB图像转换为HSI图像,
% 输入图像是一个彩色像素的M×N×3的数组,
% 其中每一个彩色像素都在特定空间位置的彩色图像中对应红、绿、蓝三个分量。
% 假如所有的RGB分量是均衡的,那么HSI转换就是未定义的。
% 输入图像可能是double(取值范围是[0, 1]),uint8或 uint16。
%
% 输出HSI图像是double,
% 其中hsi(:, :, 1)是色度分量,它的范围是除以2*pi后的[0, 1];
% hsi(:, :, 2)是饱和度分量,范围是[0, 1];
% hsi(:, :, 3)是亮度分量,范围是[0, 1]。
rgb = im2double(rgb);
r = rgb(:, :, 1);
g = rgb(:, :, 2);
b = rgb(:, :, 3);
利用转换方程执行转换过程:
% 执行转换方程
num = 0.5*((r - g) + (r - b));
den = sqrt((r - g).^2 + (r - b).*(g - b));
theta = acos(num./(den + eps)); %防止除数为0
H = theta;
H(b g) = 2*pi - H(b g);
H = H/(2*pi);
num = min(min(r, g), b);
den = r + g + b;
den(den == 0) = eps; %防止除数为0
S = 1 - 3.* num./den;
H(S == 0) = 0;
I = (r + g + b)/3;
转换为HIS分量并输出图像:
% 将3个分量联合成为一个HSI图像
hsi = cat(3, H, S, I);
subplot(2,4,5),imshow(hsi);
title(转换为HSI分量图像);
subplot(2,4,6),imshow(H);
title(H分量图像);
subplot(2,4,7),imshow(S);
tit
文档评论(0)