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

السؤال

نشر

السلام عليكم

import face_recognition
from PIL import Image , ImageDraw

david = face_recognition.load_image_file("David.png")

david_locations = face_recognition.face_locations(david)

left , top , right , bottom = david_locations

img = Image.fromarray(david)

draw = ImageDraw.Draw(img)

draw.rectangle(((left,top), (right,bottom)), outline='green' , width=5)

img.show()

 

Recommended Posts

  • 0
نشر

مبدئيا، لا يظهر بالشيفرة أي خطأ. ما تحتاج التحقق منه هو: 

  • من أن مسار الصورة المسند صحيح. 
  • من ما ان كانت هنالك أي رسالة خطأ تظهر بخصوص تنفيذ الشيفرة. 
  • من أن david_locations قائمة وليست فارغة قبل استخدام القيم منها. يمكنك اضافة عبارة شرطية على سبيل if david_locations: للتحقق من وجود على الأقل وجه واحد.

كما أنه يفضل تغيير حجم الصورة إلى حجم معقول قبل تحميلها باستخدام resize لتجنب مشاكل الأداء. 
في حالة ظهور أي رسالة خطأ، يرجى ارفاقها.

  • 0
نشر

هي ده الرساله الخطا

    left , top , right , bottom = david_locations

ValueError: not enough values to unpack (expected 4, got 1)   

وكمان انا شغلت الكود اول مره تمام ما كنش فيه مشكله بعد كده ظهرات الرساله ده

 

  • 0
نشر
بتاريخ الآن قال Ail Ahmed:

هي ده الرساله الخطا

    left , top , right , bottom = david_locations

ValueError: not enough values to unpack (expected 4, got 1)   

وكمان انا شغلت الكود اول مره تمام ما كنش فيه مشكله بعد كده ظهرات الرساله ده

 

جرب اضافة الشرط التالي: 

if len(david_locations) > 0:
    # استخدام مواقع الوجوه الأول فقط
    left, top, right, bottom = david_locations
    img = Image.fromarray(david)
    draw = ImageDraw.Draw(img)
    draw.rectangle(((left,top), (right,bottom)), outline='green' , width=5)
    img.show()
else:
    print("لا يوجد وجوه في الصورة")
  • 0
نشر
بتاريخ On 20‏/12‏/2023 at 21:55 قال Ail Ahmed:

السلام عليكم

import face_recognition
from PIL import Image , ImageDraw

david = face_recognition.load_image_file("David.png")

david_locations = face_recognition.face_locations(david)[0]

left , top , right , bottom = david_locations

img = Image.fromarray(david)

draw = ImageDraw.Draw(img)

draw.rectangle(((left,top), (right,bottom)), outline='green' , width=5)

img.show()

 

هو مش المفروض هنا  [0] وليه 

  • 0
نشر
بتاريخ 40 دقائق مضت قال Ail Ahmed:

هو مش المفروض هنا  [0] وليه 

عليك أن تكون حذرًا عند استخدام [0]، خاصة إذا كانت الصورة قد تحتوي على أكثر من وجه، ففي حالة وجود أكثر من وجه في الصورة، [0] سيعيد موقع الوجه الأول فقط، أما إن كنت ترغب في رسم المربعات حول جميع الوجوه المكتشفة، فيجب عليك تعديل الكود ليتناسب مع ذلك.

للتأكد، يمكنك طباعة قائمة david_locations لرؤية عدد الوجوه المكتشفة ومواقعها:

print(david_locations)

وفي حال تريد رسم المربعات حول جميع الوجوه، نقوم بتعديل الكود كما يلي:

import face_recognition
from PIL import Image, ImageDraw

david = face_recognition.load_image_file("David.png")

david_locations = face_recognition.face_locations(david)

img = Image.fromarray(david)
draw = ImageDraw.Draw(img)

for location in david_locations:
    left, top, right, bottom = location
    draw.rectangle(((left, top), (right, bottom)), outline='green', width=5)

img.show()

حيث حلقة (for) للتحقق من جميع مواقع الوجوه ورسم المربعات حولها.

  • 0
نشر
بتاريخ 2 دقائق مضت قال Mustafa Suleiman:

عليك أن تكون حذرًا عند استخدام [0]، خاصة إذا كانت الصورة قد تحتوي على أكثر من وجه، ففي حالة وجود أكثر من وجه في الصورة، [0] سيعيد موقع الوجه الأول فقط، أما إن كنت ترغب في رسم المربعات حول جميع الوجوه المكتشفة، فيجب عليك تعديل الكود ليتناسب مع ذلك.

للتأكد، يمكنك طباعة قائمة david_locations لرؤية عدد الوجوه المكتشفة ومواقعها:

print(david_locations)

وفي حال تريد رسم المربعات حول جميع الوجوه، نقوم بتعديل الكود كما يلي:

import face_recognition
from PIL import Image, ImageDraw

david = face_recognition.load_image_file("David.png")

david_locations = face_recognition.face_locations(david)

img = Image.fromarray(david)
draw = ImageDraw.Draw(img)

for location in david_locations:
    left, top, right, bottom = location
    draw.rectangle(((left, top), (right, bottom)), outline='green', width=5)

img.show()

حيث حلقة (for) للتحقق من جميع مواقع الوجوه ورسم المربعات حولها.

الا انا وجه واحد بس

تمام , شكرااا جداا

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...