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

شرح وظائف OpenCV الخاصة بالصور

موسى حسن سعيد هاشم2

السؤال

Recommended Posts

  • 0

اذا كان سؤالك عن قراءة أي صورة باستخدام opencv, فيمكنك قراءة أي صورة سواء كانت رمادية أو ملونة أو صورة ابيض واسود وهذه بعض التعليمات لقراءة الصور باستخدام imread الذي يضم اثنين من الوسطاء الأول يمثل المسار الذي يحوي الصورة والثاني خاص بحالة الصورة:

  1. قراءة الصورة الرمادية ويجب أن يكون الوسيط الثاني يحوي القيمة 0 
    import cv2
    # قراءة الصورة الرمادية
    image = cv2.imread('path/images/image_gray.jpg', 0)
    # عرض الصورة
    cv2.imshow('Gray Image', image)
    # انتظار الضغط على أي مفتاح لإغلاق النافذة
    cv2.waitKey(0)
    cv2.destroyAllWindows()
  2. قراءة الصورة الملونة ويجب أن يكون الوسيط الثاني يحوي القيمة 1
    import cv2
    #  قراءة الصورة الملونة
    image = cv2.imread('path/images/image_grb.jpg', 1)
    # عرض الصورة
    cv2.imshow('Color Image', image)
    # انتظار الضغط على أي مفتاح لإغلاق النافذة
    cv2.waitKey(0)
    cv2.destroyAllWindows()
  3. قراءة الصورة بدون معرفة حالتها سواء ملونة أو رمادية يجب أن يكون الوسيط الثاني يحوي القيمة -1.
    import cv2
    #  قراءة الصورة بحالتها الاصلية
    image = cv2.imread('path/images/image.jpg', -1)
    # عرض الصورة
    cv2.imshow('Image', image)
    # انتظار الضغط على أي مفتاح لإغلاق النافذة
    cv2.waitKey(0)
    cv2.destroyAllWindows()

ملاحظة: يجب أن تغير المسار في الوسيط الأول إلى مسار الصورة الموجود على جهازك.

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

  • 0

اذا كنت تقصد الدوال التي تتعامل مع الصور في مكتبة opencv هناك العديد لاكن اهمهم :-

الدوال التي تتعامل مع تحميل وحفظ الصور:

  • cv2.imread => تستخدم لتحميل صورة من ملف.
  • cv2.imwrite=> تقوم بحفظ صورة إلى ملف.

الدوال التي تتعامل مع عرض الصور:

cv2.imshow=>تقوم بعرض صورة على الشاشة.

cv2.waitKey=> تقوم بالانتظار حتى الضغط على أي مفتاح على لوحة المفاتيح.

cv2.destroyAllWindows=> تقوم بإغلاق جميع النوافذ المفتوحة.

الدوال التي تتعامل مع معالجة الصور:

cv2.resize=> تقوم بتغيير حجم الصورة.

cv2.flip=> تقوم بقلب الصورة.

cv2.rotate=> تقوم بتدوير الصورة.

cv2.threshold=> تقوم بتحديد حدود الصورة.

cv2.blur=>تقوم بتنعيم الصورة.

cv2.edge=> تقوم بتحديد الحواف في الصورة.

الدوال التي تتعامل مع اكتشاف الأشياء في الصور:

cv2.findContours=> تقوم بتحديد الأشكال في الصورة.

cv2.matchTemplate=> تقوم بمقارنة صورة بأخرى.

cv2.face.LBPHFaceRecognizer_create=> تقوم بإنشاء نموذج التعرف على الوجوه.

cv2.face.LBPHFaceRecognizer_train=>تقوم بتدريب نموذج التعرف على الوجوه.

cv2.face.LBPHFaceRecognizer_predict=> تقوم بتحديد الوجه في الصورة.

 

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

  • 0

مكتبة OpenCV تحتوي على مجموعة واسعة من الدوال الخاصة بالصور، والتي يمكن استخدامها لأداء مجموعة متنوعة من المهام، مثل:

  • قراءة الصور وعرضها
  • معالجة الصور
  • تحليل الصور
  • التعرف على الصور

وإليك شرح تفصيلي لبعض الدوال الخاصة بالصور في مكتبة OpenCV، مع أمثلة:

1- قراءة الصور وعرضها.

تستخدم الدوال التالية لقراءة الصور وعرضها:

  • imread(): تستخدم لقراءة صورة من ملف.
  • imshow(): تستخدم لعرض صورة على شاشة.
  • waitKey(): تستخدم للانتظار حتى يضغط المستخدم على أي مفتاح.
import cv2

# قراءة الصورة
image = cv2.imread("image.jpg")

# عرض الصورة
cv2.imshow("Image", image)

