資源簡(jiǎn)介
此函數(shù)用于將rgb圖像轉(zhuǎn)為hsi圖像并顯示出rgb圖、灰度圖、hsi圖 ,輸入:JPG或JPEG或BMP等一般圖片名稱(chēng)(加后綴),輸出:rgb圖、灰度圖、hsi圖,返回值:hsi矩陣
代碼片段和文件信息
function?HSI?=?rgbtohsi(filename)
%此函數(shù)用于將rgb圖像轉(zhuǎn)為hsi圖像并顯示出rgb圖、灰度圖、hsi圖???%rgbtohsi(‘a(chǎn)bcd.jpg‘)
%輸入:JPG或JPEG或BMP等一般圖片名稱(chēng)(加后綴)
%輸出:rgb圖、灰度圖、hsi圖
%返回值:hsi矩陣
imgrgb?=?imread(filename);??%讀入RGB彩色圖像
rgb?=?im2double(imgrgb);????%歸一化rgb值,轉(zhuǎn)為double型
r?=?rgb(::1);?????%復(fù)制r矩陣
g?=?rgb(::2);?????%復(fù)制g矩陣
b?=?rgb(::3);?????%復(fù)制b矩陣
I?=?(r?+?b?+?g)/3;???%計(jì)算I值
temp1?=?min(min(rg)b);??%計(jì)算rgb的最小值
temp2?=?r?+?b?+?g;
temp2(temp2?==?0)?=?eps;???%eps是一個(gè)極小的數(shù):2.2204e-16避免除數(shù)為零
S?=?1?-?3.*temp1./temp2;??%計(jì)算θ
temp1?=?((r?-?g).^2?+?(r?-?b).*(g?-?b));
theta?=?acos(temp1./(temp2?+?eps));??%計(jì)算θ的角值
H?=?theta;
H(g?H?=?H/(2*pi);
H(S?==?0)?=0;???????%當(dāng)S為零時(shí),H也為零
HSI?=?cat(3HSI);?%HSI三個(gè)分量組合得到HSI圖像
gry?=?rgb2gray(imgrgb);
%整個(gè)figure中有2個(gè)圖是排成一行的,一共2行
subplot(221)image
評(píng)論
共有 條評(píng)論