افزایش کنتراست تصویر
اگر به یه کتاب مطلب نگاهی انداخته باشید حتما از همون ابتدای امر متوجه شدید که در این نرم افزار اکثر عملیات ها برپایه ماتریس ها انجام میشه (ضرب٬ تقسیم٬ جمع٬...). مطلب یجورایی شبیه یه زبون برنامه نویسی هستش و ما در اون از متغیرها٬ عملگرها و توابع و... بسبک زبانهای برنامه نویسی جهت حل مثائل خودمون استفاده می کنیم. اصلا بیاید یه مثال عملی بزنیم:
>> I = 1:10
I =
1 2 3 4 5 6 7 8 9 10
اجرا کردن دستور I = 1:10 باعث ایجاد یک متغیر به نام I و به شکل یک ماتریس یک بعدی با محتوای ۱ تا ۱۰ می شود حالا بریم سراغ یک مثال تخصصی:
RGB = imread('peppers.png'); ٪متغیر = imread('مسیر ونام فایل تصویر');
imshow(RGB);
تابع "imread" یکی از توابع جعبه ابزار پردازش تصویر می باشد که جهت لود کردن یک فایل تصویری در یک متغیر به سبکی که مشاهده می کنید استفاده می شود. می بینید که در کادر متغیرها (بطور پیشفرض کادر بالا سمت چپ میحیط مطلب) متغیر RGB با ابعاد <384x512x3 unit8> ایجاد شده است. یعنی یک ماتریس سه بعدی که بعد اول ۳۸۴ خانه و معرف تعداد پیکسلهای ارتفاع تصویر٬ بعد دوم ۵۱۲ پیکسل طول تصویر و بعد سوم ۳ خانه که چون تصویر از نوع رنگی (RGB) می باشد یک خانه حاوی مقدار RED و خانه های بعدی نگدارنده مقادیر GREEN و BLUE پیکسل مورد نظر می باشد. جهت درک قضیه به تصویر مقابل دقت کنید.
unit8 نوع تصویر RGB در مطلب را مشخص می کند. باید بدانید سه نوع مکعب رنگ unit8, unit16 و Double برای تصاویر رنگی در مطلب در نظر گرفته شده است. برای مثال در کلاس unit8 هر بعد مکعب که بیانگر یکی از رنگهای قرمز٬ سبز و آبی می باشد دارای ۲۵۶ (۲۸) مقدار تعیین شده می باشد که در کل ۲۵۶*۲۵۶*۲۵۶= ۲۲۴ رنگ مختلف تولید می شود. برای کلاسهای دیگر هم بهمین روال می باشد با این تفاوت که تعداد رنگ آنها بیشتر می باشد.دستور بعدی (خط دوم)٬ دستور "imshow" جهت نمایش تصاویر موجود در متغیر ها با فرمت ذکر شده می باشد. بعد از فراخوانی این دستورات ابتدا اطلاعات موجود در تصویر 'peppers.png' (موجود در مسیر جاری مطلب) داخل متغیر RGB ریخته شده و با دستور imshow مرورگر تصاویر نرم افزار عکس مربوطه را نمایش می دهد.
»افزایش کنتراست تصویرخوب حالا بیاید یکم کارای پردازشی روی تصاویر انجام بدیم. تصویر pout.tif رو در یک متغیر لود کنید و اون رو نمایش برای خودتون بدید (دقیقا مثل کد زیر). می بینید که این عکس کنتراست پایینی داره !
I = imread('pout.tif');
imshow(I);
برای مشاهده نحوه توزیع شدت رنگ در یک تصویر می توانید با صدا زدن دستور 'imhist' نمودار هیستوگرام آن را رسم کنید (شکل ۱) .
figure, imhist(I);
می بینید که در شکل ۱ رنج شدت نازک می باشد و تمام
پتانسیل ۰ تا ۲۵۵ را پوشش نمی دهد بدین معنی که بخشی از مقادیر بزرگ و بخشی
از مقادیر کوچک را که باعث ایجاد کنتراست بالا می شوند را در خود ندارد.
در
این جعبه ابزار روشهای گوناگونی جهت افزایش کنتراست یک تصویر در نظر گرفته
شده است که یکی از آنها استفاده از تابع histeq جهت پخش کردن مقادیر شدت
در کل رنج پتانسیلی تصویر می باشد. با اجرای این دستورات به ترتیب زیر می
بینید که نمودار هیستوگرام از نمونه شکل۱ به شکل۲ و تصویر از شکل۳ به شکل۴
تغییر می کند...
I2 = histeq(I);
figure, imshow(I2);
بهمین روش می توانید تصاویر دیگری را جهت تمرین وارد این محیط کرده و میزان کنتراست آنها را افزایش دهید.
منبع:
http://eleboys.blogfa.com/post-48.aspx
مطالب مشابه :
پردازش تصویر در متلب (Image processing)
پردازش تصاویر امروزه بیشتر به موضوع پردازش تصویر دیجیتال گفته میشود که شاخهای از دانش
پردازش تصویر
پردازش تصویر. در زیر تصویر این ربات و پنجره پردازش در متلب را می بینیم: https:
مفهوم تفریق دو تصویر در متلب (MATLAB)
اين وبلاگ به صورت تخصصي به پردازش تصویر و واقعیت مجازی (ساخت انیمیشن) در متلب (matlab) و
صوت در متلب
پردازش تصویر پردازش تصویر و حذف نویز simulink کد نویسی پردازش پردازش صوت در متلب MATLAB
پردازش تصوير با مطلب (قسمت1)
تابع "imread" یکی از توابع جعبه ابزار پردازش تصویر می باشد که پردازش تصویر به خصوص در مطلب
عناوین پروژه های پردازش تصویر قابل ارائه در کمترین زمان و هزینه پایین
عناوین پروژه های پردازش تصویر قابل نرم افزار متلب پذیرفته می شود و در کوتاهترین
جزوه پردازش تصوير
اين وبلاگ به صورت تخصصي به پردازش تصویر و واقعیت مجازی (ساخت انیمیشن) در متلب (matlab) و
افزایش کنتراست تصویر
اين وبلاگ به صورت تخصصي به پردازش تصویر و واقعیت مجازی (ساخت انیمیشن) در متلب (matlab) و
چند جمله ای ها در متلب MATLAB
پردازش تصویر پردازش تصویر و حذف نویز simulink کد نویسی پردازش پردازش صوت در متلب MATLAB
برچسب :
پردازش تصویر در متلب