# الانتظار حتى يضغط المستخدم على أي مفتاح
cv2.waitKey(0)

2- معالجة الصور

تستخدم الدوال التالية لمعالجة الصور:

  • cvtColor(): تستخدم لتحويل صيغة الصورة.
  • resize(): تستخدم لتغيير حجم الصورة.
  • flip(): تستخدم لقلب الصورة.
  • threshold(): تستخدم لتطبيق حد على الصورة.
import cv2

# قراءة الصورة
image = cv2.imread("image.jpg")

# تحويل الصورة إلى صيغة رمادية
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# عرض الصورة الرمادية
cv2.imshow("Gray image", gray_image)

# الانتظار حتى يضغط المستخدم على أي مفتاح
cv2.waitKey(0)

3- تحليل الصور

تستخدم الدوال التالية لتحليل الصور:

  • findContours(): تستخدم للعثور على حدود الأشكال في الصورة.
  • matchTemplate(): تستخدم للبحث عن نمط معين في الصورة.
  • HoughCircles(): تستخدم للعثور على الدوائر في الصورة.
import cv2

# قراءة الصورة
image = cv2.imread("image.jpg")

# العثور على حدود الأشكال
contours, hierarchy = cv2.findContours(image, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

# عرض حدود الأشكال
for contour in contours:
    cv2.drawContours(image, contour, -1, (0, 255, 0), 2)

# عرض الصورة مع حدود الأشكال
cv2.imshow("Image with contours", image)

# الانتظار حتى يضغط المستخدم على أي مفتاح
cv2.waitKey(0)

4- التعرف على الصور

تستخدم الدوال التالية للتعرف على الصور:

  • haarcascade_frontalface_default(): تستخدم للتعرف على الوجوه.
  • haarcascade_eye_tree_eyeglasses(): تستخدم للتعرف على العيون.
  • svm_frontalface_alt(): تستخدم للتعرف على الوجوه باستخدام التعلم الآلي.
import cv2

# تحميل مصفوفة هارس لتعرف الوجوه
face_cascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")

# قراءة الصورة
image = cv2.imread("image.jpg")

# العثور على الوجوه في الصورة
faces = face_cascade.detectMultiScale(image, 1.3, 5)

# رسم إطارات حول الوجوه
for (x, y, w, h) in faces:
    cv2.rectangle(image, (x, y), (x + w, y + h), (255, 0, 0), 2)

# عرض الصورة مع الوجوه
cv2.imshow("Image with faces", image)

# الانتظار حتى يضغط المستخدم على أي مفتاح
cv2.waitKey(0)

المستند الرسمي:

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

  • 0

ممكن حد يجرب عرض تللك الصورة وازى اطلع الشكل مع النص عشان اطبعة الى ملف وورد

2.jpg

هل يمكن كتابة الأكواد ف دفتر جوبيتر

وليه مش بينفع اى امر

هل يحتاج حاجات تانيه غير الاوامر

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

  • 0

findContours(): تستخدم للعثور على حدود الأشكال في الصورة.

matchTemplate(): تستخدم للبحث عن نمط معين في الصورة.

HoughCircles(): تستخدم للعثور على الدوائر في الصورة.

threshold(): تستخدم لتطبيق حد على الصورة

نشر 24 سبتمبر

اذا كنت تقصد الدوال التي تتعامل مع الصور في مكتبة opencv هناك العديد لاكن اهمهم :-

الدوال التي تتعامل مع تحميل وحفظ الصور:

cv2.imread => تستخدم لتحميل صورة من ملف.

cv2.imwrite=> تقوم بحفظ صورة إلى ملف.

الدوال التي تتعامل مع عرض الصور:

cv2.imshow=>تقوم بعرض صورة على الشاشة.

cv2.waitKey=> تقوم بالانتظار حتى الضغط على أي مفتاح على لوحة المفاتيح.

cv2.destroyAllWindows=> تقوم بإغلاق جميع النوافذ المفتوحة.

الدوال التي تتعامل مع معالجة الصور:

cv2.resize=> تقوم بتغيير حجم الصورة.

cv2.flip=> تقوم بقلب الصورة.

cv2.rotate=> تقوم بتدوير الصورة.

cv2.threshold=> تقوم بتحديد حدود الصورة.

cv2.blur=>تقوم بتنعيم الصورة.

cv2.edge=> تقوم بتحديد الحواف في الصورة.

الدوال التي تتعامل مع اكتشاف الأشياء في الصور:

cv2.findContours=> تقوم بتحديد الأشكال في الصورة.

cv2.matchTemplate=> تقوم بمقارنة صورة بأخرى.

 

حد جرب ع الصورة

 

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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...