اموزش پردازش تصویر در متلب

تفریق دو تصویر

تفریق دو تصویر
تفریق دو تصویر هم اندازه بدین مفهوم است که شدت روشنایی پیکسل های متناظر دو تصویر را از هم کم کنیم . فرض کنید می خواهیم تغییرات مغز افرادی را بررسی کنیم که دچار بیماری آلزایمر هستند. برای این منظور می توانیم تصویری از یک مغز سالم را در مراحل مختلف با تصویر مغز فردی که دچار بیماری آلزایمر است ، مقایسه کنیم . با اعمال عملگر فوق بر روی دو تصویر مذکور نقاطی از مغز که در آن نقاط مغر دچار تغییر شده است مشخص می شوند .  تصویر زیر عکس اسکن PET مغز نرمال و بیمار را  به همراه حاصل تفریق آن ها نشان می دهد :
Amini Amini Amini
تصویر نویزدار تصویر نویزدار تصویر بدون نویز
شبه کد زیر نحوه پیاده سازی عملگر تفریق را نشان می دهد :
Procedure Subtract (image1, image2 : Byte[][])
Begin
result :Byte[][] sub:integer
For i = 1 To Height Do
For j = 1 To Width Do
sub = image1[i, j] – image2[i, j] result[i, j] = sub < 0 ? 0 : sub
End For
End For
Return result
End
هنگام تفریق مقادیر پیکس ها ، مقادیر منفی را به مقدار صفر تبدیل می کنیم . همچنینی می توانیم هنگام تفرق از قدرمطلق تفریق نیز استفاده کنیمبه عنوان یک مثال کاربردی از تفریق دو تصویر می توان به شناسایی حرکت در سیستم های دوربین مدار بسته اشاره کرد. زمانی می گوییم حرکت رخ داده است که در بین دو فریم متوالی گرفته شده از دوربین اختلاف وجود داشته باشد. و همانطور که در ابتدا یادآور شدیم، برای محاسبه اختلاف بین دو تصویر از عملگر تفریق استفاده می کنیم. بنابراین با تفریق فریم فعلی و فریم قبلی گرفته شده از دوربین می توانیم اختلاف موجود در دو تصویر را پیدا کنیم. از دیگر کاربردهای تفریق دو تصویر می توان به حذف پشت زمینه ثابت از تصویر اشاره کرد.پردازش تصویر در MATLAB :
برای تفریق دو تصویر هم اندازه از تابع imsubtract در MATLAB می توان استفاده کرد. به عنوان مثال مجموعه دستورات زیر دو تصویر را خوانده و حاصل تفریق آن ها را نشان می دهد.
>> im = imread(‘rice.png’);
>> imshow(im);
>> imBack = imread(‘background.png’);
>> imshow(imBack);
>> res = imsubtract(im,imBack);

 

—————————————–

برگرفته از http://ai.amini.eu

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *