آموزش تابع imread  در متلب (4)

آموزش برنامه نویسی و پردازش تصویر در متلب matlab

 

آموزش تابع imread  در متلب

ادامه آموزش نرم افزار متلب بخش 4

در این مبحث آشنا میشویم با :

1- تابع imread

2- تعریف تروکالر  

3- مثال برای آموزش تابع imread

4- نگاتیو کردن عکس 

عملا بحث خواندن و ذخیره سازی مطالب رادر محیط متلب باهاش اشنا شدیم کاری که بعد از این انجام خواهیم داد درآموزش تابع imread  در متلب همه الگوریتم هایی که با ان کار خواهیم کرد اولش یک imread  دارد که  تصویررا میخوانیم  .

Bit Depth:24

24  سه تا 8 است (یک تصویر رنگی سه لایه ) هر کدام از ان Bitبیت ها بین 0 تا255 است یعنی یک عدد 8 بیتی bitاست .

;img = imread( ‘ rice . png ‘ )<<
       img<256 .  256 uint8> 

کلا این تصویر میشود

Integer 8 bit بدون علامت است که طبق ان چیزی که در بحث ذخیره سازی اطلاعات در کامپیوتر قرارداد شده این رنجش بین 0 تا 255 است اگر سه تا از این 0تا255 ها داشته باشیم میشود سه تا Component رنگی مربوط به هر کدام از این پیکسل ها (RGB)قرمز سبز ابی  که اینها را روی هم قرار میدهید میشود سه تا طبقه به خاطر این bitdepth :24 ترو کالر هم اصطلاحا بهش میگن خیلی تنوع رنگی بالایی دارد.

 

آموزش تابع imread  در متلب

 

این 16777216 رو اصطلاحا  ترو کالرمیگویند که خیلی بالاتر از دقت چشم ماست و چشم ما نمیتواند خیلی از این رنگها را از هم تفکیک بدهد اما به خاطر بحث چاپ وبحث انتقال اطلاعات و بحث علمی ( تصاویر را که همیشه چشم انسان باان برخورد نمیکند)وقتی انسان با این قضایا رو به رو باشد میایند از روش های اندیس گزاری رنگی استفاده میکنند.

به هر حال Bit Depth این مفهومش است اینه که شما چقدر تفکیک پذیری رنگی دارید اینجا چیزایی که معمولا ما توی کامپیوتر های عادی استفاده میکنیم توی کامپیوتر های 32 بیتی همین 24 بیت هست .

چیزی که کوانتیزه میکنید نسبت به دستگاههای مختصات همان ماهواره است.

 

 این زوایا را میشود تشخیص داد  با استفاده از یک نگاشت هندسی  ان را تیجش داد ، مقیاس بندی ، بزرگ و کوچیک شدن و دوران با  علامات   ماتریسی پایه قابل انجام است  ضرب میشود در یک ماتریسی تمام میشود .

 دراین مثال آموزش تابع imread  در متلب داریم

جای بلوک (R , G ) را عوض کنیم :

تابع imshow در متلب

 

 

  1. >>img1=imread(‘peppers . png’) 
     >>img2=Zeros(size(img1));    
     >>img2 (: ,: ,1) = img1 (: , : , 2);  
    >>img2(:,:,2)= img1 (: ,: ,1);   
     >> img2 (: , : , 3) = img1 (: , : ,3);    
     >>figure ;  
     >>subplot (1 ,2 ,1) ;    
     >>Imshow (img1) ;  
    >>subplot (1 ,2 , 2 );   
      >>imshow (img2);   

     

  • آموزش کار با تابع imread  در متلب 

 

یعنی جای قرمز و سبز را عوض کنیم ( یک ماتریس که یک سطح دارد دو تا ستون دارد ) متلب تصویر ها را به شکل دابل

نمیشناسد.

Img 1 <384  .  512 . 3 uint8>
Img2 <384  . 512  . 3 double>
Img2 = uint8(img 2 );

جای رنگهای قرمز و سبز عوض شده  رنگهایی که ترکیب مساوی از سبز و قرمز دارند خیلی تحت تاثیر قرار نگرفتن

 

میتوانید یکی از لایه ها را معکوس کنید (انی که 0 بیشترین مقدار را داشته باشید  وانی که 255  به جاش 0 بزارید)

از این روشها برای تشخیص پلاک خودرو در سیستم اتوماسیون پارکینگ و نرم افزار پلاک خوان همچنین نرم افزار کنترل تردد خودرو مورد استفاده قرار میگیرد.

 

Img3 = 255 – img2;
Imshow (img3) 

 

این نگاتیو میشود

آموزش کار با تابع imread  در متلب

همان چیزی که تو فیلم های عکاسی قدیمی میدیدیم که می امدن ان نور را تابش میدادن به ظهوری که در انجا بود (نورهایی را دارد از خودش عبور میدهد که دقیقا برعکس ان تصویر اصلی هستند یعنی خود ان تصویر را دارد از خودش عبور میدهد .)

ادامه آموزش نرم افزار متلب در بخش 5