28
© ﮐﻠﻴﻪ ارﺗ و اﻃﻼﻋﺎت ﻓﻨﺎورﯼ ﻣﺮﮐﺰ ﺑﻪ ﻣﺘﻌﻠﻖ ﻣﺴﺘﻨﺪ اﯾﻦ ﺣﻘﻮق اﺳﺖ ﺷﺮﯾﻒ ﭘﻴﺸﺮﻓﺘﻪ ﺒﺎﻃﺎت. http://dml.aictc.com 1 Advanced Information & Communication Technology Center, Digital Media Laboratory ﮔﺰﺍﺭﺵ ﺍﺭﺷﺪ ﮐﺎﺭﺷﻨﺎﺳﯽ ﭘﺮﻭﮊﻩ ﭘﻴﺸﺮﻓﺖ ﻣﺤﻤﺪ ﺟﻌﻔﺮ[email protected] ﮔﺰارش ﺗﻬﻴﻪ ﺗﺎرﯾﺦ٩ . ﺁذ ر. ١٣٨٣ ﺗﺎ٢٠ . دﯼ. ١٣٨٣ ﮔﺰارش ﺷﻤﺎرﻩ ﺷﻤﺎرﻩ ﮔﺰارش۵ ﮔﺰارش ﻋﻨﻮان وﯾﮋﮔﯽ رﻧﮓ، ﻓﻀﺎهﺎﯼ ﮐﺎرﺑﺮدهﺎ و ﺟﻌﺒﻪ و اﺑﺰارColorConversion toolbox ﺧﻼﺻﻪ ﺗﻬﻴﻪ از هﺪف وﯾﮋﮔﯽ رﻧﮓ، ﻓﻀﺎهﺎﯼ ﻣﻌﺮﻓﯽ ﮔﺰارش اﯾﻦ ﻣﯽ دارﻧﺪ، ﮐﻪ ﮐﺎرﺑﺮدهﺎﯾﯽ و ﺁﻧﺎن هﺎﯼ ﺑﺎﺷﺪ. و رﻧﮓ ﻣﺒﺎﻧﯽ اﺑﺘﺪا اوﻟﻴﻪ اﺳﺘﺎﻧﺪارد ﺗﻌﺎرﯾﻒ، ﻣﺪل ﺷﺪﻩ، اراﺋﻪRGB وXYZ ﻧﺤﻮﻩ و ﺷﺪﻩ دادﻩ ﺗﻮﺿﻴﺢ رﻧﮕﯽ ﻓﻀﺎهﺎﯼ ﻧﻤﺎﯾﺶ اﻧ. ﺳﭙﺲ دﻟﻴﻞ ﻣﺘﻔ رﻧﮓ ﻓﻀﺎهﺎﯼ از اﺳﺘﻔﺎدﻩ و وﺟﻮد اﺳﺖ ﺷﺪﻩ ﺑﺤﺚ وت. اداﻣﻪ در ﻣﻌﻤﻮل ﻣﻮﺟﻮد رﻧﮓ ﻓﻀﺎهﺎﯼ ﺗﺮﯾﻦ، ﺷﺎﻣﻞxyY ، CMY(K) ﺗﻠﻮﯾﺰﯾﻮﻧﯽ اﻧﺘﻘﺎل ﻣﺨﺘﻠﻒ رﻧﮓ ﻓﻀﺎهﺎﯼ، : YIQ ، YUV ، YU'V' ، YCbCr وYCC اﻧﺴﺎن دﯾﺪارﯼ درﮎ ﺑﺮ ﻣﺒﺘﻨﯽ رﻧﮓ ﻓﻀﺎهﺎﯼ، : HIS وHSV ﺧﻄﯽ ﻓﻀﺎهﺎﯼ و: L*u*v* ، L*a*b* وLCH ﻧﺤﻮﻩ ﺷﺪﻩ، ﻣﻌﺮﻓﯽ ﻓﻀﺎﯼ از ورودRGB ﺁن ﺑﻪ ﺁن از ﮐﺪام هﺮ ﮐﺎرﺑﺮد ﻣﻮارد و ﺷﺪﻩ دادﻩ ﺗﻮﺿﻴﺢ ﺑﺎﻟﻌﮑﺲ و هﺎ ذﮐﺮ هﺎ اﺳﺖ ﺷﺪﻩ. ﻣﺮﺣﻠﻪ، هﺮ در اراﺋﻪ از ﭘﺲ ﻧﺤﻮﻩ ﭘﻴﺎدﻩ در ﺑﺎﯾﺪ ﮐﻪ ﻧﮑﺎﺗﯽ ﺗﺒﺪﯾﻼت، ﺁن ﺳﺎزﯼ ﻣﺪ هﺎ ﻣﻄﻠﺐ ﮐﺪ و ﺷﺪﻩ ذﮐﺮ ﮔﻴﺮﻧﺪ، ﻗﺮار ﻧﻈﺮ ﺁو ﺗﺒﺪﯾﻞ ﺁن ﺑﻪ ﻣﺮﺑﻮط اﺳﺖ ﺷﺪﻩ ردﻩ. ﻣﺠﻤﻮﻋﻪ ﮐﻠﻴﻪ ﻋﻨﻮان ﺗﺤﺖ ﻣﻄﻠﺐ ﺗﻮاﺑﻊColorConversion toolbox ﺟﻤﻊ ﺑﻨﺪﯼ اﺳﺖ ﺷﺪﻩ. ﮐﻠﻴﺪﯼ ﮐﻠﻤﺎت دﯾﺪارﯼ درﮎ ﻟﻮﻣﻴﻨﺎﻧﺲ، ﮐﺮوﻣﻴﻨﺎﻧﺲ، رﻧﮓ، ﻓﻀﺎﯼ رﻧﮓ، ﺟﻌﺒﻪ ﻣﻄﻠﺐ،، اﺑﺰار

Color Space

Embed Size (px)

Citation preview

Page 1: Color Space

http://dml.aictc.com .باطات پيشرفته شریف استحقوق این مستند متعلق به مرکز فناوری اطالعات و ارتی کليه©

1

Advanced Information & Communication Technology Center, Digital Media Laboratory

پيشرفت پروژه کارشناسی ارشدگزارش یجعفر محمد

[email protected]

١٣٨٣.دی.٢٠ تا ١٣٨٣.رآذ.٩ تاریخ تهيه گزارش

۵گزارش شماره شماره گزارش

ColorConversion toolboxابزار و جعبهو کاربردهافضاهای رنگ، ویژگی عنوان گزارش

ابتدا مبانی رنگ و . باشد های آنان و کاربردهایی که دارند، می ی این گزارش معرفی فضاهای رنگ، ویژگی هدف از تهيه خالصه

دليل سپس .دان ی نمایش فضاهای رنگی توضيح داده شده و نحوهXYZ و RGB ارائه شده، مدل ،تعاریف استاندارد اوليه

.وت بحث شده استاوجود و استفاده از فضاهای رنگ متف

، YIQ ،YUV: ، فضاهای رنگ مختلف انتقال تلویزیونیxyY ،CMY(K) شامل ،ترین فضاهای رنگ موجود معمولدر ادامه

YU'V' ،YCbCr و YCCفضاهای رنگ مبتنی بر درک دیداری انسان ، :HIS و HSVو فضاهای خطی :L*u*v* ،L*a*b* و

LCHی ورود از فضای معرفی شده، نحوهRGBها ذکر ها و بالعکس توضيح داده شده و موارد کاربرد هر کدام از آن به آن

.شده است

نظر قرار گيرند، ذکر شده و کد مطلب ها مد سازی آن ی تبدیالت، نکاتی که باید در پياده ی نحوه پس از ارائهدر هر مرحله،

بندی جمعColorConversion toolboxی توابع مطلب تحت عنوان ی کليه مجموعه. رده شده استمربوط به آن تبدیل آو

.شده است

ابزار ، مطلب، جعبهرنگ، فضای رنگ، کرومينانس، لومينانس، درک دیداری کلمات کليدی

Page 2: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

2

RGB و فضای رنگرنگنظری مبانی

نور مرئی نوار نسبتا باریکی در طيف انرژی الکترومغناطيسی . شود ها معين می شده از آنی ماهيت نور منعکس وسيله به رنگ اشياانسان از دریافت

.رسد آن رنگ به نظر میه انعکاس خوبی داشته باشد، برای چشم ناظر ب، در کدام محدوده از طيف نوریءبسته به اینکه یک شی. باشد می

در اصل . روانی بوده و ماهيت آن بر ما پوشيده است-ی جسمی رنگ در انسان یک پدیدهی تشخيص اما پدیدهباشد، این تعبير، تعبير فيزیکی رنگ می

احساسی شخصی بوده و ،درک و دریافت رنگ. دهد های دریافتی از سنسورهای چشم می العملی است که مغز به محرک درک یک رنگ، عکس

. اند ها بيان کرده های مختلفی را از این تفاوت احساس،ها ای بيان تفاوت آنهای متفاوت و تالش بر افراد مختلف در مواجهه با رنگ. باشد نسبی می

:ها ارایه داده است تعاریف مشخص زیر را برای این احساس، (CIE1)مجمع جهانی استانداردسازی روشنایی

شی از دیگری را تشخيص تر بودن یک درخشنده، انسان،ميزان نور دریافتی توسط چشم انسان از اشيا، که توسط آن: 2درخشندگی • .دهد می

رنگ بيانگر رنگ غالبی است که بيننده ته، در اصل.گردد توسط این پارامتر تعيين می،احساس انسان از شباهت بين دو ناحيه: 3رنگ ته • .کند دریافت می

