این دوتا کد برای تبدیل عکس RGB به HSI و RGB به YIQ نوشته شده.
گفتم در کنار این سوال شاید به درد یه نفر دیگه هم بخوره. فقط اگه کسی بیشتر اطلاعات داره یه کم بررسیش کنه آخه من خیلی در این زمینه اطلاعات ندارم در حین بررسی سوال خودم بهشون برخوردم،گفتم بزارم اینجا شاید بد نباشه.
RGB TO YIQ
f=imread('coloredChips.png');
f = im2double(f);
r=f(:,:,1);
g=f(:,:,2);
b=f(:,:,3);
Y = 0.3*r+0.59*g+0.11*b;
I = 0.6*r-0.28*g-0.32*b;
Q = 0.21*r-0.52*g+0.31*b;
YIQ =cat(3,Y,I,Q);
figure,imshow(YIQ),title('YIQ');
RGB TO HSI
rgb=imread('coloredChips.png');
rgb = im2double(rgb);
r = rgb(:, :, 1);
g = rgb(:, :, 2);
b = rgb(:, :, 3);
num = 0.5*((r - g) + (r - b));
den = sqrt((r - g).^2 + (r - b).*(g - b));
theta = acos(num./(den + eps));
H = theta;
H(b > g) = 2*pi - H(b > g);
H = H/(2*pi);
num = min(min(r, g), b);
den = r + g + b;
den(den == 0) = eps;
S = 1 - 3.* num./den;
H(S == 0) = 0;
I = (r + g + b)/3;
hsi = cat(3, H, S, I);
figure,imshow(hsi),title('hsi')