جلسه پنجم: تبدیلات آفین در اپن سی وی

جلسه پنجم: تبدیلات آفین در اپن سی وی

  buy_icon  

 

** برای اطلاعات بیشتر در مورد تبدیل آفین (Affine Transform) و دستورات آن در متلب به این پست مراجعه کنید.

 

در این پست به صورت مختصر می خواهم دستوارت مهم برای تبدیلات تصویر اعم از تغییر اندازه، چرخش، تغییر فرم سه نقطه ای و چهار نقطه ای و … را با دستوارت اپن سی وی (openCV + Python) توضیح دهم.

 

تغییر اندازه تصویر در اپن سی وی با پایتون با تابع cv2.resize صورت می گیرد. که به دو صورت زیر می توان استفاده کرد:

 

هر تبدیل تصویر دو بعدی اعم از چرخش ، شیفت ، تغییر سایز و … را می توان به صورت یک ماتریس 3در3 با نام ماتریس انتقال تعریف کرد که به شکل زیر است:

اعمال ماتریس تبدیل(انتقال ) با استفاده از دستور تبدیل آفین cv2.warpAffine به صورت زیر می شود:

 

بدست آوردن ماتریس انتقال چرخش در اپن سی وی با دستور cv2. getRotationMatrix2D انجام می شود، نمونه کد چرخش تصویر در اپن سی وی با پایتون به صورت زیر است :

 

بدست آوردن ماتریس تغییر فرم سه نقطه ای آفین با دستور cv2. getAffineTransform انجام می شود. یعنی تصویر را به گونه تغییر می دهد که سه نقطه اولیه روی سه نقطه ثانویه منطبق شود. نمونه کد:

 

در اپن سی وی نوع بسیار پراهمیتی از تغییر فرم وجود دارد تحت عنوان تبدیل پرسپکتیو. این در واقع تغییر فرم آفین به صورت چهار نقطه است. یعنی تصویر را به گونه تغییر می دهد که چهار نقطه اولیه روی چهار نقطه ثانویه منطبق شود.

 

*توجه: برای استفاده از دستورات بالا حتما جلسات قبل را بخوانید.

 

در صورت استفاده از مطالب این سایت لطفا به سایت ارجاع دهید

دیدگاه شما

( الزامي )

(الزامي)