.دهد یکسان را نشان میرنگ آمدن دو ناحيه با ته ا بيشتر به چشمميزان کمتر ی: 4پررنگی •

.ميزان احساس درخشندگی یک ناحيه توسط چشم انسان نسبت به رنگ سفيد مرجع: 5روشنایی •

.ميزان پررنگی یک ناحيه نسبت به درخشندگی رنگ سفيد مرجع: 6رنگينی •

.رنگ آن عبارتی دیگر خلوص نسبی ته ناحيه نسبت به درخشندگی آن ناحيه یا بهميزان پررنگی یک : 7اشباع •

بر اساس .باشد رنگی می ی تئوری سه این استاندارد بر پایه.باشد میRGB تعریف شده است، استاندارد CIE که توسط یکی از اولين استانداردهایی

مطابق این .شود ايجاد مي(Blue) و آبي(Green) ، سبز(Red) قرمزی پایه با ترکيب مقاديري از هر کدام از سه رنگ،هر رنگ، مدلاین در این تئوری

:های پایه عبارتند از رنگ(CIE RGB)استاندارد

) نانومتر٧٠٠با طول طيف رنگ (قرمز •

) نانومتر۵۴۶/١با طول طيف رنگ (سبز •

) نانومتر۴٣۵/٨با طول طيف رنگ (آبی •

دراين مدل .ندهای طول طيف را توليد کن توانند تمام رنگ به تنهایی می این سه مولفهه در تعریف فوق این نيست ک،البته توجه کنيد که معنای پایه

ها را در بر مي گيرد مکعبي زيرفضايي از اين دستگاه مختصات که تمام رنگ. از يک دستگاه مختصات کارتزين استفاده شده است،براي نشان دادن فضا

: نشان داده شده است زیراست که در شکل

RGBفضاي رنگ

. ديگر اين مکعب جاي دارندی ، بنفش و زرد در سه گوشهای فيروزه مکعب و سه رنگ ی سه رنگ قرمز، سبز و آبي در سه گوشهدر مکعب مختصات،

ح خاکستري ، در امتداد ودر اين مدل مقادير سط. رنگ سياه در مبدا است و سفيد هم در گوشه اي از مکعب است که بيشترين فاصله را تا مبدا دارد

که استي روي سطح مکعب يا درون آن ا هرنگي نقطهر د و رن قرار دا، ديگر وصل کردهی خطي که رنگ سياه را از يک گوشه به رنگ سفيد در گوشه

کنند که مکعب شکل مياي نرمال ها را به گونه همچنين مقادير رنگ. درنظر گرفت،اند به صورت بردارهايي که از مبدا سرچشمه گرفته رامي توان آن

. دکنن تغيير مي] 0, 1[ در محدوده B و R ، Gبنابراين هر سه متغير . ، يک مکعب واحد باشدفوق

1 http://www.hike.te.chiba-u.ac.jp/ikeda/CIE/home.html 2 Brightness 3 Hue 4 Colorfulness 5 Lightness 6 Chroma 7 Saturation

Page 3: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

3

از تبدیل زیر استفاده برای این منظور. کنيم استفاده می'R'G'B یعنی RGBی شدهGamma Corrected مقادیر ازدر بسياری از کاربردها بهتر است که

):باشد میRGBی شده های نرمال ی هر کدام از مولفه نمایندهK(کنيم می

0.451.099 * K 0.099 if (K 0.018)K '

4.5 *K if (K 0.018)

⎧ − >⎪= ⎨≤⎪⎩

.تبدیل گردند بيتی ٨ تغيير مقياس پيدا کرده و گرد شوند تا به مقادیر دیجيتال ٢۵۵ و ٠ين باید ب بوده و [0,1]ی نيز در بازهفوق ی آمده بدستکه مقادیر

[Rp Gp Bp] = GammaCorrectRGB (R, G, B) نام تابع:

ی آنها در همان شدهGamma Corrected قرار دارند، به مقادیر [0,255]ی را که در بازهB و R ،Gاین تابع مقادیر

.ندک بازه تبدیل می

:توصيف

% scaling components to [0,1] Rn = double(R)/255; Gn = double(G)/255; Bn = double(B)255; if Rn <= 0.018 Rp = 4.5*Rn; else Rp = 1.099*(Rn^0.45)-0.099; end; if Gn <= 0.018 Gp = 4.5*Gn; else Gp = 1.099*(Gn^0.45)-0.099; end; if Bn <= 0.018 Bp = 4.5*Bn; else Bp = 1.099*(Bn^0.45)-0.099; end; %scaling components to 8-bits values [Rp Gp Bp] = Scale28bit(Rp,Gp,Bp);

):باشد می'R'G'Bی شده های نرمال ی هر کدام از مولفه نماینده'K(کنيم تبدیل زیر استفاده میبرای عکس تبدیل فوق هم از

100 45K ' 0.099 if (K ' 0.081)

1.099KK ' if (K ' 0.081)4.5

⎧ +⎛ ⎞ >⎪ ⎜ ⎟⎪ ⎝ ⎠= ⎨⎪ ≤⎪⎩

.ردند بيتی تبدیل گ٨ تغيير مقياس پيدا کرده و گرد شوند تا به مقادیر دیجيتال ٢۵۵ و ٠ين باید ب بوده و [0,1]ی نيز در بازهفوق ی آمده بدستکه مقادیر

[R G B] = ReverseGammaCorrectRGB (Rp, Gp, Bp) نام تابع:

قرار دارند، به مقادیر معمولی [0,255]ی را که در بازهBp و Rp ،Gpی شدهGamma Correctedاین تابع مقادیر

.کند آنها در همان بازه تبدیل می

:توصيف

Page 4: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

4

% scaling components to [0,1] Rpn = double(Rp)/255; Gpn = double(Gp)/255; Bpn = double(Bp)/255; if Rpn < 0.081 R = Rpn/4.5; else R = ((Rpn+0.099)/1.099)^(100/45); end; if Gpn < 0.081 G = Gpn/4.5; else G = ((Gpn+0.099)/1.099)^(100/45); end; if Bpn < 0.081 B = Bpn/4.5; else B = ((Bpn+0.099)/1.099)^(100/45); end; %scaling components to 8-bits values [R G B] = Scale28bit(R,G,B);

؟ مختلفچرا فضاهای رنگ

ها بسيار زیاد تعداد این رنگ. نانومتر قرار دارند٧٠٠ تا ۴٠٠هایی است که بر روی طيف انرژی الکترومغناطيسی از نگی قابل مشاهده، شامل رنگنور ر

از طرفی این تعریف .ری است بسيار مشکلها، کا ی طول طيف رنگ کارگيری، کار کردن با مشخصه بوده، هم از لحاظ کارایی و هم از لحاظ پيچيدگی به

در نتيجه نياز پيدا کردن به فضایی چند بعدی و تعریف مجدد .ی فيزیکی داشته و هيچ سنخيتی با سيستم بينایی و ادراک انسان ندارد از رنگ، جنبه

