نمودار هیستوگرام تصویر نموداری است که توسط آن تعداد پیکسل های هرسطح
روشنایی در تصویر ورودی مشخص می شود. فرض کنید تصویر ورودی یک تصویر
Grayscale با 252 سطح روشنایی باشد ، بنابراین هریک از پیکسل های تصویر
مقداری در بازه ی 0 تا 255 می توانند داشته باشند.برای به دست آوردن
هیستوگرام تصویر ،کافی است با پیمایش کل پیکسل های تصویر ، تعداد پیکسل های
هر سطح روشنایی رامحاسبه می کنیم .
هیستوگرام
نرمال نیز از تقسیم کردن مقادیرهیستوگرام به تعداد کل پیکسل های تصویر به
دست می آید. نرمالسازی هیستوگرام موجب می شود که مقادیر هیستوگرام در بازه 0
و 1 قرار گیرند. شکل زیر تصویری را به همراه هیستوگرام نرمال آن نشان می
دهد .
یکی
از کاربردهای هیستوگرام در فوکوس خودکار دوربین های دیجیتالی است. بدین
صورتکه لنز دوربین از ابتدا تا انتها حرکت کرده و در هر گام از حرکت خود
تصویری از صحنه می گیرد. سپس کنتراست تصویر گرفته شده را با استفاده از
هیستوگرام آن محاسبه می کند. پس از آن که لنز به انتهای حرکتی خود رسید،
محلی از حرکت لنز که در آن تصویر دارای بیشترین کنتراست خود بوده است، به
عنوان محل لنز تعیین می گردد. روش مذکور یکی از ساده ترین روش های فوکوس
خودکار دوربین می باشد و همانطور که می توان حدس زد این الگوریتم در صحنه
هایی که رنگ تیره و روشن باهم وجود داشته باشد، دچار اشکالاتی خواهد بود و
باید تغییراتی در آن اعمال کرد مفهوم کنتراست درادامه بیان شده است.
تعدیل هیستوگرام:
یکی دیگر از کاربردهای هیستورگرام در افزایش کنتراست تصاویر با کنتراست پایین است. زمانی که میگوییم کنتراست تصویری کم است این بدان معنا است که اختلاف بین کمترین و بیشتری شدت روشنایی تصویر کم است. هم تعدیل سازی هیستوگرام موجب می شود که کنتراست تصویر ورودی تا حد ممکنافزایش یابد. به عنوان مثال شکل زیر تصویری را قبل(تصویر سمت چپ) و بعد(تصویر سمت راست) از تعدیل سازی هیستوگرام نشان می دهد:
الگوریتم زیر روش تعدیل سازی هیستوگرام را نشان می دهد :
1 ) هیستوگرام تصویر را محاسبه می کنیم. فرض کنید مقادیر هیستوگرام در آرایه hist قرار گیرد.
2 ) با استفاده از فرمول زیر فراوانی هیستوگرام را محاسبه می کنیم :
histCum[ i ] = histCum[ i-1 ] + hist[ i ]
3 ) از فرمول زیر استفاده کرده و هیستوگرام تعدیل شده را محاسبه می کنیم :
eqHist[i] = Truncate( [(L * histCum[i]) – N]/N )
4 ) در مرحله نهایی مقادیر جدید پیکسل ها را به صورت زیر مقدار دهی می کنیم :
Result[ i , j ] = eqHist[ input[ i , j ] ]
که در این فرمول L تعداد سطوح خاکستری و N تعداد کل پیکسل ها، Result تصویر خروجی و input تصویر ورودی را نشان می دهند.
چند مثال از هیستوگرام و کارکرد آن:
حالا به عکس های زیر و هیستوگرام آنها توجه کنید تا بهتر متوجه نوع عملکرد آن بشوید.
عکس
بالا برخلاف عکس نخست نقاط تیره و تاریک بسیاری دارد. البته این نقاط
تاریک دو دلیل دارد اولی لباس های تیره ای که سوژه های عکس بر تن دارند و
دلیل دوم اینکه این عکس به میزان کمی دچار کمبود نوردهی شده است. هیستوگرام
این عکس کاملا برخلاف عکس اول است و در آن کوه هیستوگرام به میزان زیادی
به سمت چپ منحرف شده است. عکس
عکس
بالا دارای محدوده ی نوری گسترده ای می باشد. همانطور که مشاهده می کنید
برای فهم ساده تر، هر بخش از عکس به بخش مربوط به خودش در هیستوگرام وصل
شده است به دلیل اینکه نقاط تاریک و تیره ی عکس بیشتر می باشدکوه هیستوگرام
در سمت چپ قرار دارد.
در
این مثال همانطور که می بینید کوه هیستوگرام تقریبا در میانه قرار دارد و
این یعنی نوردهی این عکس به شکل صحیح و نرمال انجام شده است.
کنتراست و هیستوگرام:
هیستوگرام
همچنین می تواند میزان کنتراست یک تصویر را به نمایش بگذارد. کنتراست در
حقیقت همان تفاوت درخشندگی بین نقاط تیره و روشن هر عکس است. اگر کوه
هیستوگرام باریک و تنگ باشد نشان دهنده ی کمبود کنتراست و اگر کوه پهن و
عریض باشد نشان دهنده ی کنتراست بیشتر است.کنتراست در حقیقت بر اثر تلفیقی
از وضعیت سوژه و وضعیت نوری محیط به وجود می آید. به طور مثال عکس هایی که
در مه گرفته می شود دارای کنتراست کمی است و عکس هایی که در نور شدید روز
گرفته می شوند کنتراست زیادی دارند. در تصاویر زیر نمونه ای از تصویر با
کنتراست بالا و پایین را همراه با هیستوگرام مربوط به هر یک مشاهده می
نمایید.
هیستوگرام
درحقیقت ابزاری است که که اطلاعات بیشتری از عکس به شما می دهد و به شما
کمک می کند تاثیری که مد نظرتان هست را در عکس بگذارید. یادگیری خواندن
هیستوگرام می تواند به شما کمک کند تا اولین عکسی که می گیرید همان عکس
مورد نظر باشد و اشتباهی در نوردهی رخ ندهد.
منبع
دانلود مقاله پردازش تصویر
دانلودمطلب مربوط به هیستوگرام
دانلود مطلب فارسی مربوط به هیستوگرام