日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

hsi转rgb公式matlab,rgb与hsi模型转换matlab程序

發布時間:2025/4/16 75 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hsi转rgb公式matlab,rgb与hsi模型转换matlab程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

rgb與hsi模型轉換matlab程序

數字圖像處理:RGB與HSI模型轉換Matlab程序 im1=imread( Fig6.30(01).jpg ); im3=im1; im1=im2double(im1); [m,n,q]=size(im1); % 獲取圖像的 RGB 3個通道 R=im1(:,:,1); G=im1(:,:,2); B=im1(:,:,3); % 改變通道來觀察圖像 figure,subplot(1,3,1),imshow(cat(3,R*0.5,G,B)),title( R通道減半 ); set(gcf, outerposition ,get(0, screensize )); set(gcf, NumberTitle , off , Name , 改變通道來觀察圖像 ); subplot(1,3,2),imshow(cat(3,R,G*2,B)),title( G通道翻倍 ); subplot(1,3,3),imshow(cat(3,R,G,zeros(m,n))),title( B通道為0 ); % 觀察HSI通道圖像 % 因系統沒有rgb2hsi函數,只有rgb2hsv函數,所以自己編寫程序實現 H=zeros(m,n); S=H; for i1=1:mfor i2=1:nnumerator=0.5*(R(i1,i2)-G(i1,i2)+R(i1,i2)-B(i1,i2));denominator=sqrt((R(i1,i2)-G(i1,i2))^2+(R(i1,i2)- B(i1,i2))*(G(i1,i2)-B(i1,i2)));theta=acos(numerator/denominator)*180/pi;if(B(i1,i2)<=G(i1,i2))H(i1,i2)=theta;elseH(i1,i2)=360-theta;endmin1=min(R(i1,i2),G(i1,i2));min1=min(B(i1,i2),min1);S(i1,i2)=1-3/(R(i1,i2)+G(i1,i2)+B(i1,i2))*min1;end end I=(R+G+B)/3; figure,subplot(1,3,1),imshow(H,[]),title( 色度圖H ); set(gcf, outerposition ,get(0, screensize )); set(gcf, NumberTitle , off , Name , HSI通道圖像 );subplot(1,3,2),imshow(S),title( 飽和度圖S ); subplot(1,3,3),imshow(I),title( 強度圖I ); % 從HSI轉換回RGB模型并觀察圖像,系統也不自帶hsi2rgb,僅自帶hsv2rgb im2=zeros(m,n,3); for i1=1:mfor i2=1:nvalue1=I(i1,i2)*(1+S(i1,i2)*cos(H(i1,i2))/cos(pi/3- H(i1,i2)/180*pi));value2=I(i1,i2)*(1-S(i1,i2));switch (floor(H(i1,i2)/120))case 0im2(i1,i2,1)=value1;im2(i1,i2,2)=3*I(i1,i2)-R(i1,i2)-B(i1,i2);im2(i1,i2,3)=value2;case 1H(i1,i2)=H(i1,i2)-120;im2(i1,i2,1)=value2;im2(i1,i2,2)=value1;im2(i1,i2,3)=3*I(i1,i2)-R(i1,i2)-G(i1,i2);case 2H(i1,i2)=H(i1,i2)-240;im2(i1,i2,1)=3*I(i1,i2)-G(i1,i2)-B(i1,i2);im2(i1,i2,2)=value2;im2(i1,i2,3)=value1;endend end % 模型轉換完畢,顯示圖像 figure,subplot(1,2,1),imshow(im1),title( 原圖 ); set(gcf, outerposition ,get(0, screensize )); set(gcf, NumberTitle , off , Name , 原圖與HSI轉RGB通道圖像對比 ); subplot(1,2,2),imshow(im2),title( HSI轉RGB通道圖像 ); % 給圖像添加噪聲 im3=imnoise(im3, salt R=im3(:,:,1); G=im3(:,:,2); B=im3(:,:,3); R=medfilt2(R);G=medfilt2(G); B=medfilt2(B); im4=cat(3,R,G,B); figure,subplot(1,3,1),imshow(im1),title( 原圖 ); set(gcf, outerposition ,get(0, screensize )); set(gcf, NumberTitle , off , Name , 圖像對比 ); subplot(1,3,2),imshow(im3),title( 加入椒鹽噪聲后圖像 ); subplot(1,3,3),imshow(im4),title( 中值濾波后圖像 );

總結

以上是生活随笔為你收集整理的hsi转rgb公式matlab,rgb与hsi模型转换matlab程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。