یک هنرمندِ عاشق تکنولوژی...
آشنایی با ساختار تصاویر Raster و باز آفرینی نور و رنگ
تصاویر Raster شامل مجموعهای از مقادیر دیجیتالی هستند که عناصر تصویر یا پیکسل نامیده میشوند. عموماً یک تصویر دیجیتال دارای تعداد مشخصی از پیکسلهاست که در یک آرایش منظم به شکل سطر و ستون کنار هم قرار گرفتهاند (مانند قطعات یک پازل).
پیکسلها کوچکترین عنصر فردی در یک تصویر هستند که دارای مقادیری از جمله میزان نور و رنگ میباشند. به طور معمول پیکسلها به عنوان یک تصویر شطرنجی یا یک نقشهی شنطرنجی (در واقع یک آرایهی دو بعدی از اعداد صحیح) در حافظهی کامپیوتر ذخیره میشوند.
تصاویر Raster را میتوان با انواع و اقسام ابزارها مانند دوربینهای دیجیتال، اسکنرها و... و همچنین نرمافزارهایی که برای ویرایش و ایجاد فایلهای Raster تولید شدهاند، ایجاد و ذخیره کرد.
نقش پیکسلها در تصاویر Raster
همانطور که گفته شد پیکسلها کوچکترین عناصر تشکیل دهنده و آدرس پذیر در یک تصویر Raster هستند، هر پیکسل با توجه به جایگاه خود در تصویر دارای مقادیر مشخصی از نور و رنگ است که با در کنار هم قرار گرفتن تعداد زیادی از آنها تصویر نهایی تشکیل میشود.
نرمافزارها و سختافزارهای موجود، برای نمایش یا ویرایش تصاویر Raster اطلاعات مورد نیاز را از این پیکسلها دریافت و درنهایت نمایش میدهند و یا در صورت اعمال تغییراتی از سوی کاربر آنها را مجدداً روی پیکسلها بازنویسی کرده و مشخصهی نوری و رنگی پیکسلها را تغییر میدهند (ویرایش تصاویر Raster).
باز آفرینی نور و رنگ در پیکسل
برای اینکه هر پیکسل بتواند نور و رنگ را در خود نگهداری کند به روشی نیاز است که بتوان به بهترین نحو این اطلاعات را به صورت دیجیتال ذخیره کرد. عموم نرمافزارها و سختافزارهای فعلی برای اینکار از مفهومی تحت عنوان HSB/HSL/HSV استفاده میکنند.
HSB : Hue / Saturation / Brightness
HSL : Hue / Saturation / Luminance or Lightness
HSV : Hue / Saturation / Value
دقت داشته باشید که هر سهی این موارد به یک مفهوم اشاره دارند. فقط در بخش انتهایی بسته به جایگاه و نوع استفاده، میزان روشنایی به شکلهای مختلف نوشته شده است. به گونهای که گاهی ممکن است میزان روشنایی در یک مانیتور مد نظر باشد که به آن Brightness گفته میشود و گاهی در یک نرمافزار مانند فتوشاپ است که به آن Luminance یا Lightness گفته میشود و همچنین در بحث بینایی ماشین و یا موارد دیگر به عنوان مقدار یا Value برای روشنایی در نظر گرفته خواهد شد.
چرخهی رنگ (Hue)
چرخهی رنگ عبارت است از مجموعهای از رنگها حول یک محور که روابط بین رنگهای اصلی، ثانویه و همچنین رنگهای درجهی سوم و... را تعیین میکند. چرخهی رنگ بر اساس سه رنگ اصلی، سه رنگ ثانویه و شش رنگ واسطهای که از ترکیب یک رنگ اصلی با یک رنگ ثانویه ایجاد میشوند و به عنوان رنگ درجهی سوم شناخته میشوند در مجموع از ۱۲ قسمت اصلی تشکیل شده است.
- رنگهای اصلی : Red - Green - Blue
- رنگهای ثانویه : Cyan - Magenta - Yellow
- رنگهای درجهی سوم : Rose - Orange - Chartreuse Green - Spring Green - Azure - Violet
برای نمایش رنگ در هر پیکسل نیاز است که ابتدا در یک چرخهی رنگ ۳۶۰ درجه(Color wheel)، رنگ مد نظر انتخاب شود.
غلظت رنگ (Saturation)
مفهوم Chromatic Intensity یا شدت رنگی دربر گیرندهی مفاهیمی چون Colorfulness / chroma / saturation میشود. کمیسون بینالمللی CIE به طور رسمی آنها را به ترتیب، سه جنبهی مختلف شدت رنگ توصیف میکند. اما این اصطلاحات اغلب در شرایطی که به طور واضح از یکدیگر تفکیک نشدهاند به جای یکدیگر نیز ممکن است استفاده شوند (البته معنی دقیق این اصطلاحات با توجه به عملکردهای دیگر آنها متفاوت است).
در واقع غلظ رنگ در اینجا به شدت یک رنگ، متناسب با روشنایی آن اشاره دارد. بسته به جایگاه یک رنگ با افزایش غلظت، آن رنگ غلیظتر شده و با کاهش غلظت با توجه به جایگاه روشنایی آن، طیفی از سفید، خاکستری تا سیاه خواهد داشت.
روشنایی یا مقدار (Brightness / Lightness / Value)
روشنایی یا شدت تابش مفهومی است که بسته به جایگاه خود به میزان روشنایی لامپ (منبع نوری) یا نسبت سفیدی کاغذ تا سیاهی جوهر (Key) اشاره دارد. هرچه روشنایی بیشتر شود رنگها نیز روشنتر خواهند بود. همچنین روشنایی دربر گیرندهی طیفهای سفید تا خاکستری و خاکستری تا سیاه میباشد.
در نهایت هر پیکسل با استفاده از این سه پارامتر اقدام به ایجاد رنگ و سطح روشنایی مورد نظر میکند. البته برای نمایش هر سه پارامتر در خروجی (خواه ماهیت نوری داشته باشد یا چاپ و جوهر) باید از مُدهای رنگی (Color Mode) متناسب با آن استفاده شود تا این مقادیر به خروجی مد نظر تبدیل شوند.
البته دقت داشته باشید که همه چیز به این سادگی که گفته شد نیست و موارد دیگری در این میان بر روی کیفیت رنگ و اطلاعات نوری موجود در تصاویر Raster تاثیر گذار هستند.
فضا یا پهنهی رنگی (Color Space)
فضای رنگی یک سازماندهی خاص از رنگها در یک نرمافزار و یا دستگاه است. عموماً فضای رنگی دربرگیرندهی تمامی رنگهایی است که یک نرمافزار یا دستگاه میتواند پشتیبانی کند یا نمایش دهد. از فضاهای رنگی پرکاربردی که امروزه استفادهی زیادی میشوند میتوان به ProPhoto RGB / Adobe RGB / sRGB و... اشاره کرد.
برای مثال اکثر دستگاههای دیجیتال امروزی از فضای رنگی sRGB به خوبی پشتیبانی میکنند.
همانطور که در تصویر بالا میتوانید مشاهده کنید فضای رنگی sRGB از فضای رنگی Adobe RGB کوچکتر است و این بدین معناست که در فضای sRGB رنگهای کمتری برای نمایش وجود دارد. برای مثال اگر تصویری با فضای رنگی Adobe RGB روی نمایشگری که فقط توانایی پشتیبانی از فضای رنگی sRGB را دارد به نمایش درآید بدون شک رنگهایی تحریف شده و غیر واقعی خواهد داشت، چرا که نمایشگر مذکور قدرت نمایش رنگهایی که در خارج از محدودهی فضای رنگی sRGB هستند را نخواهد داشت و این یک خطای بسیار مهم در بحث ویرایش عکس ایجاد خواهد کرد.
اگر عکاس یا کسی که قرار است عکسی را ویرایش کند، نتواند رنگهای درست را ببنید و در هنگام ویرایش تصمیمات را بر اساس رنگهای نمایش داده شده از نمایشگری که بر اثر تفاوت در فضای رنگی تحت پوشش و فضای رنگی عکس دچار خطا در نمایش رنگ است بگیرد، قطعاً با مشکلاتی از جمله عدم نمایش صحیح رنگ در نمایشگرهای مختلف و یا اختلاف و خطای رنگ در حین چاپ روبرو خواهد شد.
مدل رنگ (Color Model) یا مد رنگی (Color Mode)
با توجه به اینکه قرار است فضاهای رنگی در نهایت جایی به نمایش در آیند، لازم است تا اطلاعات موجود بسته به اینکه قرار است روی نمایشگر ایجاد و یا توسط یک چاپگر چاپ شوند به نور یا جوهر و یا موارد دیگر تبدیل شوند.
این کار به وسیلهی مدهای رنگی قابل انجام است. برای مثال یک نمایشگر قرار است اطلاعات را در نهایت به نور تبدیل کند تا چشم ما بتواند آنها را ببنید و یا یک چاپگر قرار است اطلاعات نوری و رنگی هر پیکسل را به جوهر رنگی برای چاپ روی کاغذ تبدیل کند.
مدهای RGB / Lab / CMYK از پر استفادهترین مدهای رنگی هستند. هرچند با توجه به گسترهی نرمافزارها و سختافزارهایی که وجود دارد، مدهای دیگری نیز برای تبدیل اطلاعات نوری و رنگی وجود دارند که در این نوشتار مجالی برای پرداختن به آنها نیست.
عمق رنگ (Color Depth)
عمق رنگ یا عمق بیت (Bit Depth) تعداد Bitهایی است که برای نشان دادن رنگ یک پیکسل در یک تصویر Raster استفاده میشوند. هرچه عمق رنگ بیشتر باشد، یک پیکسل میتواند تعداد رنگهای بیشتری را نمایش دهد. البته توجه داشته باشید که عمق رنگ یا عمق بیت فقط یکی از جنبههای گسترهی نمایش رنگ است و این مفهوم را باید در کنار فضای رنگی بررسی و استفاده کرد.
عمق رنگ را معمولا با اعدادی مثل 1bit / 2bit / 4bit / 8bit / 10bit / 12bit / 14bit / 16bit / 24bit / 32bit و... نمایش میدهند.
برای اینکه بتوان درک کرد که در هر عمق رنگ چه میزان اطلاعات رنگی قابل ذخیره است باید با توجه به مد رنگی مد نظر آن را محاسبه کرد. برای مثال در مد رنگی RGB اگر بخواهیم تعداد رنگ موجود در عمق رنگ 8bit را محاسبه کنیم به شکل زیر عمل مینماییم :
در واقع هر bit یک توان بر روی عدد ۲ است که در نهایت با توجه به مد رنگی مدنظر باید تعداد رنگ در هر کانال آن محاسبه گردد.
در مثال بالا متوجه شدیم که در مد رنگی RGB با توجه به اینکه سه کانال رنگی وجود دارد، در عمق رنگ 8bit هر کانال به شکل اختصاصی از ۰ تا ۲۵۵ سطح را برای هر پیکسل درنظر میگیرد که در مجموع هر سه کانال با هم میتوانند ۱۶ میلیون و ۷۷۷ هزار و ۲۱۶ رنگ یا سطح نوری مختلف را ایجاد نمایند.
به هرحال میزان رنگهای قابل نمایش در یک فضای رنگی به عمق رنگ و مد رنگی که انتخاب میشود وابسته است و در هنگام ویرایش یک فایل Raster حتما باید به این موضوع توجه ویژهای شود.
حال که با پارامترهای مهم و دخیل در بازتولید نور و رنگ آشنا شدید، بهتر است به سراغ مد رنگی RGB و Lab برویم و بررسی کنیم که نحوهی نمایش تصاویر و ایجاد نور و رنگ در این دو مد به چه شکل انجام میشود و همچنین بررسی کنیم که در بحث ویرایش عکس، شناخت این دو مد تا چه اندازه برای عکاس یا ادیتور کاربردی و مفید هستند.
مد رنگی RGB
این مد رنگی یکی از پرکاربردترین مدهای موجود است که طیف گستردهای از نرمافزارها و سختافزارها از آن پشتیبانی میکنند. هدف اصلی این مد تبدیل اطلاعات دیجیتال به نور (سطوح مختلف نوری و رنگها) است تا چشم ما قادر به دیدن آنها باشد.
در این مد رنگی اطلاعات نوری و رنگی در سه کانال اصلی Red / Green / Blue ذخیره شده و سپس با ارسال به نمایشگر و یا دستگاهی که از این مد پشتیبانی میکند اطلاعات را به نور تبدیل کرده و نمایش میدهد.
اگر با دقت به پیکسلهای روی نمایشگر نگاه کنیم، خواهیم دید که هر پیکسل از سه زیر پیکسل (Sub Pixel) کوچک به رنگهای قرمز، سبز و آبی ساخته شده است. این سه زیر پیکسل در واقع هر کدام به شکل مجزا با کانال مربوط به رنگ خود در ارتباط هستند و اطلاعات مورد نیاز خود را از آنجا به دست میآورند.
نکتهی حائز اهمیت در مد رنگی RGB این است که تصاویری که از این مد استفاده میکنند در هر کانال فقط شامل اطلاعات نوری زیر پیکسلها میشوند و هیچ اطلاعات رنگی مستقلی وجود نخواهد داشت. در واقع هرچه هست و دیده میشود حاصل ترکیب اطلاعات این سه کانال و میزان روشنایی است که هر یک از زیر پیکسلها خواهند داشت.
برای روشن شدن این مسئله به یک مثال از نحوهی تولید رنگها در مد رنگی RGB توجه کنید :
در نرمافزار فتوشاپ یک پیکسل را در سه کانال رنگی قرمز، سبز و آبی به شکلی شبیه سازی کردهام که با کم و زیاد کردن مقادیر هر یک از کانالها نور و رنگ بر اساس قوانین حاکم بر مد رنگی RGB تغییر کند.
نور سفید تا سیاه: اگر هر سه زیر پیکسل با تمام قدرت روشن شوند با ترکیب رنگهای قرمز، سبز و آبی به رنگ یا نور سفید خواهیم رسید. حال کافیست قدرت روشنایی هر سه کانال را کم و کمتر کنیم، خواهیم دید که نور سفید به خاکستری و در نهایت به رنگ سیاه (خاموشی کامل پیکسل) خواهد رسید.
رنگها: برای ایجاد رنگها کافیست که هر زیر پیکسل مقدار معینی از روشنایی را داشته باشد تا با ترکیب شدن با سایر زیر پیکسلها به رنگ مد نظر در چرخهی رنگ و همچنین غلظت مورد نیاز برسد.
همانطور که مشاهده کردید با کم و زیاد کردن قدرت هر زیر پیکسل و یا خاموش و روشن کردن آنها میتوان به سطوح مختلف نوری و رنگی رسید. و این تمام آن چیزی است که در مد رنگی RGB وجود دارد.
البته به این نکتهی مهم باید اشاره کنم که برخلاف نمایشگرها که هر پیکسل آن سه زیر پیکسل دارد، در حالت عادی کانالهای قرمز و سبز و آبی مستقیماً روی هر پیکسل اعمال میشوند اما به شکل لایههای جداگانه. یعنی هر پیکسل شامل اطلاعاتی از هر سه کانال است که در نهایت ما سه تصویر سیاه و سفید از هر کانال خواهیم داشت که شامل سطوح مختلف نوری برای هر یک از پیکسلها در کانال مد نظر هستند.
همانطور که در تصویر بالا مشاهده میکنید هر کانال فقط حاوی سطوح مختلف روشنایی برای هر کانال است که در نهایت ترکیب هر سهی این کانالها رنگهای نهایی را روی نمایشگر یا دستگاه خروجی ایجاد میکند.
مد رنگی Lab
مد رنگی Lab در واقع یک فضای رنگی (Color Space) با نام CIELAB یا به اختصار L.a.b است که توسط کمیسیون بینالمللی CIE در سال ۱۹۷۶ تعریف شده است. در فضای رنگی Lab سه مقدار/کانال وجود دارد که به این شکل بیان میشوند :
L Channel = Lightness - روشنایی ادارکی
a Channel = Red and Green Color
b Channel = Blue and Yellow Color
در واقع در این مُد یا فضای رنگی، نور از رنگ جدا شده و گسترهای دقیق از سطوح مختلف نوری و رنگی را شامل میشود. CIELAB دربرگیرندهی کل محدودهی بینایی فتوپیک (در نور روز) در انسان است که از محدودهای که در مدهای CMYK و sRGB وجود دارد بسیار بیشتر است.
کاربرد مد رنگی RGB در ویرایش عکس
مدهای رنگی علاوه بر اینکه شامل الگوریتمهای تولید نور و رنگ هستند کاربردهای دیگری نیز در زمینهی ویرایش تصاویر دارند. همچنین در بحث بینایی ماشین برای برخی عملیاتهای محاسباتی و یا پیدا کردن اشیاء در تصویر به آنالیز و یا انجام محاسباتی روی کانالها و مدهای رنگی نیاز است.
همانطور که گفته شد در مد رنگی RGB سه کانال وجود دارد که هر کدام دربرگیرندهی سطوح روشنایی یک رنگ (Red - Green - Blue) هستند. با کم و زیاد کردن سطوح روشنایی هر کانال یا تمام آنها میتوان به رنگها و میزان روشنایی متفاوتی دست یافت. برای مثال با کم و زیاد کردن مقادیر روشنایی در کانال Blue یا به صورت هم زمان کانالهای Red و Green (خروجی همزمان دو کانال قرمز و سبز رنگهای طیف زرد است) میتوان میزان سردی یا گرمی تصویر را کنترل کرد و یا با تغییر در دو کانال Red و Green روی تینت (Tint) تصویر تغییراتی را اعمال کرد. به چنین عملیاتی در اصطلاح فنی Channel Mixing گفته میشود که در نرمافزارهایی مانند فتوشاپ یا GIMP با استفاده از ابزاری با نام Channel Mixer در دسترس است.
برای درک بهتر، من قصد دارم روی یک تصویر که رنگ پوست مدل در آن به سمت سردی گرایش دارد، سطوح روشنایی کانال آبی را به میزان ۲۰٪ کاهش دهم. در این صورت با توجه به اینکه توازن سطوح روشنایی در کانال آبی کمتر میشوند از میزان رنگهای سرد در سرتاسر تصویر کاسته شده و تصویر نهایی به سمت گرم شدن متمایل میشود.
البته شما میتوانید از روشهای دیگری نیز به چنین قابلیتی در نرمافزارهای ویرایش تصاویر مانند فتوشاپ و گیمپ و... دست یابید که در ویدیوی آموزشی که لینک آن را برای تماشا قرار خواهم داد توضیحات کاملی را در این مورد ارائه کردهام.
عموماً اغلب ویرایشهایی که روی نور، چرخهی رنگ و همچنین بالانس رنگی و نوری تصاویر اعمال میشوند مستقیماً به کمک کانالهای رنگی انجام میپذیرند.
همچنین با مشاهدهی هر کانال میتوانید ببینید که برخی اشیاء در یک کانال به بهترین شکل از محیط اطراف جدا شدهاند که در این صورت برای ماسک کردن (جدا سازی شئ از محیط اطراف)، کمک گرفتن از کانالهایی که بهترین جدا سازی (با توجه به اختلاف نوری، رنگی و کنتراستی) را فراهم میکنند، بسیار کاربردی و حائز اهمیت است. این مورد هم در بحث ویرایش عکس و هم در بحث بینایی ماشین بسیار کاربردی است.
شایان ذکر است که در عکاسی برای انجام تکنیکهایی مانند Luminosity Mask یا جدا سازیهای تخصصی سوژه از محیط اطراف به کانالهای رنگی نیاز مبرمی وجود دارد.
به هر حال وجود تک تک کانالهای رنگی علاوه بر بحث باز آفرینی نورها و رنگها، برای عکاسان و متخخصان بینایی ماشین فواید دیگری دارد که به چند مورد از آنها در حیطهی ویرایش تصویر اشاره شد.
البته در مود رنگی RGB مشکلاتی وجود دارد که شاید گاهی ما را مجبور کند که برای انجام برخی اصلاحات به مدهای رنگی دیگری نیز رجوع کنیم. برای مثال اگر بخواهیم روی نویزهای رنگی تصاویر کار کنیم و آنها را کاهش دهیم و یا حذف نماییم، مود رنگی RGB آنچنان که باید نمیتواند به ما کمک بکند. چرا چه نویزهای رنگی عموماً به صورت رنگهایی با طیف آبی، بنفش، قرمز، نارنجی، سبز و گاهی زرد در تصویر ایجاد میشوند که به دلیل ماهیت مد رنگی RGB که نور و رنگ را به صورت همزمان و توأم با هم ایجاد میکند کنترل آنها سخت خواهد بود.
برای مثال اگر بخواهیم نویزی با رنگ بنفش را اصلاح کنیم باید به دنبال رد پای آن در دو کانال Red و Blue باشیم آن هم در صورتی که درصدی از رنگ آن در کانال Green در آن وجود نداشته باشد و انجام این کار به صورت بی نقص و بدون تخریب جزئیات حتی برای نرمافزاری مثل فتوشاپ روی تصاویر Raster سخت است.
کاربرد مد رنگی Lab در ویرایش تصویر
با توجه به اینکه در مود رنگی Lab نور در یک کانال و رنگها در دو کانال به شکل جداگانه قرار دارند، در هنگام ادیت میتوان به شکل مستقل اصلاحات مربوط به نور را در کانال نوری و اصلاحات مربوط به رنگ را در دو کانال رنگی انجام داد.
در این حالت ادیت به شکلی محافظت شده صورت میپذیرد و دیگر به خاطر اصلاحات رنگی، نور عکس دچار تغییر یا تخریب نخواهد شد و بلعکس.
برای مثال اگر بخواهیم روی Sharpness عکس تغییراتی را انجام دهیم، آن تغییرات یا عملیات ویرایشی را روی کانال L اعمال خواهیم کرد. همچنین برای کاهش یا حذف نویزهای رنگی مستقیماً به کانالهای a و b رجوع میکنیم و تغییرات لازم را روی این دو کانال اعمال مینماییم.
همانگونه که مشاهده کردید هرکدام از مدهای رنگی برای موقعیت خاصی کاربردیست و ممکن است در یک موقعیت دیگر مناسب نیاز ما در آن لحظه نباشد. اما مشخصاً با نحوهی کارکرد و چگونگی اعمال ویرایشهای نوری و رنگی در آنها آشنا شدید و دیدید که به شکل میتوان از کانالهای رنگی در ویرایش تصاویر بهره برد.
سخن پایانی
در این مطلب بیشتر به جنبههای عمومی و مهم در ساختار تصاویر Raster و باز تولید نور و رنگ اشاره شد و سعی گردید از بیان مباحث پیچیده و تخصصی خودداری شود. یادگیری این مباحث و همچنین عمیقتر شدن در آنها به شما کمک میکند تا بتوانید بهتر روی مسائل مربوط به ویرایش یا آنالیز این گونه تصاویر را مسلط شوید و خیلی اصولیتر به انجام عملیات مختلف ویرایشی و محاسباتی بپردازید.
مطلبی دیگر از این انتشارات
شروع عکاسی، بایدها و نبایدها برای تازه کاران!
مطلبی دیگر از این انتشارات
کاربرد قفل آینه در دوربینهای عکاسی
مطلبی دیگر از این انتشارات
عمق و احساس؛ آموزش عکاسی از نقطهی صفر!