تغییر اندازه تصویر در OpenCV

تغییر اندازه تصویر به معنی کاهش ابعاد آن تصویر است، به طوری که می توانید تنها عرض یا تنها ارتفاع را تغییر دهید و یا اینکه هر دو را همزمان تغییر دهید. همچنین باید نسبت تصویر (Aspect Raito) تصویر اصلی باید درون تصویر تغییر یافته نیز حفظ شود. در OpenCV برای تغییر اندازه تصویر، متدی به نام ()resize وجود دارد. به طور کلی توسط متد ()resize می توانیم یک تصویر را به صورت های زیر تغییر اندازه دهیم:

۱ – کاهش مقیاس بر مبنای درصد – عددی کوچکتر از ۱۰۰

۲ – افزایش مقیاس بر مبنای درصد – عددی بزرگتر از ۱۰۰

۳ – تغییر اندازه عرض

۴ – تغییر اندازه ارتفاع

۵ – تغییر اندازه عرض و ارتفاع

نسبت تصویر یا Aspect Raito چیست : (سایت لنزک)

کاهش و افزایش مقایس

مطابق الگوی اول متد ()resize، آرگومان اول نام متغیری است که تصویر اصلی اشاره دارد و آرگومان دوم ابعاد تصویر جدید است. به طور مثل می توانیم تصویر اصلی را ۵۰ درصد کاهش دهیم. توجه کنید در منابع به تغییر اندازه، تغییر مقایس (Sacle) تصویر نیز گفته می شود. درکد زیر متغیر dim که به صورت یک تاپل (Tuple) پایتون است، دو مقدار عرض و ارتفاع تصویر جدید را در خود نگه می دارند که با اندازه نصف (۵۰٪) تصویر اولیه هستند.

بنابراین در کدهای بالا چون تصویر جدید به اندازه ۵۰٪ تصویر اصلی کوچکتر شده است، پس در واقع کاهش مقیاس (Down Scale) انجام شده است ولی در کدهای زیر چون تصویر تا ۲۰۰٪ بزرگتر از تصویر اصلی شده است، پس در واقع افزایش مقیاس (Up Scale) انجام شده است.

۱ – کد کامل و شکل خروجی حالت کاهش مقیاس

۱ – کد کامل و شکل خروجی حالت افزایش مقیاس

تغییر اندازه بر اساس پیکسل

در کدهای بالا تصویر اصلی بر اساس درصدی کاهش یا افزایش پیدا کرد ولی می توانیم تصویر را بر اساس پیکسل و بر اساس تنها عرض یا تنها ارتفاع و یا بر اساس عرض و ارتفاع تغییر دهیم. کدهای زیر به ترتیب کاهش عرض تا ۴۴۰ پیکسل× افزایش ارتفاع تا ۸۵۰ پیکسل و کاهش عرض و ارتفاع به ترتیب تا ۴۴۰ و ۳۵۰ پیکسل را نشان می دهد.

۱ – برای کاهش یا افزایش تنها عرض، ارتفاع تصویر اصلی ([0]image.shape) تغییر نمی کند.

۲ – برای کاهش یا افزایش تنها ارتفاع، عرض تصویر اصلی ([1]image.shape) تغییر نمی کند.

۳ – برای کاهش یا افزایش هم عرض و هم ارتفاع ، عرض و ارتفاع تصویر اصلی تغییر می کند.

۱ – کد کامل کاهش عرض تا ۴۴۰ پیکسل

۲ – کد کامل افزایش ارتفاع تا ۸۵۰ پیکسل

۳ – کد کامل کاهش عرض تا ۴۴۰ و ارتفاع تا ۳۵۰ پیکسل

دانلود سورس کامل برنامه های این مطلب Resize Images with OpenCV