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

 我来答
荔菲芮悦U7
2017-09-01 · TA获得超过1112个赞
知道小有建树答主
回答量:970
采纳率:0%
帮助的人:446万
展开全部
这是用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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式