您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>源码下载>matlab源程序>

matlab图象处理和分析,作业源程序

大小:344 人气: 2010-02-08 需要积分:0
说的好像真的的空间

用户级别:注册会员

贡献文章:

贡献资料:

matlab图象处理和分析,作业源程序:用MATLAB,源程序如下:
clear;
A=imread('Water lilies','JPEG');
subplot(1,2,1);
subimage(A);
title('变化前的图');
A=im2double(A);%将A转换成double型
A=A/256;
R=A(:,:,1);
G=A(:,:,2);
B=A(:,:,3);
I=(R+G+B)/3;
S=1-min(R,min(G,B))./I;
H=zeros(size(S));%为H分配空间
t=find(S==0.0);%当S为时,H=0.0
H(t)=0.0;
t=find(S~=0.0);
H(t)=((R(t)-G(t))+(R(t)-B(t)))/2.0;
H(t)=H(t)./sqrt((R(t)-G(t)).^2+(R(t)-B(t)).*(G(t)-B(t)));
H(t)=acos(H(t));
t=find(B>G);
H(t)=2*pi-H(t);%转换成HSI
H=H+40/180*pi;%色调加40度
t=find(H>2*pi);
H(t)=H(t)-2*pi;
find(0<=H&H<=2*pi/3);
B(t)=I(t).*(1-S(t));
R(t)=I(t).*(1+S(t).*cos(H(t))./cos(pi/3-H(t)));
G(t)=3*I(t)-(B(t)+R(t));
t=find(2*pi/3R(t)=I(t).*(1-S(t));
G(t)=I(t).*(1+S(t).*cos(H(t)-2*pi/3)./cos(pi-H(t)));
B(t)=3*I(t)-(R(t)+G(t));
t=find(4*pi/3G(t)=I(t).*(1-S(t));
B(t)=I(t).*(1+S(t).*cos(H(t)-4*pi/3)./cos(5*pi/3-H(t)));
R(t)=3*I(t)-(G(t)+B(t));%转换成RGB
A(:,:,1)=R;
A(:,:,2)=G;
A(:,:,3)=B;
A=A*256;
A=im2uint8(A);%将A转换成uint8型
subplot(1,2,2);
subimage(A);

非常好我支持^.^

(6) 100%

不好我反对

(0) 0%

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!