طور که اشاره شد، ابعادی البته همان.، نيازی بدیهی بود)عد ب٣یهنی ( و استفاده از حداکثر ابعاد قابل درک تر ها در فضایی با ابعاد به مراتب کوچک رنگ

این کار پردازش . هایی از رنگ باشند، که برای سيستم بينایی انسان قابل لمس باشد است نشانگر ویژگی اصولی شوند، که در این فضاها ارائه می

.سازد پذیر می دار و مفهومی را بر روی تصاویر رنگی امکان جهت

و مرکز این تفاوت آنها با همدیگر نيز، ناشی از تعاریف متفاوتی است که برای هر کدام از ابعاد. اند وجود آمده ای رنگی برای رفع این نياز بهتمامی فضاه

کاربردهای برای ارایه شده است، آن فضاکه در هر کدام از فضاهابسته به ماهيت ابعادی . در هر کدام از این فضاها ارایه شده استابعاد متعامد،

، بسيار مطلوب )*L*a*bمثال (یک فضای خطی حتی با پيچيدگی زیاد استفاده از ، مثال در یک سيستم پردازشی.گردیده است مشخصی مناسب

و افزاری آن فضا سازی سخت ، خطی بودن یا نبودن فضا برای ما مهم نيست، بلکه مهم، سهولت پيادهCRTاست، در حاليکه در یک سيستم نمایش

تغييرات در یکی از ابعاد آن، متناظر با همان ميزان تغيير در یک فضای رنگ در صورتی خطی است که ( است )RGBمثال (پيچيدگی هر چه کمتر آن

).که با آن بعد متناظر استباشد مفهومی

های مختلف نمایش فضای رنگ روش

) رنگينگی(، و دیگری با استفاده از کرومينانس )T1 T2 T3(پایه ) محرک(د ابعااده از یکی استف. دو روش برای مشخص کرن یک رنگ در یک فضا وجود دارد

:، که در آن(t1 t2 Y)آن ) درخشندگی(و لومينانس

11

1 2 3

Tt

T T T=

+ + , 2

21 2 3

Tt

T T T=

+ +

Page 5: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

5

− −⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥= −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦ ⎣ ⎦

3.240479 1.537150 0.4985350.969256 1.875992 0.041556 *0.055648 0.204043 1.057311

R XG YB Z

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥=⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦

0.412453 0.357580 0.1804230.212671 0.715160 0.072169 *0.019334 0.119193 0.950227

X RY GZ B

زیر در یک ) t2 و t1(شود، که در آن اطالعات رنگی م میيندگی تقس رنگ به دو بخش مجزای اطالعات رنگی و درخش فضایی نمایش، هر در این نحوه

های بعدی خواهيم دید که اکثر فضاهایی همچنين در بخش. در ادامه خواهيد دیدxyاین زیر فضای دوبعدی را برای . فضای دو بعدی قابل نمایش است

.باشد میxyفضای زیر ی همين ر خطی یافتهها تغيي فضای رنگينگی آن زیرگيرند، ی نمایش بهره می که از این شيوه

XYZفضای رنگ

مشکل . XYZ: نمودRGBی جدید برای برطرف کردن مشکالت فضای رنگ اقدام به معرفی یک مجموعه رنگ پایهCIE، ١٩٣١در سال :مبانی نظری

.تعریف واحدی برای دریافت اطالعات رنگی موجود نبود. ..ها، سنسورها و گرهای مختلف نظير انسان فضای رنگ قبلی در این بود که برای مشاهده

های پایه ی جدید، اجزای رنگ در این فضای رنگ پایه. گيری است هودی و وابسته به وسایل اندازهش ، مشخصات رنگی نيمهRGBیعنی در فضای

های ی پارامترها، ویژگی بستگی دارد و بقيه(Y)امتر ميزان درخشندگی رنگ در این فضا برخالف فضای قبل فقط به یک پار. های واقعی نيستند رنگ

.دهند رنگی را پوشش می

: استفاده کرد )D65 با رنگ مرجع سفيد CIE 1931استاندارد ( های تبدیل زیر توان از ماتریس و بالعکس میRGB از XYZبرای ورود به فضای

و بالعکسXYZ به فضای RGBتبدیل از فضای رنگ

به ترتيب در Z و X ،Y باشند، [255 ,0]ی در بازهB و R ،G، اگر مقادیر ) XYZ به RGBیعنی حرکت از ( در تبدیل مستقيم : سازی ای پيادهه نکته

نيز برای انجام تبدیل معکوس .بایستی تغيير مقياس داده شوند بيتی می٨ واقع خواهند شد و برای نمایش [0,278] و [0,255]، [243 ,0]های بازه

که در این صورت . ها انجام شود تغيير مقياس داده شده و سپس ضرب ماتریس[0,278] و [0,255]، [243 ,0]های به بازهXYZ بيتی ٨ابتدا باید مقادیر

. بيتی خواهند بود٨مقادیر بدست آمده،

[x y z] = rgb2xyz (r, g, b) نام تابع:

:توصيف .کند را در خروجی توليد میXYZ بيتی ٨ادیر را گرفته و مقRGB بيتی ٨این تابع مقادیر

%RGB to XYZ conversion matrix rgb2xryrzrMatrix=[ 0.412453 0.357580 0.180423 0.212671 0.715160 0.072169 0.019334 0.119193 0.950227]; xryrzr = rgb2xryrzrMatrix * [r g b]'; %scaling components to 8-bits values [x y z] = Scale28bit(xryrzr(1),xryrzr(2),xryrzr(3), 0,243 ,0,255 ,0,278);

[r g b] = xyz2rgb (x, y, z) نام تابع:

:توصيف .کند را در خروجی توليد میRGB بيتی ٨ را گرفته و مقادیر XYZ بيتی ٨این تابع مقادیر

% scaling components to origin ranges. x = MyScale(x, 0,255, 0,243); y = MyScale(y, 0,255, 0,255); z = MyScale(z, 0,255, 0,278); %XYZ to RGB coversion matrix

Page 6: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

6

xzزیرفضای کرومينانس

xyz2rrgrbrMatrix=[ 3.240479 -1.537150 -0.498535 -0.969256 1.875992 0.041556 0.055648 -0.204043 1.057311]; rgb = xyz2rrgrbrMatrix * [x y z]'; %scaling components to 8-bits values r=uint8(rgb(1)); g=uint8(rgb(2)); b=uint8(rgb(3));

اند، که هر کدام نيز نسبت به یک رنگ سفيد مرجع های تبدیل بسيار زیادی ارائه شده برای تبدیالت فوق ماتریس: چند نکته در مورد تبدیالت فوق

ورودی در ی تقسيم حاصلضرب ماتریس نتيجه. ایم استفاده کردهD65 و رنگ مرجع استاندارد CIE 1931در این مورد ما از استاندارد . گيرند انجام می

باشد، نتایج (X0,Y0,Z0) در واقع اگر مختصات رنگ سفيد مرجع .ی تغيير مقياس را خواهد داد بر رنگ سفيد مرجعمان همان نتيجهماتریس تبدیل

ایم، سازی فوق ارائه داده تبدیلی که در پياده0 0 0

X Y Z( , , )X Y Z

مختصات رنگ سفيد مرجع در این . باشند می(X,Y,Z)ی یا همان مقادیر دیجيتال شده

: عبارتند از[1 ,0]ی استاندارد، در بازه

D65 Whitepoint: (X0,Y0,Z0) = (0.9504, 1, 1.0889)

xyY یاxyz فضای رنگ

- و نمایش کروما مشتق شده استXYZاین فضا از فضای : مبانی نظری

xن دو مقدار ، در نتيجه با داشتx+y+z =1از آنجایی که . باشد لومای آن می

نيز نمایش xyYآید، لذا این فضا را با نيز براحتی بدست میz مقدار yو

در مواردی مفيد است که بخواهيم به یک فضای استفاده از این فضا. دهند می

ما و کرy و x در این مدل لومينانس و Y. دوبعدی مستقل از شدت نور برویم

شدت نور متفاوت هستند، در در نتيجه دو مقدار رنگ که فقط در . هستند

برای رفتن به این فضا، کافی . باشند دارای مقادیر یکسانی میxyفضای

زیر . که در باال توضيح داده شد استفاده کنيمXYZاست از نمایش دوم فضای

برای عکس تبدیل . نمایش داده شده است روبروفضای کرومينانس در شکل

باشند، بصورت زیر عمل [1 ,0]ی بازه در XYZ و xyYفوق نيز، اگر مقادیر

:کنيم می

− += = = =

xY zY (1 (x y)) YX , Y Y , Z

y y y

برابر صفر شود، X+Y+Z، اگر xyY به XYZدر تبدیل : سازی های پياده نکته

توان مختصات توان می را میy و xدر این حالت . آید تقسيم بر صفر پيش می

.(0,0) = (x,y): ، یعنیگی سفيد مرجع در نظر گرفترنگين

.شود ، در نظر گرفته می(0,0,0) = (X,Y,Z) باشد،y=0در تبدیل معکوس هم اگر

[x y l] = xyz2xyl (x, y, z) نام تابع:

ه توجه داشت. کند بيتی تبدیل می٨ با مقادیر xyY بيتی به یک پيکسل ٨ را با مقادیر XYZاین تابع یک پيکسل :توصيف

Page 7: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

7

.ایم کوچک نشان دادهLباشد، با را که نشانگر لومينانس میYباشيد که

l = y; sum = x+y+z; if (sum == 0) %Preventing devide by zero x = 0; y = 0; else x = x/sum; y = y/sum; end; %scaling components to 8-bits values x = uint8(x*255); y = uint8(y*255);

[x y z] = xyl2xyz (x, y, l) نام تابع:

توجه داشته . کند بيتی تبدیل می٨ با مقادیر XYZ بيتی به یک پيکسل ٨ را با مقادیر xyYاین تابع یک پيکسل

.ایم کوچک نشان دادهL با xyYباشد، در فضای را که نشانگر لومينانس میYباشيد که

:توصيف

%scaling components to [0,1] x = double(x)/255; y = double(y)/255; l = double(l)/255; z = 1-(x+y); if (y == 0) % preventing devide by zero. x = 0; y = 0; z = 0; else x = (x/y) * l; z = (z/y) * l; y = l; end; %scaling components to 8-bits values x = uint8(x*255); y = uint8(y*255); z = uint8(z*255);

CMY رنگ فضای

بسياري از وسايل مانند پرينترهاي رنگي و . باشد می (Yellow) و زرد(Magenta) ، بنفش(Cyan) ای فيروزه های رنگی این مدل بر پایه: مبانی نظری

ها قادرند همچنين اين دستگاه. دارندCMYدستگاه هاي کپي کننده که ذرات رنگي را بر روي کاغذها مي نشانند، براي کار خود نياز به اطالعات ورودي

:شود زير انجام مي ی سادهی اين تبديل توسط رابطه. را به صورت دروني انجام دهندRGB به اطالعات در سيستم CMYتبديل اطالعات در سيستم

C 1 RM 1 GY 1 B

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥= −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦

Page 8: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

8

[c m y] = rgb2cmy (r, g, b) نام تابع:

:توصيف .برد بيتی می٨ مقادیر باCMY را به فضای RGB بيتی ٨این تابع یک پيکسل با مقدار

cmy = 255 - [r g b]; c = cmy(1); m = cmy(2); y = cmy(3);

[r g b] = cmy2rgb (c, m, y) نام تابع:

:توصيف .گرداند بر می بيتی ٨ با مقادیر RGB را به فضای CMY بيتی ٨این تابع یک پيکسل با مقدار

rgb = 255 - [c m y]; r = rgb(1); g = rgb(2); b = rgb(3);

CMYKفضای رنگ

جایی که در چاپگرها و سایر از آن. ، یعنی رنگ سياه به آن اضافه شده استKباشد که جزء میCMY این فضای رنگ همان فضای رنگ :مبانی نظری

مستقيما از دوده توليد شود، از سه جزء رنگی دیگر، بسيار تواند ی توليد رنگ سياه که می کنند، هزینه وسایلی که از پودرها و ذرات رنگی استفاده می

.رسد باشد، توليد این فضای رنگی جدید برای مقادیر سطوح خاکستری منطقی به نظر می بر می هزینه

C min(1,C(1 K) K)M min(1,M(1 K) K)Y min(1, Y(1 K) K)

= − += − += − +

K min(C,M, Y)C (C K) /(1 K)M (M K) /(1 K)Y (Y K) /(1 K)

== − −= − −= − −

و بالعکسCMYK به فضای CMYتبدیل از فضای رنگ

[c m y k] = cmy2cmyk (c, m, y) نام تابع:

مقدار رنگ خاکستری K. کند تبدیل میCMYK بيتی ٨ را به پيکسل CMY بيتی٨یک پيکسل با مقدار این تابع

.اند کسر شدهY و C ،Mباشد، که استخراج شده و مقدار آن از مقادیر کار رفته در رنگ می خالص به

:توصيف

% scaling components to [0,1] cn = double(c)/255; mc = double(m)/255; yn = double(y)/255; k = min([cn mn yn]); c = (cn-k)/(1-k); m = (mn-k)/(1-k); y = (yn-k)/(1-k); %scaling components to 8-bits values

Page 9: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

9

cmyk = uint8([c m y k]*255); c = cmyk(1); m = cmyk(2); y = cmyk(3); k = cmyk(4);

[c m y] = cmyk2cmy (c, m, y, k) نام تابع:

:توصيف .گرداند بر می CMY بيتی ٨ را به پيکسل CMYK بيتی ٨این تابع یک پيکسل با مقدار

%scaling components to [0,1] cmykn = [c m y k]/255; c = min (1, cmykn(1)*(1-cmykn(4))+cmykn(4)); m = min (1, cmykn(2)*(1-cmykn(4))+cmykn(4)); y = min (1, cmykn(3)*(1-cmykn(4))+cmykn(4)); %scaling components to 8-bits values [c m y] = Scale28bit(c,m,y);

انتقال تلویزیونیفضاهای رنگ

YIQ و YUVهای آنالوگ و استاندارد تلویزیونYCbCrس و در این فضاها اطالعات رنگی به دو جزء لومينان. باشند استاندارد تلویزیون دیجيتال می

سازی در اختيار قرار های سياه و سفيد و همچنين کاربردهای فشرده شوند، در نتيجه امکان خوبی برای تطابق با تلویزیون کرومينانس تبدیل می

و NTSCهای استاندارد سيستمYUV. گيرد باشد، توسط شرکت کداک مورد استفاده قرار می نيز که از همين خانواده میYCCفضای رنگ . دهند می

YIQهای استاندارد سيستمPALباشد می.

YUV و YIQ رنگي فضاهایی

نسبت به ،اين تغييرات براي آن است که مدل جديد براي انتقال. بدست آمده است'R'G'Bبا تغييرات کوچکي از روي مدل این فضاها : مبانی نظری

اطالعات ويديويي مورد نياز این فضاها از Y جزءدر حقيقت. و سفيد، سازگار گردد کارآمدتر شود و همين طور با سيستم تلويزيون هاي سياه RGBمدل

زير استفاده و بالعکس از روابط YUVو YIQ فضاهای به RGB فضایبراي تبديل . يک سيستم تلويزيون سياه و سفيد را بطور کامل تامين مي کند

:شود مي

0.299 0.587 0.114 '0.596 0.275 0.321 '0.212 0.523 0.311 '

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥= − −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦ ⎣ ⎦

Y RI GQ B

' 1 0.9557 0.6199' 1 0.2716 0.6469' 1 1.1082 1.7051

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥= − −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦ ⎣ ⎦

R YG IB Q

و بالعکس)PALسيستم (YIQ به فضای RGBتبدیل از فضای رنگ

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥= − −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥− −⎣ ⎦ ⎣ ⎦ ⎣ ⎦

0.299 0.587 0.114 '0.147 0.289 0.436 '0.615 0.515 0.100 '

Y RU GV B

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥= − −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦ ⎣ ⎦

' 1 0 1.1398' 1 0.3946 0.5805' 1 2.0320 0.0005

R YG UB V

و بالعکس)NTSCسيستم (YUV به فضای RGBتبدیل از فضای رنگ

:توجه داشته باشيد که

Page 10: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

10

U = 0.492 (B'-Y) , V = 0.877(R'-Y)

I = V cos 33 – U sin 33 , Q = V sin 33 + U cos 33و

اي طراحي گونه ه بYUV و YIQ فضاهای است و 9و اشباع 8رنگ تهحساسيت سيستم بينايي انسان به تغييرات روشنايي بيشتر از حساسيت آن به

در ) تعداد بيت در رنگ ديجيتال ( ند ، بيشتر پهناي بااین فضاهابه همين دليل در استانداردهاي منطبق بر . ندن که از اين خاصيت استفاده کاند شده

.دارند نگه مياجزای کرومينانسدهند و پهناي باند کمتري را براي اختصاص ميY به پارامتر،دسترس را

. از دو پارامتر مشخص کننده رنگ جدا استYد آن است که پارامتر مشخص کننده روشنايي ن دارRGB نسبت به مدل این فضاهامزيت عمده ديگري که

با توجه به آن که متغير روشنايي متناسب با مقدار نوري است که چشم بيننده دريافت مي کند، با استفاده از اين خاصيت مي توان روشنايي يک

از Yرامتر را تنها در مورد پا10براي مثال مي توان تکنيک يکسان سازي هيستوگرام. تصوير را تغيير داد بدون آنکه در ترکيب رنگ آن تغييري ايجاد شود

.در اين حالت رنگ تصوير تغييري نخواهد کرد. اعمال کرد YUVیا YIQتصويري با فرمت

Y باشند، مقادیر ٢۵۵ و ٠های آن بين استاندارد استفاده شود که مقادیر مولفه'R'G'B اگر از YIQبرای فضای با تبدیالت فوق،: سازی های پياده نکته

برای عکس اسن .ی دیجيتال باید تغيير مقياس پيدا کنند خواهند بود، که برای استفاده١٣۴+ و ١٣۴- بين Qومقادیر ١۵٢+ و ١۵٢-، بين I، ٢۵۵ و ٠بين

. شده هستندنتایج کار، دیجتایزکه . ها باز گردانده شده و تبدیل معکوس بر روی آن صورت پذیرد تبدیل نيز ابتدا باید مقادیر دیجيتال شده به همين بازه

و ١١٢-، بين U، ٢۵۵ و ٠ بين Y باشند، مقادیر ٢۵۵ و ٠های آن بين استاندارد استفاده شود که مقادیر مولفه'R'G'B اگر از YUVبرای فضای هچنين

.باشند های فوق در این مورد نيز صادق می سایر گفته. خواهند بود١۵٧+ و ١۵٧- بين Vو مقادیر ١١٢+

[y i q] = rgb2yiq (r, g, b) بعنام تا:

:توصيف .کند تبدیل میYIQ بيتی ٨ را به مقادیر RGB بيتی ٨این تابع مقادیر

%Convert RGB to R'G'B' [rp gp bp] = GammaCorrectRGB(r,g,b); %R'G'B' to YIQ conversion matrix rpgpbp2yrirqrMatrix=[ 0.299 0.587 0.114 0.596 -0.275 -0.321 0.212 -0.523 0.311]; yrirqr = rpgpbp2yrirqrMatrix * double([rp gp bp]'); %scaling components to 8-bits values [y i q] = Scale28bit(yrirqr(1),yrirqr(2),yrirqr(3),0,255,-152,152,-134,134);

[r g b] = yiq2rgb (y, i, q) نام تابع:

:توصيف .کند تبدیل میRGB بيتی ٨ را به مقادیر YIQ بيتی ٨این تابع مقادیر

% scaling components to origin ranges. y = MyScale(y, 0,255, 0,255); i = MyScale(i, 0,255, -152,152); q = MyScale(q, 0,255, -134,134); %YIQ to R'G'B' ConversionMatrix yiq2rpgpbpMatrix=[

8 - hue 9 -saturation 10 - histogram equalization

Page 11: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

11

1 0.9557 0.6199 1 -0.2716 -0.6469 1 -1.1082 1.7051]; rpgpbp = yiq2rpgpbpMatrix * [y i q]'; %Converting R'G'B' to RGB - RGB Components will be in [0,255] [r g b] = ReverseGammaCorrectRGB(rpgpbp(1),rpgpbp(2),rpgpbp(3));

[y u v] = rgb2yuv (r, g, b) نام تابع:

:توصيف .کند تبدیل میYUV بيتی ٨ را به مقادیر RGB بيتی ٨این تابع مقادیر

%Convert RGB to R'G'B' [rp gp bp] = GammaCorrectRGB(r,g,b); %R'G'B' to YUV conversion matrix rpgpbp2yrurvrMatrix=[ 0.299 0.587 0.114 -0.147 -0.289 0.436 0.615 -0.515 -0.1]; yrurvr = rpgpbp2yrurvrMatrix * double([rp gp bp]'); %scaling components to 8-bits values [y u v] = Scale28bit(yrurvr(1),yrurvr(2),yrurvr(3),0,255,-112,112,-157,157);

[r g b] = yuv2rgb (y, u, v) نام تابع:

:توصيف .کند تبدیل میRGB بيتی ٨ را به مقادیر YUV بيتی٨این تابع مقادیر

% scaling components to origin ranges. y = MyScale(y, 0,255, 0,255); u = MyScale(u, 0,255, -112,112); v = MyScale(v, 0,255, -157,157); %YUV to R'G'B' ConversionMatrix yuv2rpgpbpMatrix=[ 1 0 1.1398 1 -0.3946 -0.5805 1 2.0320 -0.0005]; rpgpbp = yuv2rpgpbpMatrix * [y u v]'; %Converting R'G'B' to RGB - RGB Components will be in [0,255] [r g b] = ReverseGammaCorrectRGB(rpgpbp(1),rpgpbp(2),rpgpbp(3));

'YU'Vفضای

در . ی مختلف نمایش داده شده است ها کروما به دو شيوه کروما بودند که در آن- هر دو بيانگر فضاهایی لوماYUV و xyY اهای رنگ فض : مبانی نظری

:باشد میxyی تغيير خطی یافتهUVاصل

Page 12: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

12

2xU

6y x 1.5⎛ ⎞

= ⎜ ⎟− +⎝ ⎠ ,

3yV

6y x 1.5⎛ ⎞

= ⎜ ⎟− +⎝ ⎠

توجه داشته باشيد . V' = 1.5 V: در این است که، در آنYUV بوده و تنها تفاوت آن با xyzی خطی ير یافته یک تغيYUV نيز همانند فضای 'YU'Vفضای

: آمد حرکت کنيم، روابط زیر بدست میYUV به XYZخواستيم از که اگر مستقيما می

⎛ ⎞= ⎜ ⎟+ +⎝ ⎠

4XU

X 15Y 3Z , ⎛ ⎞= ⎜ ⎟+ +⎝ ⎠

6YV

X 15Y 3Z

دهيم، و تغيير مقياسی روی نتایج بدست آمده اعمال خواهد شد، در نتيجه نتایج حاصل از رفتن به بيتی را انجام می٨های سازی ادهچون ما در اینجا پي

.دش یکسان خواهد 'Y'U'V و YUVدو فضای رنگ

YCbCrفضای رنگ

. گيرد شود، مورد استفاده قرار می ه روی این تصاویر انجام میفضای رنگی نيز عمدتا در تصاویر ویدیوی دیجيتال و در کاربردهایی کاین : مبانی نظری

های و بالعکس توسط ماتریسYCbCr به 'R'G'Bحرکت از فضای . باشند ی کرومينانس می دهنده نشانCr و Cbلومينانس بوده وY در این فضای رنگی

:) واقع هستند استفاده شده است٢۵۵ و ٠ی ی آن در بازهها دیجيتال که مولفه'R'G'Bفرض شده است که از فضای (زیر قابل انجام است

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥= − −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥− −⎣ ⎦ ⎣ ⎦ ⎣ ⎦

601 0.257 0.504 0.098 '0.148 0.291 0.439 '0.439 0.368 0.071 '

Y RCb GCr B

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥= − −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦

601' 1.164 0 1.596' 1.164 0.391 0.813' 1.164 2.018 0

R YG CbB Cr

و بالعکس)۶٠١مطابق استاندارد (YCbCr به فضای R'G’Bتبدیل از فضای رنگ

:توان داشت می٧٠٩و یا باز در فضای ورودی و خروجی دیجيتال با استاندارد

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥= − −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥− −⎣ ⎦ ⎣ ⎦ ⎣ ⎦

709 0.183 0.614 0.0620.101 0.338 0.4390.439 0.399 0.040

Y RCb GCr B

7091.164 0 1.793

1.164 0.213 0.5341.164 2.115 0

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥= − −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦

R YG CbB Cr

و بالعکس)٧٠٩مطابق استاندارد (YCbCr به فضای RGBتبدیل از فضای رنگ

نویسی و ساده اگر قبول ندارید، روابط باال را دوباره (شوند، مقدار لومينانس کم شده است ی که نهایتا استفاده میCr و Cbدقت کنيد که از مقادیر

بوده و در کاربردهایی که مایل باشيم تغييرات نوری کمترین تاثير را داشته ) انرژی(يجه این اجزای کرومينانس مستقل از تغييرات نوری ، در نت)کنيد

.نمایاند باشند، استفاده از این جزء مناسب می

قرار خواهند 112 ,112-]ی در بازهCr و [112 ,112-]ی در بازهCb، [220 ,0]ی بدست آمده در بازهY فوق، هر دو تبدیلدر :سازی های پياده نکته

