انجام تبديل
حال به كمك دستور imtransform تبديل را انجام مي دهيم. براي نمونه، در مثالي كه عمل تبديل انتقال را انجام مي داد، از دستور زير استفاده شده بود:
cb_trans = imtransform(cb, tform_translate);
دستور imtransform گزينه هاي متنوع ديگري نيز دارد از جمله تعيين انداز هي تصوير خروجي و تعيين مقدار مورد استفاده براي پركردن نواحي خالي. در ادامه، هر يك از اين دو گزينه مورد بررسي قرار مي گيرند.
مشخص كردن مقدار مورد استفاده براي پركردن نواحي خالي (fill value)
مقدار پيش فرضِ fill value برابر صفر (متناظر با رنگ سياه) است. براي مقادير (يا رنگهاي) ديگر بايد پارامتر FillValues را مقدار دهي كنيد:
الف- تصاوير سطح خاكستري
براي مثال، در مثال تبديل انتقال ميتوان چنين نوشت:
cb_fill = imtransform(cb, tform_translate,…
‘XData’, [1 (size(cb,2)+xform(3,1))],…
‘YData’, [1 (size(cb,1)+xform(3,2))],…
‘FillValues’, .7 );
figure, imshow(cb_fill)
نتيجه:
ب- تصاوير رنگي
مي توان از يك عدد اسكالر يا يك بردار سه مقداره استفاده كرد. مثال:
rgb = imread(‘onion.png’);
xform = [ 1 0 0
0 1 0
40 40 1 ]
tform_translate = maketform(‘affine’,xform);
cb_rgb = imtransform(rgb, tform_translate,…
‘XData’, [1 (size(rgb,2)+xform(3,1))],…
‘YData’, [1 (size(rgb,1)+xform(3,2))],…
‘FillValues’, [187;192;57]);
figure, imshow(cb_rgb)
اگر بخواهيد تبديلي را روي چندين تصوير ورودي (مقلاً يك آراي هي 4-بعدي شامل 10 تصوير رنگي هر يك سه راه مختلف داريد. اول اين كه fill value 200 ) مختلف انجام دهيد، براي تعيين مقدار ×200× به ابعاد 3 يك مقدار اسكالر را به تنهايي مشخص كنيد؛ يعني، نواحي خالي با يك رنگ خاكستري پر شود. دوم اين كه يك بردار سه مقدار را مشخص كنيد؛ يعني نواحي خالي را با يك رنگ مشخص پر كنيد. سوم اين كه يك 3 سطر و 10 ستون) را مشخص كنيد؛ يعني، هر تصوير از رنگ مخصوص به خود براي پر ) 3× ماتريس 10 كردن نواحي خالي مربوطه استفاده مي كند.