ثابت سازی تصویر در متلب
گام 5 : روي هم قرار دادن تصوير پايه و تصوير تثبيت شده
در اين مرحله يك نسخه ي نيمه شفاف از تصوير پايه را روي تصوير تثبيت شده قرار مي دهيم:
h = imshow(base, gray(256));
set(h, ‘AlphaData’, 0.6)
ملاحظه مي كنيد كه دو تصوير به خوبي روي هم قرار نگرفته اند. (يا به اصطلاح، تثبيت نشده به نظر مي رسند و گرنه ما ميدانيم كه واقعاً تثبيت شده اند) علت اين امر اين است كه در اين مثال فرض شده است كه هر دو تصوير در يك سيستم مختصات مشترك قرار دارند كه البته، اين طور نيست.
در گامهاي بعدي، دو روش براي حل اين مشكل ارائه مي شود.
گام 6 : استفاده از پارامترهاي ورودي YData و XData
يك راه براي اينكه كاري كنيم كه تصاوير تثبيت شده، واقعاً تثبيت شده به نظر برسند، اين است كه آن نواحي اي از تصوير تثبيت شده را كه خارج از حدود تصوير پايه است، برش بزنيم. براي اين كار از پارامترهاي ‘YData’ و ‘XData’ استفاده مي كنيم:
registered1 = imtransform(unregistered,tform,’FillValues’, 255,’XData’,…
[1 size(base,2)],’YData’, [1 size(base,1)]);
حال تصوير تثبيت شده را نمايش داده و سپس نسخه ي نيمه شفافي از تصوير پايه را به منظور مقايسه با تصوير تثبيت شده، روي آن قرار مي دهيم:
figure; imshow(registered1)
hold on
h = imshow(base, gray(256));
set(h, ‘AlphaData’, 0.6)
ملاحظه مي كنيد كه عمل تثبيت شدن به خوبي نشان داده شده است اما قسمتي از تصوير تثبيت شده حذف شده است. گام بعدي راه ديگري ارئه مي دهد.
گام 7 : استفاده از مقادير خروجيِ
يك راه ديگر اين است كه تصوير تثبيت شده را با تمام محدوده ي مختصات خود محاسبه كنيم و از گزينه ي اختياري موجود در دستور imtransform كه مختصات تصوير تبديل يافته نسبت به تصوير اصلي (اوليه) را برمي گرداند، استفاده كنيم.
[registered2 xdata ydata] = imtransform(unregistered, tform, ‘FillValues’, 255);
حال تصوير تثبيت شده را نمايش داده و سپس نسخه ي نيمه شفافي از تصوير پايه را به منظور مقايسه با تصوير تثبيت شده، روي آن قرار مي دهيم:
figure; imshow(registered2, ‘XData’, xdata, ‘YData’, ydata)
hold on
h = imshow(base, gray(256));
set(h, ‘AlphaData’, 0.6)
حال محورها را به گونه اي تنظيم م يكنيم كه تصوير پايه به طور كامل نشان داده شود. حال با توجه به اين شكل ملاحظه كنيد كه چگونه عمل تثبيت به خوبي نشان داده شده است و نمايش داده شده اند.
ylim = get(gca, ‘YLim’);
set(gca, ‘YLim’, [0.5 ylim(2)])
نویسنده: دکتر هادی گرایلو