تفاوت 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 دو عکس ثابت می مونه .