永发信息网

图像RGB向HSI转换,R=G=B时,H值为多少

答案:1  悬赏:40  手机版
解决时间 2021-11-30 00:25
  • 提问者网友:心牵心
  • 2021-11-29 04:26
图像RGB向HSI转换,R=G=B时,H值为多少
最佳答案
  • 五星知识达人网友:未来江山和你
  • 2021-11-29 04:50
这是用matlab算图像RGB和HSI的程序。
R=im(:,:,1);
G=im(:,:,2);
B=im(:,:,3);
R=reshape(R,[s(1),s(2)]);
G=reshape(G,[s(1),s(2)]);
B=reshape(B,[s(1),s(2)]);
r=mean(mean(R));%求R分量的均值
g=mean(mean(G));%求G分量的均值
b=mean(mean(B));%求B分量的均值

下面是RGB转HSI的程序
H=zeros(y,x);
S=H;
HS_I=H;
for i=1:x
for j=1:y
HS_I(j,i)=((myI(j,i,1)+myI(j,i,2)+myI(j,i,3))/3);
%I的转换,表示明暗程度
S(j,i)=1-3*min(myI(j,i,:))/(myI(j,i,1)+myI(j,i,2)+myI(j,i,3));
%S的转换,表示颜色的深浅(或者S=max(R,G,B)-min(R,G,B))
if ((myI(j,i,1)==myI(j,i,2))(myI(j,i,2)==myI(j,i,3)))
% 三者不相等
Hdegree=0;
else
Hdegree=acos(0.5*(2*myI(j,i,1)-myI(j,i,2)-myI(j,i,3))/((myI(j,i,1)-myI(j,i,2))^2+(myI(j,i,1)-myI(j,i,3))*(myI(j,i,2)-myI(j,i,3)))^0.5);%H的转换,表示不同的颜色
end
if (myI(j,i,2)>=myI(j,i,3))
H(j,i)=Hdegree; % G≥B, H 在[0,π]范围内
else
H(j,i)=(2*pi-Hdegree); % G < B, H 在(π,2π]范围内
end
end
end
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