PDA

View Full Version : مبتدی: عملیات چرخش انتقال مکانی و بزرگنمایی روی یه ماتریس



ghoroghchian
سه شنبه 26 آبان 1388, 08:40 صبح
دوست خوب من سلام

اول باید یه انتقاد از سایت برنامه نویس داشته باشم:
چرا یه تالار برای Matlab ندارین؟

دوم این که من توی مطلب میخواهم روی یه عکس یا یه ماتریس عملیات انتقال،چرخش و یا بزرگنمایی انجام بدم
فرمول کلی اون به شرح زیر هست:
[x' y' 1]=[x y 1]*[a0 b0 0;a1 b1 0; a2 b2 1]
یعنی مختصات یه پیکسل یا یه سلول از آرایه در یه آرایه 3*3 ضرب میشه تا مختصات جدید همون پیکسل رو بسازه
نکته آرایه [a0 b0 0 ; a1 b1 0 ; a2 b2 1] یه آرایه 3*3 هست و علامت ; یعنی سطر جدید.
خوب هیچ کجا مشکلی نیست اما مثلا اگه:
بخواهیم چرخش تو زاویه B رو انجام بدیم اون آرایه 3*3 به این شکل هست:
[cos(B) sin(B) 0;-sin(B) cos(B) 0;0 0 1];
و بعد از ضرب کردن y' منفی خواهد شد در صورتی که ما در آرایه اندیس منفی نداریم
توی مطلب دوتا تابع داریم که این کار رو انجام میده(maketform , imtransform) اما من میخواهم اون تابع ها رو خودم بنویسم.توضیحادر مورد دو تابع (http://matlab.izmiran.ru/help/toolbox/images/geom7.html)
ممنون میشم بگین چیکار کنم.

ghoroghchian
پنج شنبه 28 آبان 1388, 23:26 عصر
یعنی هیشکی پیدا نمیشه به ما کمک کنه؟:ناراحت: