# مباحث متفرقه برنامه نویسی > برنامه نویسی Matlab >  تبدیل عکس از RGB به CMYK

## marziehk

سلام کسی می تونه با متلب یه تصویر RGB  رو به CMYK و برعکس تبدیل کنه البته بدون استفاده از خود تابع های متلب که مستقیما این کارو انجام میده؟

----------


## rahnema1

از فرمولی که در لینک زیر گذاشته شده استفاده کرده و تبدیل را انجام دهید :http://www.rapidtables.com/convert/c...gb-to-cmyk.htm

----------


## marziehk

خیلی خوب بود تشکر

----------


## marziehk

این دوتا کد برای تبدیل عکس 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')

----------


## matcode.ir

سلام به دوستان عزیز برای اینکه بتونید پاسخ سوالات خودتون رو در مورد متلب  بدست بیارید کافی که به این سایت مراجعه کنید یه منبع کامل از مقاله ها و  پروژه ها به زبان فارسیه
http://www.matcode.ir

----------


## fakhravari

http://www.rapidtables.com/convert/c...gb-to-cmyk.htm

----------

