370 likes | 645 Views
گرافیک و نمایش داده های تصویری. 1. انواع تصاویر. تصاویر رستر ( Raster ) بر مبنای ذخیره کردن اطلاعات رنگ نقاط تشکیل دهنده تصویر آنها را به عنوان تصاوير BitMap مي شناسند. تصاویر برداری( Vector ): از خطوط و منحنيهايي تشکيل شده است که توسط فرمولهاي رياضي تشکيل مي شوند.
E N D
انواع تصاویر • تصاویر رستر (Raster) • بر مبنای ذخیره کردن اطلاعات رنگ نقاط تشکیل دهنده تصویر • آنها را به عنوان تصاويرBitMapمي شناسند. • تصاویر برداری(Vector): • ازخطوط و منحنيهايي تشکيل شده است که توسط فرمولهاي رياضي تشکيل مي شوند. • آنها را به عنوان تصاوير -oriented مي شناسند. 2
تصاویر رستر (Raster) با يکسري نقاط که در يک ماتريس دو بعدي قرار گرفته اند تعريف مي شوند.يک دايره در اينگونه تصاوير تبديل به يکسيري نقاط مجزا مي شود و ديگر آن تعبير کلي خود را ازدست مي دهد. به همین دلیل بر اثر بزرگ شدن کیفیت خود را از دست می دهد. جزئيات تصويري را در اندازه اصلي خود به راحتي حفظ مي کند و افزايش جزئيات تاثير چنداني در سرعت نمايش آنها ندارد. مثل تصاوير BMP و GIF و JPEG
تصاویر برداری(Vector) • تصاويربرداری بايستي توسط منحني هاي رياضييا اشکال هندسي تشکيل شوند، مثل دايره اي به رنگ آبي در نقطه (x , y) به شعاعR. • اگراين تصاوير را بزرگ و کوچک کنيم چون تعريف آن بر اساس يک معادله رياضي است بدون افت کيفيت انجام ميشود. • به فضاي به مراتب کمتري براي ذخيره شدن نيازمند هستند. • افزايش جزئيات در تصاوير وکتوري روي سرعت نمايش آنها خيلي تاثير گذار است. • پسوند فايلهاي وکتوري زياد اند، نمونه هايي از آنها TTF و WMF و EMF و AI و EPS هستند.
کارت گرافیکی • ایجاد ولتاژهای صفحات افقی و عمودی • خواندن مقادیر R,G,B از فریم بافر و تبدیل آنها به آنالوگ و ارسال آنها به مانیتور • کارت گرافیکی در دو مود کار می کند: • مود متنی • مود گرافیکی 8
مود متنی کارت گرافیک • در مود متنی مانیتور فقط قادر به نمایش کاراکترهای اسکی است • معمولا مانیتور در مود متنی شامل 25 سطر و 80 ستون است • به ازای هر کاراکتر، در فریم بافر دو بایت ذخیره می شود • کارت گرافیک فرمت پیکسلی کاراکترها را از حافظه ROM خود استخراج و برای مانیتور ارسال می کند 9
مود متنی کارت گرافیک • Light : رنگ روشن برای کاراکتر ( 0 : روشن 1 : تیره ) • چشمک زن : ( 0 : چشمک زن 1 : ثابت ) • برای یک مانیتور 80 * 25 حافظه مورد نیاز در کارت گرافیک برابر است با : • KB 4 = byte 4000 = 2 * 80 * 25 10
مود گرافیکی کارت گرافیک • ذخیره مشخصات هر پیکسل در فریم بافر • روشهای متعددی وجود دارد: • تک بیت • سطوح خاکستری • 256 رنگ • 24 بیتی • جدول رنگها 12
روش تک بیت • هر پیکسل با یک بیت کد شود • اصطلاحا تصویر باینری گفته می شود تصویر مونوکروم 1 بیتی از تصویر Lena )این یک تصویر استاندارد است که برای نمایش و شرح بسیاری از الگوریتم ها استفاده می شود( 13
روش8 بیتی سطح خاکستری (Gray-Scale) • به ازای هر پیکسل یک بایت ذخیره می شود • عدد بین صفر تا 255 نمایش دهنده شدت روشنایی می باشد • 256 سطح خاکستری مختلف 14
روش8 بیتی سطح خاکستری (Gray-Scale) • Bitmap : آرایه دو بعدی از ارزش پیکسل ها که داده های تصویری/ گرافیکی را نمایش می دهد. • وضوح تصویر (Resolution): به تعداد پیکسل ها در یک تصویر دیجیتالی اطلاق می شود. (وضوح بالاتر همیشه بازدهی کیفیت بالاتری دارد.) • یک وضوح تصویر مناسب برای تصویر می تواند 1200 * 1600 باشد، در حالیکه وضوح پایین تر می تواند 480 * 640 باشد. 15
هر پیکسل معمولاً به صورت یک بایت ذخیره می شود، بنابراین یک تصویر 480*640 سطح خاکستری به 300 کیلوبایت فضا برای ذخیره شدن نیاز دارد. (307200=480*640) • فریم بافر : سخت افزاری که برای ذخیره Bitmap استفاده می شود . 16
روش8 بیتی سطح خاکستری (Gray-Scale) • هر تصویر 8 بیتی می تواند بصورت مجموعه ای از صفحات بیتی (Bit-Plane) 1بیتی باشد بطوری که هر صفحه شامل یک بیت برای نمایش باشد. شدت نور هر صفحه نسبت به قبلی دو برابر است 17
تکنیک Dithering تصویر 16رنگ تصویر اصلی :256 رنگ تصویر16رنگ و بهبود داده شده با تکنیک Dithering • تکنیکی برای ایجاد رنگهای جدید با استفاده از مجموعه ای محدود از رنگها • از کنارهم قرار دادن ترکیب خاصی از پیکسلها و خاصیت فیلترینگ چشم می توان رنگهای جدید ایجاد نمود 18
تکنیک Dithering برای چاپ • برای چاپ تصاویر سطوح خاکستری، از روش Dithering استفاده میشود • مساله: چگونه سطوح مختلف خاکستری را در چاپ ایجاد کنیم، در حالی که پرینتر فقط دو سطح روشنایی دارد • یک ماتریس مربعی n*n را جایگزین هر پیکسل می کنیم. هرچه تعداد یک ها در این ماتریس بیشتر باشد رنگ پیکسل تیره تر به نظر می رسد. • با یک ماتریس مربعی n*n می توان n2+1 سطح خاکستری ایجاد کرد. • ماتریس n2 درایه دارد. بنابراین این تعداد یک ها در این ماتریس می تواند بین صفر تا n2 باشد که شامل n2+1 حالت مختلف می شود. 19
تکنیک Dithering • نکته: اندازه تصویر dither شده بزرگتر از تصویر اصلی میشود.به عنوان مثال اگر از ماتریسی از نقاط 4x4 برای جایگزین کردن استفاده کنیم، میتواند تصویر را تا 16 برابر بزرگتر کند.
تصاویر رنگی • روش اول: 256 رنگ، به ازای هر پیکسل یک بایت که رنگها از قبل مشخص هستند • روش دوم: 24 بیت به ازای هر پیکسل(R,G,B هر کدام یک بایت) • پشتیبانی از تقریبا 16 میلیون رنگ مختلف • حافظه مورد نیاز زیاد • روش سوم: استفاده از جدول رنگ • به جای ذخیره شدت روشنایی RGB به ازای هر پیکسل، یک ایندکس ذخیره می شود. • ایندکس به جدولی اشاره میکند که حاوی مقادیر R,G,B میباشد 21
تصاویر 24 بیت رنگی • هر رنگ بوسیله 3 بایت نشان داده میشود (RGB). • این فرمت از 256x256x256 رنگ ممکن ترکیب شده، پشتیبانی میکند. (یا مجموعاً 16777216 رنگ ممکن). • یک تصویر 24 بیت رنگی با اندازه 480x640 به 921.6 کیلوبایت فضا برای ذخیره سازی بدون فشرده کردن نیاز دارد. • بسیاری از تصاویر 24 بیتی رنگی در حقیقت بصورت تصاویر 32 بیتی ذخیره میشوند، بهعلاوه بایتهای دادهای اضافه برای هر پیکسلی که ذخیره میشود شامل مقدار alpha که نمایشدهنده اطلاعات اِفکت تصویر است (شفافیت یا transparency). سیستمهای چندرسانهای
تصاویر 24 بیت رنگی تصویر با وضوح بالای رنگی و کانالهای تصویری جداگانه R، G و B.
هیستوگرام تصویر نموداری که فراوانی رنگها در یک تصویر را نمایش میدهد.
هیستوگرام تصویر هیستوگرام سه بعدی از رنگهای RGB تعداد رنگهای استفاده شده خیلی کمتر از 24 بیت است.
تصاویر 8 بیتی رنگی تصویر 8 بیت رنگی • تصویر 8 بیتی رنگی با اندازهٔ 480×640: • 640×480×8=300 کیلوبایت • تصویر 24 بیتی رنگی با همین اندازه: • 921.6 کیلوبایت سیستمهای چندرسانهای
استفاده از جدول رنگ (Lookup Table)LUT برای تصویر 8 بیت رنگ 27
روشهای ساخت جدول رنگ • روش ثابت • در این روش جدول رنگ ثابت برای همه تصاویر استفاده می شود • 3 بیت برای قرمز، 3بیت برای سبز و 2 بیت برای آبی • حساسیت چشم به رنگ آبی کمتر است • با انتخاب 3 بیت برای قرمز، مجموعه 256 رنگ قرمز به 32 مجموعه کوچکتر تقسیم شده است، رنگ وسط هر مجموعه را به عنوان نماینده در جدول رنگ قرار می دهیم • روشهای وفقی • یک تصویر RGB نمونه تنها یک بخش از مجموع اعداد رنگهای در دسترس در فضای رنگ RGB را مصرف می کند. 29
روش وفقی ساخت جدول رنگ • در این روش انتخاب رنگها به نوع تصویر بستگی دارد • جدول ایندکس برای تصویری که متمایل به قرمز است با جدول ایندکس تصویری که متمایل به زرد است باید متفاوت باشد • باید با توجه به فراوانی رنگهای استفاده شده در تصویر نماینده های مناسبی برای جدول رنگ انتخاب شوند 30
روش وفقی ساخت جدول رنگ • الگوریتم Median-Cut • 1- در این الگوریتم ابتدا کل پیکسل ها را در یک مجموعه قرار می دهیم( به صورت سه تایی های (R,G,B) ) • 2- محاسبه می کنیم که بیشترین بازه رنگ در مجموعه، مربوط به R است یا G یا B(Rmax-Rmin , Gmax-Gmin , Bmax-Bmin ) • 3- پیکسلهای حاضر در مجموعه را بر اساس رنگی که در مرحله قبل به عنوان بزرگترین بازه بدست آمده مرتب می کنیم • 4- میانه لیست مرتب شده را بدست می آوریم و مجموعه را در محل میانه به دو زیر مجموعه تقسیم می کنیم 31
الگوریتم Median-Cut • 5- مراحل 2و3و4 را برای مجموعه های بدست آمده به صورت بازگشتی تکرار می کنیم تا تعداد کل مجموعه ها به 256 برسد • 6- برای هر یک از 256 مجموعه بدست آمده یک رنگ به عنوان کاندیدا انتخاب می کنیم و آن را در جدول رنگ قرار می دهیم 32
الگوریتم برش میانی ابتدا میانهگیری در باند R و سپس در باند G برای پیکسلهایی که در طرف راست و چپ مرحلهٔ اول قرار گرفتهاند.
الگوریتم برش میانی یک تصویر RGB نمونه تنها بخشی از مجموع اعداد رنگهای در دسترس در فضای رنگ RGB را استفاده میکند.
الگوریتم برش میانی تقسیم مکعب رنگ به بخشهایی با رنگهای مساوی. فرایند کلی تا هنگامی که تعداد مطلوب زیرمکعبها تولید شود، ادامه می یابد. رنگ هر زیر مکعب توسط میانگین همه رنگها در زیر مکعب محاسبه می شود.
توجیه الگوریتم: • انتخاب میانه برای جدا سازی مجموعه ها باعث می شود که رنگی که تعداد دفعات تکرار آن زیاد است در یک مجموعه ای قرار گیرد که تنوع رنگی کمتری دارد و در نهایت رنگ انتخاب شده برای آن مجموعه به آن رنگ نزدیکتر باشد(به عبارتی دیگر اگر تعداد رنگها در یک مجموعه زیاد باشد رنگ انتخاب شده به عنوان کاندیدا برای آن مجموعه خیلی دقیق نیست)