البرمجة

حل مشكلة ‘NameError’ في OpenCV باستخدام Python على Windows 10

عند تحليل الكود الذي قدمته، يبدو أن هناك خطأ في الاستخدام الصحيح للمتغير A في الشيفرة. يجب عليك تعريف المتغير قبل استخدامه. الخطأ الذي يظهر (NameError: name 'A' is not defined) يشير إلى أن المتغير A لم يتم تعريفه في الشيفرة.

لحل هذا الخطأ، قم بتعريف المتغير A بشكل صحيح. يبدو أن القصد هو استخدام دالة cv2.waitKey(0) للاحتفاظ بالمفتاح الذي تم الضغط عليه. يمكنك تعديل الشيفرة كما يلي:

python
import numpy as np import cv2 img = cv2.imread('love.jpg', 1) cv2.imshow('image', img) A = cv2.waitKey(0) & 0xFF # تعريف المتغير A بشكل صحيح if A == 27: cv2.destroyAllWindows() elif A == ord('s'): cv2.imwrite('love.png', img) cv2.destroyAllWindows()

قمت بتعديل الشيفرة لتعريف المتغير A باستخدام cv2.waitKey(0) & 0xFF. الآن، يجب أن يكون لديك قيمة صحيحة للمتغير A ولن يظهر خطأ NameError.

المزيد من المعلومات

من خلال تحليل الشيفرة التي قدمتها، يبدو أنك تقوم بتحميل صورة باستخدام OpenCV في Python وتقوم بعرضها. بعد ذلك، تستخدم دالة cv2.waitKey(0) للانتظار حتى يتم الضغط على مفتاح، وتقوم بحفظ هذا المفتاح في المتغير A.

إذا كان المفتاح المضغوط هو 27 (ما يعادل زر Esc على لوحة المفاتيح)، يتم إغلاق نافذة العرض باستخدام cv2.destroyAllWindows(). أما إذا كان المفتاح المضغوط هو حرف ‘s’، يتم حفظ الصورة باسم “love.png” باستخدام cv2.imwrite()، ثم تغلق نافذة العرض أيضًا.

بالنسبة للمشكلة المحتملة في تثبيت Python على جهازك الذي يعمل بنظام التشغيل Windows 10 بنواة 64 بت، يُفضل التحقق من تثبيت Python بشكل صحيح. يمكنك تحميل وتثبيت آخر إصدار من Python من الموقع الرسمي (https://www.python.org/)، وتأكيد أن متغير البيئة PATH تم تعيينه بشكل صحيح أثناء التثبيت.

علاوة على ذلك، يُفضل أيضًا استخدام بيئات افتراضية مثل virtualenv لتجنب تداخل الحزم والتبديل بين إصدارات الحزم عند تطوير المشاريع.

مع متابعة هذه الخطوات، يجب أن تكون قادرًا على تشغيل الشيفرة بدون مشاكل.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر