اذهب إلى المحتوى
  • 0

تغيير حجم الصورة باستخدام التابع cv2.resize في OpenCV | بايثون

Ali Ismael

السؤال

كيف نقوم بتعديل حجم الصور باستخدام OpenCV  حيث أن لدي مجموعة بيانات وأريد استخدامها لاختبار نموذجي لكن أحجام هذه الصور لا تتناسب مع مدخلاته؟

تم التعديل في بواسطة Ali Ismael
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يمكنك استخدام التابع cv2.resize لإنجاز ما أنت بحاجةٍ إليه، حيث يقوم بتقليصها أو توسيع نطاقها لتلبية متطلبات الحجم. كما بوفر العديد من طرق الاستيفاء (التوليد) لتغيير حجم الصورة، وأهمها:
- cv2.INTER_AREA: يستخدم عندما نحتاج إلى تقليص الصورة. أو cv2.INTER_CUBIC لكنه أبطأ لكن أكثر كفاءة.
- cv2.INTER_LINEAR: يستخدم  عندما نحتاج تكبير الصورة (الحالة الافتراضية عندما نطلب زيادة حجم الصورة).  وبشكل أساسي يأخذ هذا التابع 3 وسطاء:

cv2.resize(src, size,interpolation)

الوسيط الأول هو الصورة المطلوب تعديلها، أما الثاني فهو الحجم المطلوب تعديل حجم الصورة إليه. أما الثالث فهو طريقة الاستيفاء المطلوبة. مثال:

import cv2
from google.colab.patches import cv2_imshow
# قراءة الصورة
img = cv2.imread("/content/closedeye1.jpg", cv2.IMREAD_UNCHANGED)
# طباعة حجم الصورة
print('Original Dimensions : ',img.shape)
# تحديد أبعاد الحجم الجديد
dim = (100, 120)
# resize تطبيق التابع 
# resize image
resized = cv2.resize(img, dim, interpolation = cv2.INTER_AREA)
# عرض حجم الصورة بعد التعديل
print('Resized Dimensions : ',resized.shape)
# عرض الصورة
cv2_imshow(resized)
                                ######################### الخرج #####################
#                                      Original Dimensions :  (186, 271, 3)
#                                      Resized Dimensions :  (120, 100, 3)

والصورة الناتجة:
2.png.6cadce427579e8070f540cbb54d1b4e5.png3*100*120
مثال لزيادة حجم الصورة:

import cv2
from google.colab.patches import cv2_imshow
# قراءة الصورة
img = cv2.imread("/content/closedeye1.jpg", cv2.IMREAD_UNCHANGED)
# طباعة حجم الصورة
print('Original Dimensions : ',img.shape)
# تحديد أبعاد الحجم الجديد
dim = (400, 400)
# resize تطبيق التابع 
# resize image
resized = cv2.resize(img, dim, interpolation = cv2.INTER_LINEAR)
# عرض حجم الصورة بعد التعديل
print('Resized Dimensions : ',resized.shape)
# عرض الصورة
cv2_imshow(resized)
                                ######################### الخرج #####################
#                                      Original Dimensions :  (186, 271, 3)
#                                      Resized Dimensions :  (400, 400, 3)

والصورة الناتجة:
index.png.ef2ac43fdcabedb0bfa0ec584043170c.png3*400*400

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...