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

كيفية إقتصاص جزء من صورة بإستخدام OpenCV في بايثون Python؟

Mohssen A Mohssen

السؤال

لدي قائمة تحتوي على مجموعة من مسارات لصور على حاسوبي، كل الصور لها نفس الحجم وهي كبيرة (1920 × 1080) وأريد إقتصاص جزء من كل صورة بحجم (1280 × 720) وحفظه في ملف منفصل، حاولت البحث عن دالة تقوم بإقتصاص الصور في مكتبة OpenCV ولكن لم أجد شيء مفيد

ما هي الطريقة المستعملة في مكتبة OpenCV لإقتصاص جزء من صورة بحجم معين؟

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

Recommended Posts

  • 1

لا توجد في مكتبة  OpenCv طريقة اقتصاص وغالبا يقترح المبرمجون طريقة numpy slicing الآتية:

crop_img = img[y:y+h, x:x+w]

مع تعيينy و x في قيمة الصفر للقص من وسط الصورة.

نظرا لمشكلة أحجام الصور عندك يمكنك الحفاظ على جميع زواياها مع تغيير حجمها بحيث تصبح أصغر دون الاقتصاص منها.  تتوفر OpenCv على وظيفة resize لتغيير الحجم و بالتالي يمكنك فعل ذلك عبر الكود:

import cv2

#قراء الصورة عبر مسارها 
filename = "./test2jpg"
oriimage = cv2.imread(filename)
print(oriimage.shape)

newx,newy = 1280,720 #الابعاد الجديدة
dim = (newx, newy) 

newimage = cv2.resize(oriimage,dim,interpolation = cv2.INTER_AREA) # تعيين الصورة حسب الابعاد الجديدة 

print(newimage.shape)
cv2.imwrite("new image.jpg", newimage) #حفظ الصورة

cv2.imshow("original image",oriimage)# عرض الصورة الاصلية
cv2.imshow("resize image",newimage)#عرض الصورة الجديدة

cv2.waitKey(0)

الأحجام تصبح:

(1080, 1920, 3) # حجم الصورة الأصلية
(720, 1280, 3)  # حجم الصورة الجديدة

 

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

  • 1

import cv2

image = cv2.imread('download.jpg')
y=0
x=0
h=100
w=200
crop = image[y:y+h, x:x+w]
cv2.imshow('Image', crop)
cv2.waitKey(0) 

يمكنك تعديل العرض و الارتفاع كما تريد 

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...