مکمل کردن تصویر
در یک تصویر سیاه و سفید که فقط دو سطح شدت روشنایی 0 و 1 دارد ، منظور از مکمل
کردن تصویر ، 1 کردن پیکسلهای با مقدار 0 و 0 کردن پیکسل های با مقدار 1 است. در
تصویری که از L سطح روشنایی ( [0 .. L -1] ) برای نمایش شدت روشنایی پیکسل ها
استفاده می کند ، مکمل یک پیکسل از فرمول زیر به دست می آید :
|
Pixel[ i , j ] = L -1 – Pixel[ i , j ]
|
|
به شکل های زیر توجه کنید : |
|
|
مکمل تصویر |
تصویر ماموگرام |
شکل سمت چپ یک تصویر ماموگرام است و شکل سمت راست نیز مکمل آن را نشان می
دهد . همانطور که در این دوشکل به وضوح دیده می شود ، تشخیص اجزای تصویر مکمل شده
آسانتر از تصویر اصلی است . در چنین مواردی که اجزای اصلی تصویر در یک تصویر با
محدوده سیاه بزرگ قرار گرفته باشد، از مکمل تصویر استفاده می کنیم.
شبه کد زیر نحوه مکمل کردن تصویر را نشان می دهد :
|
Procedure Complelemt ( input : Image )
Begin
For 1 To Height of image Do
For 1 To Width of image Do
Inout.pixels[ i , j ] = 255 - Inout.pixels[ i , j ]
End For
End For
End
|
|
فرض کنیم می خواهیم یک ربات تعقیب خط با استفاده از دوربین ایجاد کنیم. همانطور که
می دانید یکی از قوانین ربات تعقیب خط مکمل شدن رنگ خط و پش زمینه در مقاطعی از
مسیر است. برای مرتفع کردن این شرط مسابقه می توان از عملگر مکمل کردن تصویر
استفاده کرد.
پردازش تصویردر MATLAB
ممکمل کردن تصویر در محیط MATLAB با استفاده از تابع imcomplement انجام می پذیرد:
|
>> im = imread('rice.png');
br />>> imshow(im);
>> imComp = imComplement(im);
>> imshow(imComp);
|
|