Ali Ismael نشر 13 أكتوبر 2021 أرسل تقرير نشر 13 أكتوبر 2021 هل يمكن لأحد ما أن يوضح لي ما يقوم به التابع cvWaitKey فهو غير واضح أبداً في المرجع؟ 1 اقتباس
1 Ali Haidar Ahmad نشر 13 أكتوبر 2021 أرسل تقرير نشر 13 أكتوبر 2021 تقوم بإيقاف تنفيذ الكود لمدة زمنية معين تقدر بالميلي ثانية وتوضع بين قوسين بالشكل(). أي في حال قمت بكتابة: import cv2 as cv I=cv.imread("rose.jpg") cv.imshow(“imag”,I) cv2.waitKey(1000) # statment1 # statment2 . . . # statmentn فهذا يعني أن الصورة سيتم عرضها في نافذة منبثقة وسيتوقف تنفيذ باقي تعليمات الكود لمدة 1000 ميلي ثانية، وبعد انقضاء المدة يستكمل بايثون في تنفيذ باقي التعليمات (لكن الصورة تبقى معروضة في النافذة المنبثقة ولاتحاول إغلاقها لأنك إن قمت بذلك سوف ينهار البرنامج) ولجعلها تختفي لابد من إضافة التعليمة cv2.destroyAllWindows بعدها مباشرةً. أما في حال كانت القيمة الممررة أصغر أو تساوي 0 عندها سوف يتم عرض الصورة وبعد عرضها سوف يتم إيقاف تنفيذ الكود إلى ما لانهاية، ويتم استكمال تنفيذ الكود عند قيامك بالضغط على زر معين (وأيضاً هنا ستبقى الصورة في النافذة مالم تكن التعليمة التالية هي destroyAllWindows ). كما يجب أن تعلم أنه إذا لم تقم باستخدام التعليمة ()cv2.waitKey لن يتم إظهار الصورة. وفي حالة أردت استخدامه مع الفيديو فأنصحك بالاطلاع على السؤال التالي: اقتباس
1 Ahmed Sharshar نشر 14 أكتوبر 2021 أرسل تقرير نشر 14 أكتوبر 2021 (معدل) تستخدم الدالة cv2.waitKey كأنها مؤقت ، بحيث تقوم بادخال الوقت الذي تريد أن تنتظره الدالة (بالمللي ثانية) بحيث يقوم البرنامج خلال تلك المدة بعمله على الصور او الفيديوهات ثم بعد انتهاء الوقت يقوم بعمل شئ أخر، الكود التالي مثال على هذا: import cv2 import time img = cv2.imread("flowers.jpg") cv2.imshow("Flowers",img) initial_time = time.time() cv2.waitKey(3000) final_time = time.time() print("Window is closed after",(final_time-initial_time)) ويكون الخرج تلك الصورة مع الوقت الذي أخذته الصوره وهي 3 ثوان: Window is closed after 3.0099525451660156 يمكن أيضا استخدامها بحيث لا تنتظر وقتا محددا وانما حدث، كالضغط على زر، المثال التالي يوضح إستخدامها بحيث تظل الصورة معروضة حتى يقوم المستخدم بالضغط على أي زر فتختفي: #استدعاء الدالة import cv2 as cv #قراءة الصورة imageread = cv.imread('C:/Users/admin/Desktop/images/test.jpg') #انتظار الحدث cv.imshow('Image', imageread) cv.waitKey(0) cv.destroyAllWindows() تم التعديل في 14 أكتوبر 2021 بواسطة Ahmed Sharshar اقتباس
السؤال
Ali Ismael
هل يمكن لأحد ما أن يوضح لي ما يقوم به التابع cvWaitKey فهو غير واضح أبداً في المرجع؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.