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

السؤال

Recommended Posts

  • 1
نشر

يمكنك استخدام التابع cvtColor ولكن هنا بدلاً من تمرير قيمة الصورة للتابع نمرر له القيمة اللونية التي نريدها في BGR (الخطوة الأولى). ثم نقوم بتحديد أعلى وأدنى قيمة لمجال اللون المطلوب عن طريق اتباع القاعدة (الخطوة الثانية):

الدنيا: [H-10, 100,100]
العليا: [H+10, 255, 255]

لكن هذا ليس أفضل خيار دائماً (أقصد القاعدة) لذا لدقة أكبر يفضل أن تختار مجال القيم بشكل يدوي عن طريق تمرير أعلى وأدنى قيمة لعتبة اللون المطلوب في BGR.
مثال على ما سبق،  مثلاً لو أردنا إيجاد اللون الأحمر في HSV:

red = numpy.uint8([[[0,0,255]]])
hsv_red = cv2.cvtColor(red,cv2.COLOR_BGR2HSV)
print(hsv_red)
# [[[  0 255 255]]]

ثم نطبق القاعدة أعلاه وهذا سيعطينا مجالين:

Low: [0, 100,100]
High: [10, 255, 255]

لكن لو قمت بتجريب ذلك بشكل يدوي سينتج معك أن المجال الأفضل للون الأحمر هو:

Low: [0, 100,100]
High: [20, 255, 255]

مثال آخر لإيجاد اللون الأخضر في HSV:

green = np.uint8([[[0,255,0 ]]])
hsv_green = cv2.cvtColor(green,cv2.COLOR_BGR2HSV)
print (hsv_green)
# [[[ 60 255 255]]]

ثم ينتج لدينا المجالات المطلوبة حسب القاعدة:

Low: [50, 100,100]
High: [70, 255, 255]

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...