تبلیغات اینستاگرام
ads.fileon.ir

تفاوت rgb و hsl

نویسنده : مینا علی زاده | زمان انتشار : 16 اسفند 1398 ساعت 23:33

سلام به همون دلیلی که دستگاه های مختصات مختلفی وجود داره :

۱ـ درکشون راحت تره

۲ـ از نظر ریاضی بار محاسباتی کمتری دارند

فضای رنگی rgb برا اساس محتصات کارتزین مدل شده یعنی مقادیر روی محور x مقدار رنگ قرمز  روی محور y رنگ سبز و روی محور z مقدار رنگ آبی رو نشون میدن .

حالا این ۲ فضای رنگی (HSB,HSL)  بر خلاف rgb یا bgr بر اساس مختصات استوانه ای مدل شدن.

در مختصات استوانه ای ما ۳ مولفه داریم ρφ, z ‌که 

 در هر ۳ فضای رنگی مفدار Hue  بجای φ قرار گرفته  و مقدارش از ۰تا ۳۶۰ تغییر می کنه .

Hue نشان دهنده شباهت رنگ به ۴ رنگ قرمز سبز آبی و زرد هستش یعنی اگر دایره رنگی رو در نظر بگیریم :

 مقدار بین قرمز و زرد ـ زرد و سبز - و ... به بازه های خاصی تقسیم میشن که  حالا مثلا اگر زاویه ۰ درجه رو از رنگ قرمز در نظر بگیریم ۴۰ درجه میشه رنگی بین زرد و قرمز 

و همین طور در هر ۳ فضای رنگی  saturation بجای ρ قرار گرفته  .

Saturation یعنی مقدار اشباع رنگی  و عدد بین ۰-۱ هستش اگر saturation کمتر بشه و به ۰ نزدیک  تر بشه رنگ به خاکستری متمایل تر میشه  و اگر به ۱ نزدک تر بشه به مقدار اصلی رنگ که این جا همون Hue هست متمایل تر میشه .

در تصویر بالا هرچی که به سمت چپ میریم رنگ saturation اش کمتر و به خاکستری نزدیک تر میشه .

مولفه سوم یا Z  که تفاوت این ۳ فضا هم بهش مربوط میشه  تبدیلیه  برای نشان دادن lumiance و مدل کردن به  محتصات استوانه ای  براساس مقدار saturation   و Hue. 

مولفه سوم در این ۳ فضای رنگی موارد زیر هست :

در HSL روشنایی( Lighteness )  مولفه سوم هست

که نشون دهنده درصد روشنایی هستش  و مقدارش در این دستگاه وابسته به saturation هست واز ۰-۱ تغییر می کنه  و هرچی به ۰ نزدیک تر بشیم رنگ تاریک تر میشه و به ۱ نزدیک تر بشیم روشن تر (مقدار رنگ های hue در حالت عادی روشنایی  0.5 دارن )

در شکل بالا هرچی که به سمت راست میریم روشنایی کمتر میشه و رنگ تیره تر .

در HSB درخشش( Brighteness ) مولفه سوم هست .

درخشش رنگ علاوه بر saturation به hue هم مرتبطه  یعنی هم به روشنایی مربوطه هم به رنگ  پس هر چی که بیشتر بشه رنگ درخشان تر میشه

مقدار Brighteness هم از ۰-۱ تغییر می کنه .

در HSV مقدار  value برابر با  Brighteness  برابر هستش یعنی فقط  اسمشون فرق می کنه و HSB , HSV کاملا یکسان هستن .

  

HSL                                       HSV                       Cylindrical_coordinate_system    

ویژگی که  HSB یا HSL  دارن این که در این فضا ها ما به رنگ و شدت نور بصورت جداگانه دسترسی داریم مثلا برای محاسبه هیستوگرام فقط به شدت نور نیاز داریم یا مثلا برای این که تشخیص بدیم ۲ تا شی که یکی روش سایه افتاده و یکی نور مثل هم هستن از hue استفاده می کنیم چون سایه و نور فقط saturation رو تغییر میدن و Hue دو عکس ثابت می مونه .