شدت نور تصاویر با تابع Imhist در متلب
بخش 6 آموزش برنامه نویسی درنرم افزار متلب
در این بخش میخوانیم :
1- کار با تابع Imhist
2- نمودار تابع Imhist
3- پراکندگی واریانس
بررسی پارامترهای دیگر
-
%%Load Image
Img 1 = imread (‘pout . tif ‘) ;
Img 2 = imadjust (img 1) ;
Img3 = imadjust (img 1 , stretchlim (img 1 ) , [0 1] ,0/5 ) ;
Img 4 = imadjust ( img , stretchlim ( img 1 ) , [0 1] , 2 ) ;
تصویر شماره (2) سفیدتر و تصویرشماره (3) سیاهتر میشود .
معادله خطی (y شیب خط ) :
منحنی اشباع شده :
توان گامائ آن فرمول متلب میشود :
با گامائ یک تصویر نرمال ، حالت خطی
با گامائ بیشتر از یک تصویر 3 ، رنگ سیاه تر
با گامائ کمتر از یک تصویر2 ، رنگ سفیدتر
با گاما میتوان تقریبا همه حالتها را پوشش داد.
اگر گاما به سمت صفر میل کند همان گامائ کمتر از یک میشود
(یعنی تصویر روشنتر و روشنتتر میشود)
توابع imadjust , stretchlim کارشان توسعه کنتراست هست که این مبحث مربوط به این توابع است .
برای افزایش وضُوح تصویر باید پراکندگی واریانس را بیشتر کنیم مثلا در جایی که تنظیم نور خوب نباشد یا واریانس و اندازه کافی نباشد .
-
>> A = magic (5)
ماتریس پنج در پنج ماتریسی است که مجموع قطرها ، سطرها ، ستون ها با هم مساوی است برای تبدیل آن به بردار چند راه داریم :
راه اول ریشه A را سرچ میکنیم ماتریسی یک سطری میشود که تعداد ستون هایش مهم نیست .
-
>> reshape (A , 1 , [ ] )
راه دوم فقط یک ستون دارد و تعداد سطرهایش مهم نیست .
-
>>reshape (A , [ ] , 1 )
راه میانبر
همه اعضای A را به شکل یک بردار عمودی نشان دهیم .
-
>> A ( : )
برای تبدیل عناصر یک ماتریس به بردار راحت ترین وساده ترین راه شدت نور تصاویر در متلب با تابع Imhist است .
تبدیل تصویر به آرائ عمودی و رسم هیستو گرام آن ، تابعی به نام هیست در طول باکس آمار این کار را انجام میدهد .
-
>>hist (img 1 ( : ) )
Error using
Error میدهد به دابل تبدیل میکنیم .
-
>> hist (double (img ( : ) ) )
به طور خود کار در بین ده قسمت آن را رسم میکند .
-
>> hist (double ( img 1 ( : ) ) , 50 )
>> hist (double (img ( : ) ) , 100 )
>> hist (double ( img 1 ( : ) ) , 256 )
-
>> Xlim ( [ 0 255 ] )
در این تصویر تمرکز بیشتر روی وسط نموداراست محاسبه هیستوگرام در شدت نور تصاویر در متلب با تابع Imhist ترسیم میشود Imag Histogram مقدار فراوانی روشنایی بین نقاط مختلف تصویر است
-
Imhist
Display histogram of image data
Syntax
Imhist ( I )
Imhist ( I , n )
Imhist ( x , map )
[counts , x ] = imhist ( … )
اگر به سه شکل اول پیاده سازی کنیم فقط رسم میکند .
اگر بخواهیم مرکز دسته ها و تعداد اعضای هر دسته را پیدا کنیم دو خروجی میگیرد که رسم نمیکند .
برای رسم هیستوگرام معادل هر شکل فیگور جدیدی کنار قبلی ایجاد میکنیم .
-
Figure ;
Subplot ( 2 , 2 , 1 ) ;
Imhist ( img 1 , 256 ) ;
Title ( ‘ Original Image ‘ ) ;
Subplot ( 2 , 2 ,2) ;
Imhist ( img 2 , 256 ) ;
Title ( ‘ Result of imadjust ‘ ) ;
Subplot ( 2 , 2 ,3) ;
Imhist ( img 3 , 256 ) ;
Title ( ‘ Result of imadjust ( 2 ) ‘ ) ;
Subplot ( 2 , 2 ,4 ) ;
Imhist ( img 4 , 256 ) ;
Title ( ‘ Result of imadjust ( 3 ) ‘ ) ;
ترکیب تفکیکی ما بیشتر میشود اگر از همه طیف های رنگی قابل دسترس استفاده کنیم .
وقتی در هیستوگرام به هدف آماری نزدیک شویم یک کار آماری اتفاق میافتد که آنالیز یا تحلیل هیستوگرام گویند نباید لزوما یک اُپراتور غیر خطی یا خطی باشد .
هیستوگرام پیوسته یک توزیع آماری است .
تابع کمانی احتمال که با علامت اختصاری PDF نمایش میدهیم یک کمیت تصادفی را توصیف میکند .
ادامه آموزش متلب در بخش 7