تعريف داده هاي مربوط به تبديل
همان طور كه گفته شد دو راه براي مشخص كردن نحوه انجام تبديل وجود دارد: يكي استفاده از ماتريس تبديل و ديگري مشخص كردن تعدادي جفت-نقطه ي متناظر در تصاوير ورودي و خروجي. در هر دو حالت، بايد نتيجه را به دستور maketform
بدهيم.
راه اول: با استفاده از دستور maketform و دادن يك ماتريس تبديل 3×3 مناسب به آن ميتوان يك ساختار TFORM كه مناسب براي استفاده در دستور imtransform باشد را ايجاد كرد. دستور imtransform فقط قادر به انجام تبديلات دو بعدي است. يكي از انواع متداول تبديلات دو بعدي، تبديلِ affine است. براي داشتن اين نوع تبديل بايد سطر آخر ماتريس تبديل به صورت بردار ستونيِ [0; 0; 1] باشد. انواع تبديلات affine و ماتريسهاي تبديل هر كدام از آنها در جدول زير آمده است:
راه دوم:
در روش دوم، مجموعه اي از جفت-نقاط متناظر متعلق به تصوير ورودي و تصوير خروجي را مشخص مي كنيم و آنها را به دستور maketform مي دهيم. شما بايد سه جفت نقطه (يعني در كل، 6 نقطه) متناظر و غير واقع بر يك خط راست از تصوير ورودي و تصوير خروجي را مشخص كنيد. اين سه جفت نقطه در حقيقت يك مثلث را در تصوير ورودي و در تصوير خروجي مشخص مي كنند.
مثال:
in_points = [11 11;21 11; 21 21]
out_points = [51 51;61 51;61 61]
tform2 = maketform(‘affine’,inpts,outpts)
ايجاد ساختار TFORM
بعد از ايجاد داده هاي تبديل (مطالب قسمت قبلي)، بايد به كمك دستور maketform يك ساختار TFORM ايجاد كنيد و سپس آن را به دستور imtransform بدهيد تا تبديل را انجام دهد.
نحوه ي استفاده از دستور maketform در مثال زير نشان داده شده است:
tform_translate = maketform(‘affine’,xform)
آرگومان اول، نوع كليِ تبديل و آرگومان دوم نيز داد ههاي تبديل را مشخص می كنند. در حالت كلي دو نوعِ كليِ projective و affine وجود دارد اما علاوه بر اينها، دستور maketform انواع ديگري را نيز پشتيباني مي كند. انواعِ كليِ تبديلات در جدول زير آمده است:
نویسنده: دکتر هادی گرایلو