- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
彩色图像处理.doc
实验四 彩色图像处理
实验目的
掌握常见的几种颜色模型及各种颜色空间之间的相互转换。
掌握彩色图像处理的方法,如彩色图像增强、彩色图像复原、彩色图像检测与分割等。
了解伪彩色处理方法的原理及应用。
实验内容
读入一幅RGB图像,将其分别转换到CMY空间、HSI空间并显示。
rgb_I=imread(E:\学习\数字图像\实验结果\b.jpg);
cmy_I=imcomplement(rgb_I);
imshow(rgb_I);
figure;
imshow(cmy_I);
rgb=imread(E:\学习\数字图像\实验结果\b.jpg);
imshow(rgb);
rgb=im2double(rgb);
r=rgb(:,:,1);
g=rgb(:,:,2);
b=rgb(:,:,3);
I=(r+g+b)/3;
tmp1=min(min(r,g),b);
tmp2=r+g+b;
tmp2(tmp2==0)=eps;
s=1-3.*tmp1./tmp2;
tmp1=0.5*((r-g)+(r-b));
tmp1=sqrt((r-g).^2+(r-b).*(g-b));
theta=acos(tmp1./(tmp2+eps));
h=theta;
h(bg)=2*pi-h(bg);
h=h/(2*pi);
h(s==0)=0;
hsi=cat(3,h,s,I);
figure;
imshow(h);
figure;
imshow(s);
figure;
imshow(I);
利用全彩色图像处理的方法,对彩色图像进行平滑滤波及锐化处理。
rgb=imread(E:\学习\数字图像\实验结果\b.jpg);
figure;
imshow(rgb);
r=rgb(:,:,1); %平滑滤波
g=rgb(:,:,2);
b=rgb(:,:,3);
figure;
imshow(r);
figure;
imshow(g);
figure;
imshow(b);
m=fspecial(average);
r_filtered=imfilter(r,m);
g_filtered=imfilter(g,m);
b_filtered=imfilter(b,m);
rgb_filtered=cat(3,r_filtered,g_filtered,b_filtered);
figure;
imshow(rgb_filtered);
lapMatrix=[1 1 1;1 -8 1;1 1 1]; %锐化
i_tmp=imfilter(rgb,lapMatrix,replicate);
i_sharped=imsubtract(rgb,i_tmp);
figure;
imshow(i_sharped);
载入一幅清晰彩色图像,产生运动模糊并添加一定的高斯噪声,采用维纳滤波复原该图像。
i=imread(E:\学习\数字图像\实验结果\b.jpg);
figure;
imshow(i);
m=fspecial(motion,20,45);
i2=imfilter(i,m,circular);
noise=imnoise(zeros(size(i)),gaussian,0,0.05);
figure;
imshow(noise);
i3=double(i2)+noise;
i3=uint8(i3);
figure;
imshow(i3);
i4=deconvwnr(i3,m);
figure;
imshow(i4);
尝试将一幅单色图像采用密度分层法和灰度级-彩色变换法转化成伪彩色图像。
a=imread(pillsetc.png);
figure;
imshow(a);
a=double(a);
[m,n]=size(a);
l=256;
for i=1:m
for j=1:n
if a(i,j)l/4
r(i,j)=0;
g(i,j)=4*a(i,j);
b(i,j)=l;
else if a(i,j)=l/2
r(i,j)=0;
g(i,j)=l;
b(i,j)=-4*a(i,j)+2*l;
else if a(i,j)=3*l/4
r(i,j)=4*a(i,j)-2*l;
g(i,j)=l;
b(i,j)=0;
else
r(i,j)=l;
g(i,j)=-4*a(i,j)+4*l;
文档评论(0)