معرفی کانال آلفا
در گرافیک، بخشی از اطلاعات پیکس ها برای اطلاعات شفافیت (transparency) رزرو شده است.سیستم های گرافیکی ۳۲ بیتی شامل چهار کانال می باشند، سه کانال ۸-بیتی برای رنگ قرمز، سبز و آبی (RGB) و یک کانال ۸-بیتی به عنوان کانال آلفا تعیین شده است. کانال آلفا در واقعیت یک پوشش یا Mask است و تعیین کننده ی چگونگی ادغام رنگ پیکسل ها با همدیگر زمانی که در ناحیه ای یکدیگر را پوشش می دهند و یکی بر روی دیگری قرار می گیرد، است.
اگر دقیق تر مورد بررسی قرار دهیم باید بگوییم که کانال ها لایه هایی از اطلاعات رنگ ها هستند،که می توانند RGB ,CMYK ,ALPHA و یا اطلاعات نقطه ای رنگ (Spot Color) باشند. این لایه ها با Layer های طراحی اشتباه گرفته نشوند(اگر با نرم افزار های گرافیکی کار کرده باشید، با Layer ها در طراحی آشنا هستید)، کانال ها اطلاعات رنگ را نگه می دارند و هنگامی که با یکدیگر مخلوط می شوند اطلاعات را برای تولید رنگ اصلی ترکیب می کنند (به عنوان مثال ، آبی+زرد=سبز).
كانال آلفا
كانال آلفا يك كانال اضافی است كه در حالت معمولي هيچ تاثيري بر ظاهر عكس ندارد. ولي در نرم افزار هاي گرافيكي كاربرد وسيع و مهمي دارد. اين كانال كه هميشه سياه و سفيد است، شفافيت كلي عكس را تعيين مي كند. به اين معني كه هر قسمتي از كانال آلفا كه سفيد باشد، عكس هم در آنجا پيداست و هر جايي از كانال آلفا كه سياه باشد عكس هم در آنجا ناپيداست. بديهي است هر جا كه كانال آلفا خاكستري باشد عكس هم در آنجا كم رنگ است و مقداري شفاف. مقدار شفافيت آن هم بستگي به تيرگي و روشني كانال آلفا دارد.
قسمت هاي شطرنجي در تصویر بالا نماینده یک تصویر است. از آنجایی که کانال آلفا ۸ بیتی است، ۲۵۶ حالت دارد، محدوده ای از ۰ (سیاه) تا ۲۵۵ (سفید) را شامل می شود. بدیهی است که رنگ های سیاه تصویر را حذف کرده و رنگ های سفید باعث نمایش تصویر می شوند. هر عددی در این محدوده شفافیت کلی تصویر را تعیین می کند.
کانال های آلفای پیچیده می توانند فضای لازم برای ذخیره سازی تصویر را افزایش دهند.
کانال آلفا در OpenCV
خواندن تصویر در OpenCV با تابع imread به صورت زیر می باشد:
C++: Mat imread(const string& filename, int flags=1 )
پارامتری های زیر برای آرگومان flags تعریف شده است:
- >0 Return a 3-channel color image.
- =0 Return a grayscale image.
- <0 Return the loaded image as is (with alpha channel).
با توجه قرار داد های تعریف شده در اپن سی وی ، مقداری که تابع imread برمی گرداند به ازای مقادیر مثبت flags، شامل تصویری با سه کانال، برای مقدار 0 تصویر در حالت grayscale و برای مقادیر منفی با کانال آلفا خواهد بود.
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.