، Y بيتی ٨ در عکس تبدیالت فوق نيز ابتدا باید مقادیر . تبدیل نمایيم[255 ,0]ی بيتی در بازه٨ها را به مقادیر در نتيجه جهت استفاده، باید آن.داشت

Cb و Crبيتی خواهند بود٨آن، نتایج د، که در های مقادیر خود برگشته و سپس عکس تبدیل را انجام دا به بازه .

[y601 cb cr] = rgb2y601cbcr (r, g, b) نام تابع:

:توصيف .کند تبدیل میCIE 601 مطابق استاندارد YCbCr بيتی ٨ را به مقادیر RGB بيتی ٨این تابع مقادیر

% convert RGB to R'G'B'(gamma corrected) [rp gp bp] = GammaCorrectRGB(r,g,b); %R'G'B' to YCbCr (Standard 601) Conversion Matrix rpgpbp2y601rcbrcrrMatrix=[ 0.257 0.504 0.098 -0.148 -0.291 0.439 0.439 -0.368 -0.071]; y601rcbrcrr = rpgpbp2y601rcbrcrrMatrix * double([rp gp bp]');

Page 13: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

13

%scaling components to 8-bits values [y601 cb cr] = Scale28bit(y601rcbrcrr(1),y601rcbrcrr(2),y601rcbrcrr(3) ,0,220, -112,112, -112,112);

[r g b] = y601cbcr2rgb (y601, cb, cr) نام تابع:

:توصيف .کند یل می تبدRGB بيتی ٨ را به مقادیر CIE 601 بدست آمده مطابق استاندارد YCbCr بيتی ٨این تابع مقادیر

% scaling components to origin ranges. y601 = MyScale(y601, 0,255, 0,220); cb = MyScale(cb, 0,255, -112,112); cr = MyScale(cr, 0,255, -112,112); %YCbCr to R'G'B' Conversion Matrix (Standard 601) y601cbcr2rpgpbpMatrix=[ 1.164 0 1.596 1.164 -0.391 -0.813 1.164 2.018 0]; rpgpbp = y601cbcr2rpgpbpMatrix * [y601 cb cr]'; rp = rpgpbp(1); gp = rpgpbp(2); bp = rpgpbp(3); %Converting R'G'B' to RGB - RGB Components will be in [0,255] [r g b] = ReverseGammaCorrectRGB(rp,gp,bp);

[y709 cb cr] = rgb2y709cbcr (r, g, b) نام تابع:

:توصيف .کند تبدیل میCIE 709 مطابق استاندارد YCbCr بيتی ٨ را به مقادیر RGB بيتی ٨این تابع مقادیر

%RGB to YCbCr (Standard 709) Conversion Matrix rgb2y709rcbrcrrMatrix=[ 0.183 0.614 0.062 -0.101 -0.338 0.439 0.439 -0.399 -0.040]; y709rcbrcrr = rgb2y709rcbrcrrMatrix * double([r g b]'); %scaling components to 8-bits values [y709 cb cr] = Scale28bit(y709rcbrcrr(1),y709rcbrcrr(2),y709rcbrcrr(3),0,220,-112,112,-112,112);

[r g b] = y709cbcr2rgb (y709, cb, cr) نام تابع:

:توصيف .کند تبدیل میRGB بيتی ٨ را به مقادیر CIE 709 بدست آمده مطابق استاندارد YCbCr بيتی ٨این تابع مقادیر

% scaling components to origin ranges. y709 = MyScale(y709, 0,255, 0,220); cb = MyScale(cb, 0,255, -112,112);

Page 14: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

14

cr = MyScale(cr, 0,255, -112,112); %YCbCr to RGB Conversion Matrix (Standard 709) y709cbcr2rgbMatrix=[ 1.164 0 1.793 1.164 -0.213 -0.534 1.164 2.115 0]; rgb = uint8(y709cbcr2rgbMatrix * [y709 cb cr]'); r = rgb(1); g = rgb(2); b = rgb(3);

Kodak Photo YCCفضای رنگ

-های تلویزیونی این فضا هم برای بکارگيری در سيستم. طراحی کردPhotoCDهای سيستمencodingکداک این فضای رنگ را برای :مبانی نظری

. ستهای گرافيک کامپيوتری طراحی شده ا گيری در سيستمویدیویی و هم برای بکار

های با این مولفهسپس بدست آید، 'R'G'Bتا فضای گيرد صورت میGamma Correction یک تبدیل RGBبرای ورود به این فضا، ابتدا بر روی فضای

:)باشند می٢۵۵ و ٠ی دیجيتال و در بازه 'R'G'B های فرض شده است که مولفه (شویم میYCCجدید وارد فضای

Luma Y 0.213 0.419 0.081 R 'Chroma1 C 0.131 0.256 0.387 G 'Chroma2 C 0.373 0.312 0.061 B '

⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥= = − −⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥− −⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

YCCتواند ذخيره کند، چون اطالعات بيشتری از سایر فضاهای رنگی میR ،G و Bبنابراین تبدیل معکوس آن . توانند مقادیر منفی را نيز بپذیرند در آن می

:یدآ از روابط زیر بدست میCRT برای صفحه نمایش RGB 24bit به YCC تبدیل .راحت نبوده و به سيستم نمایش مقصد بستگی دارد

R ' 1.403 0 1.8811 YG ' 1.403 0.444 0.957 C1B ' 1.403 2.291 0 C2

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥= − −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦

به قرار خواهند داشت، که باید [96 ,96-] و [99 ,99-]، [182 ,0]های حاصل از تبدیل اول به ترتيب در بازهC2و Y، C1مقادیر : سازی های پياده نکته

ها برگردانده شده و سپس عکس تبدیل روی آن صورت بيتی به این بازه٨برای عکس تبدیل فوق نيز، ابتدا باید مقادیر . بيتی تبدیل شوند٨مقادیر

.پذیرد

[y c1 c2] = rgb2ycc (r, g, b) نام تابع:

:توصيف .کند تبدیل میYCC بيتی ٨ را به مقادیر RGB بيتی ٨این تابع مقادیر

%Convert RGB to R'G'B' [rp gp bp] = GammaCorrectRGB(r,g,b); %R'G'B' to Kodak YCC Matrix rpgpbp2yrcrcrMatrix=[ 0.213 0.419 0.081 -0.131 -0.256 0.387 0.373 -0.312 -0.061]; yrcrcr = rpgpbp2yrcrcrMatrix * double([rp gp bp]'); [y c1 c2] = Scale28bit(yrcrcr(1),yrcrcr(2),yrcrcr(3) ,0,182, -99,99, -96,96);

Page 15: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

15

[r g b] = ycc2rgb (y, c1, c2) نام تابع:

:توصيف .کند تبدیل میRGB بيتی ٨ را به مقادیر YCC بيتی ٨این تابع مقادیر

% scaling components to origin ranges. y = MyScale(y, 0,255, 0,182); c1 = MyScale(c1, 0,255, -99,99); c2 = MyScale(c2, 0,255, -96,96); %YCC to R'G'B' Conversion Matrix ycc2rpgpbpMatrix=[ 1.403 0 1.8811 1.403 -0.444 -0.957 1.403 2.291 0]; rpgpbp = ycc2rpgpbpMatrix * [y c1 c2]'; rp = rpgpbp(1); gp = rpgpbp(2); bp = rpgpbp(3); %Converting R'G'B' to RGB - RGB Components will be in [0,255] [r g b] = ReverseGammaCorrectRGB(rp,gp,bp);

HSL (Hue, Saturation, Lightness)ی رنگ هافضا

و Hدو پارامتر ، زیرا از طرفی ندد و در پردازش تصویر نيز کاربردهای بسياری یافته انباش ا به سيستم بينایی انسان میترین فض ی رنگ شبيهها فضااین

Sچون در این فضا نيز و از طرفی دیگر دهند، بسيار نزديک هستند ها رنگ را تشخيص مي به شيوه اي که انسان Lی رنگ جدا شده است، از بقيه

های اتمام پردازش ویژگیها روی این مولفه صورت پذیرند و پس از فقط کافی است که پردازش... و Histogram Equalizationهایی نظير برای پردازش

Hue). مانند زرد خالص، نارنجي خالص يا قرمز خالص( رنگ خالص استی توصيف کننده Hue در این فضای رنگ، .ش شده ترکيب شوند پردازLرنگی با

نشان مي دهد که يک رنگ خالص تا چه حد توسط Saturation. کند ، بيان می)ای که در زیر نشان داده شده است در دایره( نوع رنگ را بر حسب درجه

.رساند ميزان شدت رنگ احساس شونده توسط بيننده را میBrightness و سفيد رقيق شده استنور يا رنگ

HSLي رنگ هافضا

HSIفضای رنگ

اند تبدیالت مختلفی برای این منظور ارائه شده، )HSIبدليل ماهيت فضای (، تبدیل واحدی وجود ندارد RGB از فضای HSIبرای ورود به : مبانی نظری

درج Gonzalez که در کتاب پردازش تصویر ، از روابط زیرHSI به فضای RGBبرای تبدیل فضای رنگ ما . ه هر کدام در کاربرد خاصی بهتر عمل کرده استک

:کنيم استفاده میشده است،

Page 16: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

16

1

2

1 (R G) (R B)2H cos , if (B G) then H 360 H

(R G) (R B)(G B)−

− + −∠ = > = −

− + − −

min(R,G,B)S 1 3R G B

= −+ +

I = (R+G+B)/3.

را Hسازی هستيم، برای یکسانRGB در (0,0,0) هرمقداری که بگيرد، باز معادل H بدست آید، چون S=0در تبدیالت فوق اگر : سازی های پياده نکته

صفر باشد، Iهمچنانکه اگر .گردد معنا می بیHشود و رنگ تعریف نمی ی ته عبارتی دیگر، وقتی اشباع صفر باشد، مولفه به. گيریم برابر صفر در نظر می

.شود نمیاشباع تعریف

[h s i] = rgb2hsi (r, g, b) نام تابع:

:توصيف .کند تبدیل میHIS بيتی در فضای ٨ را به مقادیر RGB بيتی در فضای ٨این تابع مقادیر

sumrgb = r + g + b; %i is in [0, 255] i = sumrgb/3; num = 0.5 *((r - g) + (r - b)); den = eps + sqrt((r - g)^2 + (r - b)*(g - b)); theta = acos(num/den); % h is in [0, 2*pi] h = theta; if (b>g) h = 2*pi - h; end; % now h is in [0, 255] h = h/(2*pi) * 255; num = min([r g b]); %preventing devide by zero if (sumrgb == 0) s = 0; else s = 1 - 3*num / sumrgb; end; % now s is [0,255] s = s*255; % if Saturation is 0 then H value is meaningless. if (s==0) h = 0; end; %scaling components to 8-bits values h = uint8(h); s = uint8(s); i = uint8(i);

:کنيم که برای عکس تبدیل فوق هم به این صورت عمل می

Page 17: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

17

0 H 120< ≤ 120 H 240< ≤ 240 H 360< ≤

H H= H H 120= − H H 240= −

1 S cosHr 1

3 cos (60 H)⎛ ⎞

= +⎜ ⎟−⎝ ⎠ 1

r (1 S)3

= − r 1 (g b)= − +

g 1 (r b)= − + 1 S cosH

g 13 cos (60 H)⎛ ⎞

= +⎜ ⎟−⎝ ⎠ 1

g (1 S)3

= −

1b (1 S)3

= − b 1 (r g)= − + 1 S cosHb 13 cos (60 H)⎛ ⎞

= +⎜ ⎟−⎝ ⎠

:سپس

R = 3I*r , G=3I*g , B=3I*B

.دارند قرار [1 ,0]ی ی فوق در بازه آمده بدستB و R ،Gکه مقادیر

[r g b] = hsi2rgb (h, s, i) نام تابع:

:توصيف .کند تبدیل میRGB بيتی در فضای ٨ را به مقادیر HSI بيتی در فضای ٨این تابع مقادیر

%scaling components to [0,1] h = double(h)/255; s = double(s)/255; i = double(i)/255; %convert h to radian h = h*(2*pi); if (h==0) h = 2*pi; end; a60 = pi/3; a120 = 2*a60; a240 = 2*a120; a360 = 2*pi; % for more details on conversion refer to toolbox documents if ((h>0) & (h<=a120)) b = (1/3)*(1-s); r = (1/3)*(1+(s*cos(h)) / cos(a60-h)); g = 1-(r+b); end; if ((h>a120) & (h<=a240)) h = h-a120; r = (1/3)*(1-s); g = (1/3)*(1+(s*cos(h))/cos(a60-h)); b = 1-(r+g); end; if ((h>a240) & (h<=a360)) h = h-a240; g = (1/3)*(1-s); b = (1/3)*(1+(s*cos(h))/cos(a60-h)); r = 1-(g+b); end; r = (3*i)*r; g = (3*i)*g; b = (3*i)*b;

Page 18: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

18

%scaling components to 8-bits values r = uint8(255*r); g = uint8(255*g); b = uint8(255*b);

HSVفضای رنگ

کار بهB و R ،G در اینجا مقادیر .کنيم استفاده میTravisاین فضا نيز تبدیالت مختلفی پيشنهاد شده است که در اینجا ما از تبدیل برای :مبانی نظری

:اند نرمال شده[1 ,0]ی در بازهرفته

max max (R,G,B ) , min min(R,G,B )= =

max R max G max BR ' , G ' , B '

max min max min max min− − −

= = =− − −

Undefined if S 05 B ' if (R max) & (G min)1 G ' if (R max) & (B min)

H 1 R ' if (G max) & (B min)3 B ' if (G max) & (R min)3 G ' if (B max) & (r min)5 R ' if(B max) & (G min)

=⎧⎪ + = =⎪⎪ − = =⎪⎪= + = =⎨⎪ − = =⎪⎪ + = =⎪

− = =⎪⎩

V max , S (max min) /max= = −

همچنين در .باشد نداشته و مونوکروم میHueورد نظر به این معنی است که رنگ مH=Undefinedی فوق در رابطه: سازی های پياده نکته

. برابر صفر استSکه در آن ، (0,0,0) = (R,G,B) برابر صفر باشد، یعنی max، اگر Sی محاسبه

تغيير [255 ,0]ی بازه درجه خواهد بود، که این مقادیر را در ٣۶٠، بين صفر تا درجه۶٠ با ضرب کردن آن در H بين صفر تا یک بوده و مقدار S و V مقادیر

.دهيم مقياس می

[h s v] = rgb2hsv (r, g, b) نام تابع:

:توصيف .کند تبدیل میHSV بيتی در فضای ٨ را به مقادیر RGB بيتی در فضای ٨این تابع مقادیر

%scaling components to [0,1] r = double(r)/255; g = double(g)/255; b = double(b)/255; Maxrgb = max([r g b]); Minrgb = min([r g b]); v = Maxrgb; delta = Maxrgb - Minrgb; if Maxrgb == 0 %preventing devide bye zero s = 0; else s = delta/Maxrgb; end;

Page 19: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

19

if s == 0 % if Saturation is Zero, Hue Value is meaningless h = 0; else Rc = (Maxrgb - r) / delta; Gc = (Maxrgb - g) / delta; Bc = (Maxrgb - b) / delta; if ((r == Maxrgb) & (g == Minrgb)) h = 5 + Bc; elseif ((r == Maxrgb) & (b == Minrgb)) h = 1 - Gc; elseif ((g == Maxrgb) & (b == Minrgb)) h = 1 + Rc; elseif ((g == Maxrgb) & (r == Minrgb)) h = 3 - Bc; elseif ((b == Maxrgb) & (r == Minrgb)) h = 3 + Gc; elseif ((b == Maxrgb) & (g == Minrgb)) h = 5 - Rc; end; end; %H is in [0,60] h = h*60; if (h < 0) h = h+360; end; %scaling components to 8-bits values h = uint8((h/360)*255); s = uint8(s*255); v = uint8(v*255);

:کنيم که به این صورت عمل می[1 ,0]ی در بازهV و S و (360 ,0]ی در بازهH برای برای عکس تبدیل فوق هم

Hex H / 60, PC floor(Hex), SC Hex PC= = = −

a (1 S)V , b (1 (S * SC))V , c (1 (S * (1 SC)))V= − = − = − −

R V , G c , B a if (PC 0)R b , G V , B a if (PC 1)R a , G V , B c if (PC 2)

R,G,BR a , G b , B V if (PC 3)R c , G a , B V if (PC 4)R V , G a , B b if (PC 5)

= = = =⎧⎪ = = = =⎪⎪ = = = =⎪= ⎨

= = = =⎪⎪ = = = =⎪

= = = =⎪⎩

. بيتی تبدیل شوند٨ بوده و باید به مقادیر [1 ,0]ی مده در بازه بدست آB و R ،Gضمنا مقادیر . R,G,B = V باشد، باید S=0اگر : سازی های پياده نکته

[r g b] = hsv2rgb (h, s, v) نام تابع:

:توصيف .کند تبدیل میRGB بيتی در فضای ٨را به مقادیر HSV بيتی در فضای ٨این تابع مقادیر

%Convert h to degree h = (double(h)/255)*360 ;

Page 20: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

20

%scaling components to [0,1] s = double(s)/255; v = double(v)/255; %if Saturation doesnot exist, RGB=(V,V,V); if (s == 0) r = v; g = v; b = v; else if h == 360 h = 0; end; hex = h / 60; pc = floor(hex); sc = hex - pc; a = v * (1 - s); b = v * (1 - (s * sc)); c = v * (1 - (s * (1 - sc))); switch pc case 0 r = v; g = c; b = a; case 1 r = b; g = v; b = a; case 2 r = a; g = v; b = c; case 3 r = a; g = b; b = v; case 4 r = c; g = a; b = v; case 5 r = v; g = a; b = b; end; end; %scaling components to 8-bits values r = uint8(r*255); g = uint8(g*255); b = uint8(b*255);

فضاهای رنگ مفهوما یکنواخت

یک . نيستXYZها در فضای رنگ ی اصلی معرفی این فضاهای رنگ از آنجا سرچشمه گرفته است که تفاوت مفهومی بين دو رنگ، برابر تفاضل آن ایده

برای CIE. ی انسانی از شباهت دو رنگ، متناظر باشد ی فضایی بين دو رنگ، با قضاوت بيننده ست که در آن فاصلهفضای رنگ یکنواخت، فضایی ا

بيانگر مقدار *L معرفی نمود، که در آن *Lی را بر پایه *L*a*b و*L*u*vی رنگ ها فضا١٩٧۶دستيابی به فضای رنگی با این ویژگی در سال

در . باشند ی کروما می های تبدیل ریاضی یافته نسخه*v و *u اجزای *L*u*vدر فضای رنگ . باشد نور یکنواخت میلومينانس یک رنگ در یک مقياس

.باشند آبی می- سبز و زرد-ی زرد بيانگر تغييرات رنگی یکنواخت بر روی محورها*b و *L*a*b* ،aفضای

Page 21: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

21

*L*u*vفضای رنگ

:کنيم ، به صورت زیر عمل می*L*u*vبه فضای رنگ XYZبرای حرکت از فضای .دباش می'YU'Vی فضا بر پایهاین : مبانی نظری

13

0 0

0 0

Y Y116 16 if 0.008856Y Y

L *Y Y903.3 if 0.008856Y Y

⎧ ⎛ ⎞⎪ − >⎜ ⎟⎪⎪ ⎝ ⎠= ⎨⎛ ⎞⎪

≤⎜ ⎟⎪⎪ ⎝ ⎠⎩

0

0

u* 13L*(u u )

v* 13L*(v v )

′ ′= −′ ′= −

:های قبلی معرفی شد، آنگاه که در قسمتD65، مثال همان مختصات باشند مختصات رنگ سفيد مرجعZ0 و X0 ،Y0 اگرکه 4X 9YU ' , V '

X 15Y 3Z X 15Y 3Z= =

+ + + +

0 00 0

0 0 0 0 0 0

4X 9YU ' , V '

X 15Y 3Z X 15Y 3Z= =

+ + + +

Z0و Y0 و X0 بر Z و X ،Yسازی یعنی تقسيم کنيد، چون در این تبدیل دیجيتال استفاده میدیجيتالی شده XYZ اول اینکه اگر از :سازی های پياده نکته

. استفاده نمایيدY از *Lی انجام شده است، در محاسبه

. قرار خواهند داشت[155,171-] و [257,705-]، [100 ,3]های بازه به ترتيب در V و L ،U فضا، به اینXYZبعد از حرکت از

[L us vs] = xyz2luv (x, y, z) نام تابع:

:توصيف .کند تبدیل می*L*u*v بيتی در فضای ٨ را به مقادیر XYZ بيتی در فضای ٨این تابع مقادیر

%scaling components to [0,1] x = double(x)/255; y = double(y)/255; z = double(z)/255; % Reference White point definition (D65) WP = [0.9504 1 1.0889]; x0 = WP(1); y0 = WP(2); z0 = WP(3); % scaling components to origin ranges. x = x*x0; y = y*y0; z = z*z0; %Computing L* if (y > 0.008856) L = 116*(y^(1/3))-16; else L = 903.3 * y; end; if ((x+15*y+3*z)==0) %preventing devide by zero us = 0; vs = 0; else u = 4*x / (x+15*y+3*z); v = 9*y / (x+15*y+3*z);

Page 22: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

22

%Computing U',V' for rference white point u0 = 4*x0 / (x0+15*y0+3*z0); v0 = 9*y0 / (x0+15*y0+3*z0); %Computing u*,v* us = 13*L*(u-u0); vs = 13*L*(v-v0); end; %scaling components to 8-bits values [L us vs] = Scale28bit(L,us,vs, 3,100, -257,705, -155,171);

:، سپسگردانيم برمی*L*u*vی های ممکنه یر دیجيتالی را به مقادیر بازهابتدا مقادبرای عکس تبدیل فوق نيز

3L 16

if L 7.9996116Y

Lif L 7.9996

903.3

⎧ +⎛ ⎞ >⎪⎜ ⎟⎪⎝ ⎠= ⎨⎪ ≤⎪⎩

0 0

V UV ' V , U ' U

13L 13L= + = +

9Y 9YU '( ) (X 15Y)

V ' V 'X , Z4 3

− += =

. بيتی تبدیل شوند٨ه و باید به مقادیر بود[1 ,0]ی بدست آمده در بازهZ و X ،Yمقادیر . (0,0,0) = (X, Y, Z) باشد، L = 0اگر : سازی های پياده نکته

[x y z] = luv2xyz (l, u, v) نام تابع:

:توصيف .کند تبدیل میXYZ بيتی در فضای ٨ را به مقادیر *L*u*v بيتی در فضای ٨این تابع مقادیر

% scaling components to origin ranges. l = MyScale(l, 0,255, 3,100); us = MyScale(us, 0,255, -257,705); vs = MyScale(vs, 0,255, -155,171); % Reference White point definition (D65) WP = [0.9504 1 1.0889]; x0 = WP(1); y0 = WP(2); z0 = WP(3); % Reference white point in YU'V' Space u0 = 4*x0 / (x0+15*y0+3*z0); v0 = 9*y0 / (x0+15*y0+3*z0); %Cmputing Y if (l>7.9996) y = ((l+16)/116)^3; else y = l/903.3; end; % preventing devide by zero if (l==0) x = 0; z = 0; else

Page 23: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

23

v = v0 + vs/(13*l); u = u0 + us/(13*l); den = 9*y / v; x = u*den /4; z = (den - (x+15*y))/3; end; %scaling components to 8-bits values x = uint8(x*255); y = uint8(y*255); z = uint8(z*255);

*L*a*bفضای رنگ

*L*u*v در فضای *L در این فضا، همان *L(کنيم ، به صورت زیر عمل می*L*a*b به فضای رنگ XYZبرای حرکت از فضای رنگ : مبانی نظری

:)باشد می

0 0

* 500 *⎡ ⎤⎛ ⎞ ⎛ ⎞

= −⎢ ⎥⎜ ⎟ ⎜ ⎟⎢ ⎥⎝ ⎠ ⎝ ⎠⎣ ⎦

X Ya f fX Y

0 0

* 200 *⎡ ⎤⎛ ⎞ ⎛ ⎞

= −⎢ ⎥⎜ ⎟ ⎜ ⎟⎢ ⎥⎝ ⎠ ⎝ ⎠⎣ ⎦

Y Zb f fY Z

: برابر است باfباشد و آبی می- متناظر محور زرد*b سبز و - متناظر محور قرمز*a. باشند مختصات رنگ سفيد مرجع میZ0 و X0 ،Y0که در آن

13t if t 0.008856

f(t) 167.787 * t if t 0.008856

116

⎧>⎪

= ⎨⎪ + ≤⎩

بعد از این تبدیل . ها بر رنگ سفيد مرجع نيست کنيد، نيازی به تقسيم مولفه استفاده می[255 ,0] ی در بازهXYZاگر از مقادیر :سازی های پياده نکته

. خواهند بود[167 ,167-] و [416 ,416-]، [100 ,3]های به ترتيب در بازه*b و *L* ،aمقادیر

[L a b] = xyz2lab (x, y, z) نام تابع:

:توصيف .کند تبدیل می*L*a*b بيتی در فضای ٨به مقادیر را XYZ بيتی در فضای ٨این تابع مقادیر

%scaling components to [0,1] x = double(x)/255; y = double(y)/255; z = double(z)/255; %Computing L* if (y > 0.008856) L = 116*(y^(1/3))-16; else L = 903.3 * y; end; %Computing f(X/X0) if (x > 0.008856) fx = x^(1/3); else fx = 7.787 * x + 16/116; end;

Page 24: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

24

%Computing f(Y/Y0) if (y > 0.008856) fy = y^(1/3); else fy = 7.787 * y + 16/116; end; %Computing f(Z/Z0) if (z > 0.008856) fz = z^(1/3); else fz = 7.787 * z + 16/116; end; %Computing a*,b* a = 500 * (fx - fy); b = 200 * (fy - fz); %scaling components to 8-bits values [L a b] = Scale28bit(L,a,b,3,100, -416,416, -167,167);

عکس تبدیل فوق ابتدا توجه کنيد که انجام دادن برای0

Y 0.008856Y

و L = 7.9996معادل است با =0 0

X Z 0.008856X Z

= است با معادل =

0 0

X Zf( ) f( ) 0.206893

X Z= :در نتيجه . =

3

0

L * 16L 7.9996

Y 116Y L *

L 7.9996903.3

⎧ +⎛ ⎞ ≥⎪⎜ ⎟⎪⎝ ⎠= ⎨⎪ <⎪⎩

,

13

0

0

0

Y L 7.9996Y YfY Y 167.787 * L 7.9996

Y 116

⎧⎛ ⎞⎪ ≥⎜ ⎟⎛ ⎞ ⎪ ⎝ ⎠=⎜ ⎟ ⎨

⎝ ⎠ ⎪+ <⎪

: در نتيجه

0 0 0 0

X a * Y Z Y b *f f , f f

X 500 Y Z Y 200⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎛ ⎞

= + = −⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠

: و نهایتا اینکه

3

0 0

0

0

0

X Xf f 0.206893

X XX

X 16X fX 116 X

f 0.2068937.787 X

⎧ ⎛ ⎞ ⎛ ⎞⎪ ≥⎜ ⎟ ⎜ ⎟⎪ ⎝ ⎠ ⎝ ⎠⎪= ⎨⎛ ⎞⎛ ⎞

−⎜ ⎟⎪ ⎜ ⎟⎜ ⎟ ⎛ ⎞⎪ ⎝ ⎠⎝ ⎠ <⎜ ⎟⎪⎝ ⎠⎩

,

3

0 0

0

0

0

Y Yf f 0.206893

Y YY

Y 16Y fY 116 Y

f 0.2068937.787 Y

⎧ ⎛ ⎞ ⎛ ⎞⎪ ≥⎜ ⎟ ⎜ ⎟⎪ ⎝ ⎠ ⎝ ⎠⎪= ⎨⎛ ⎞⎛ ⎞

−⎜ ⎟⎪ ⎜ ⎟⎜ ⎟ ⎛ ⎞⎪ ⎝ ⎠⎝ ⎠ <⎜ ⎟⎪⎝ ⎠⎩

.رسيم میXYZکه با داشتن مشخصات رنگ سفيد مرجع به فضای

[x y z] = lab2xyz (l, a, b) نام تابع:

:توصيف .کند تبدیل میXYZ بيتی در فضای ٨ را به مقادیر *L*a*b بيتی در فضای ٨این تابع مقادیر

% scaling components to origin ranges. l = MyScale(l, 0,255, 3,100);

Page 25: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

25

a = MyScale(a, 0,255, -416,416); b = MyScale(b, 0,255, -167,167); %computing Y and F(Y/Y0) if (l>=7.9996) fy = (l + 16)/116; y = fy ^ 3; else y = l/903.3; fy = 7.787*y + (16/116); end; %F(X/X0), F(Z/Z0) fx = a/500 + fy; fz = fy - b/200; %computing X if (fx >= 0.206893) x = fx ^ 3; else x = (fx - 16/116)/7.787; end; %computing Z if (fz >= 0.206893) z = fz ^ 3; else z = (fz - 16/116)/7.787; end; %scaling components to 8-bits values x = uint8(x*255); y = uint8(y*255); z = uint8(z*255);

LCHی هافضا

به تجارب دیداری انسان نمایش در مختصات قطبی. باشد در مختصات قطبی می *L*a*bو *L*u*vی هایی فضا این فضا بر پایه: مبانی نظری

. استتر از نمایش در مختصات کارتزین نزدیک

:خواهيم داشت استفاده کنيم، *L*a*bاگر از مختصات قطبی فضای

2 2ab

b *L L , C a * b * , H a tan2( )a *

= = + =

:و برای عکس آن

ab2 2 2ab ab

2 2ab

2ab

C 90 H 270(tan(H )) 1 C a * H 180

L L , a* , b*C C a * H 180else

(tan(H )) 1

−⎧ < <⎪ ⎧+ − ≤⎪ ⎪= = =⎨ ⎨− − >⎪ ⎪⎩

⎪ +⎩

: استفاده کنيم، خواهيم داشت*L*u*vاگر از مختصات قطبی فضای و

2 2uv

u *L L , C u * v * , H a tan2( )v *

= = + =

:و برای عکس آن

Page 26: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

26

uv2 2 2uv uv

2 2uv

2uv

C 90 H 270(tan(H )) 1 C u * H 180

L L , u* , v*C C u * H 180else

(tan(H )) 1

−⎧ < <⎪ ⎧+ − ≤⎪ ⎪= = =⎨ ⎨− − >⎪ ⎪⎩

⎪ +⎩

Page 27: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

27

11ها و کاربردها ویژگی–فضاهای رنگ

گفضای رن ها مهمترین ویژگی کاربردها

RGB • ی قرمز، سبز، آبی های پایه پذیر، شامل رنگ سيستم رنگ جمع

رنگی ی سه ی نظریه بر پایه •

های نمایشی فقط مخصوص سيستم •

سازی و کاربرد آسان پياده •

و نيمه شهودیغيرخطی •

(Device dependent) وابسته به وسيله •

CRTنمایشگرهای •

یهای تلویزیون دوربين •

گرافيک کامپيوتری •

... .و •

CMY(K) • ای، بنفش، زرد، سياه فيروزه: های مکمل رنگ

بکارگيری آسان •

).ها انگاری مگر با بعضی ساده( مشکل است RGBتبدیل به آن از فضای •

.Deviceوابسته به •

.ها و وسایل نظير آنها اغلب دارای رنگ سياه جداگانه هستند چاپگر •

غيرشهودی و غيرخطی •

رنگیچاپ •

عکس رنگی •

نقاشی •

جویی در هزینه به دليل صرفه • استفاده از رنگ سياه

HSL HSI HSV HCI

.آیند بدست میRGBاغلب این فضاها با یک تبدیل خطی از فضای •

غيرخطی ولی بسيار شهودی •

وابسته به دستگاه •

پردازش تصویر •

تواند در جداسازی لومينانس می •، پردازش تصویر و سایر کاربردها

.بسيار مفيد واقع شود

YUV

YIQ

YCbCr

YCC

• YIQ و YUV فضاهای آنالوگ برای NYSC و PALهستند .

• YCbCrرود های دیجيتال بکار می برای سيستم.

.کنند جدا می) نور را از رنگ(آنها لومينانس را از کرومينانس •

.وابسته به دستگاه •

.غيرشهودی، مگر اینکه متخصص تلویزیون باشيد •

کند که یک فضای استفاده میYCC کداک از فضای PhotoCD سيستم •

.باشد میDevice Calibratedرنگ

انتقاالت تلویزیونی •

انتقال تصاویر رنگی •

پردازش تصویر •

سازی تصویر فشرده •

سازی تصویر ذخيره •

XYZ

(Colorimetry)سنجی ی علوم رنگ ریشه و پایه •

• X ،Y و Zباشند مثبت میها دارای مقادیر برای تمامی رنگ.

• Yباشد جزء لومينانس رنگ می.

.غيرخطی •

.بصورت یکنواخت قابل مشاهده نيستند •

• X=Y=Z متناظر R=G=Bباشد با انرژی نوری یکسان می.

عنوان فضای رنگ استاندارد، به •اغلب در تعریف فضاهای رنگی

.رود کار می دیگر به

های تصویر رنگی ی داده معاوضه • .تلفهای مخ بين دستگاه

های deviceکاليبراسيون برای • مختلف

L*U*V*

L*a*b*

.ی سيستم بينایی انسان بر پایه •

تقریبا خطی با درک بصری •

مستقل از دستگاه •

کامال غيرشهودی •

های deviceکاليبراسيون برای •های مختلف نظير چاپگرها، دوربين

... .دیجيتال و

های تصویر رنگی ی داده معاوضه • .ختلفهای م بين دستگاه

مدیریت رنگ •

پردازش تصویر •

11 http://www.digitalearth.net.cn/readingroom/Class-3/He Mingyi.doc

Page 28: Color Space

Advanced Information & Communication Technology Center

.حقوق این مستند متعلق به مرکز فناوری اطالعات و ارتباطات پيشرفته شریف استی کليه©

28