إيمان مجدي سليمان نشر 18 فبراير 2023 أرسل تقرير نشر 18 فبراير 2023 from PIL import Image from PIL import ImageStat import cv2 import numpy as np im = Image.open('C:/Users/titanic/Desktop/photo/50.jpg',cv2.IMREAD_COLOR) stat = ImageStat.Stat(im) avg = stat.mean total = sum(avg) red_percentage = avg[0]/total * 100 green_percentage = avg[1]/total * 100 blue_percentage = avg[2]/total * 100 print("Red: %f%%, Green: %f%%, Blue: %f%%" % (red_percentage, green_percentage, blue_percentage)) 1 اقتباس
0 أحمد رضا5 نشر 18 فبراير 2023 أرسل تقرير نشر 18 فبراير 2023 ماهي المشكلة في الكود قومي بإضافة تفاصيل اكثر في السؤال أو مشاركة رسالة الخطأ حتي يمكننا مساعدتك اقتباس
0 إيمان مجدي سليمان نشر 18 فبراير 2023 الكاتب أرسل تقرير نشر 18 فبراير 2023 Traceback (most recent call last): File "C:/Users/titanic/loadtest.py", line 20, in <module> im = Image.open('C:/Users/titanic/Desktop/photo/50.jpg',cv2.IMREAD_COLOR) File "C:\Users\titanic\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\PIL\Image.py", line 3205, in open raise ValueError(msg) ValueError: bad mode 1 رسالة الخطأ اقتباس
0 Mustafa Suleiman نشر 19 فبراير 2023 أرسل تقرير نشر 19 فبراير 2023 رسالة الخطأ تشير إلى أن وضع الصورة غير معترف به أو غير مدعوم بواسطة مكتبة PIL (Python Imaging Library). في هذه الحالة ، الوضع '1' ليس وضعًا صالحًا لفتح صورة باستخدام الأمر Image.open (). لحل هذه المشكلة ، يجب عليك تحديد وضع صالح للصورة عند فتحها. على سبيل المثال ، يمكنك استخدام الوضع 'r' لقراءة الملف في وضع البايتات الثنائية binary و 'RGB' لفتح صورة ملونة: from PIL import Image im = Image.open('C:/Users/titanic/Desktop/photo/50.jpg').convert('RGB') في المثال أعلاه ، تم استخدام الأمر convert() لتحويل الصورة إلى الوضع 'RGB' ، وهو وضع الألوان الصالح المدعوم بواسطة مكتبة PIL. وبالنسبة للكود الخاص بك، الخطأ في الكود هو أنه يتم استخدام cv2.IMREAD_COLOR مع Image.open من مكتبة PIL ، والتي لا يدعمها. يمكن حل هذه المشكلة عن طريق تحميل الصورة مع مكتبة PIL فقط عن طريق تعيين مسار الصورة كمعامل لـ Image.open. هنا هو الكود الصحيح: from PIL import Image from PIL import ImageStat im = Image.open('C:/Users/titanic/Desktop/photo/50.jpg') stat = ImageStat.Stat(im) avg = stat.mean() total = sum(avg) red_percentage = avg[0]/total * 100 green_percentage = avg[1]/total * 100 blue_percentage = avg[2]/total * 100 print("Red: %f%%, Green: %f%%, Blue: %f%%" % (red_percentage, green_percentage, blue_percentage)) بالإضافة إلى ذلك ، الكود يعاني من مشكلة في استخدام avg، لأنه لم يتم استدعاء الدالة. يمكن حل هذه المشكلة بإضافة "()" بعد stat.mean، كما تلاحظين في الكود. 1 اقتباس
0 إيمان مجدي سليمان نشر 19 فبراير 2023 الكاتب أرسل تقرير نشر 19 فبراير 2023 كيف يمكن تعديل الكود لإستخدام صوره من pc وليس من مكتبة PIL اقتباس
0 Mustafa Suleiman نشر 20 فبراير 2023 أرسل تقرير نشر 20 فبراير 2023 بتاريخ 6 ساعة قال إيمان مجدي سليمان: كيف يمكن تعديل الكود لإستخدام صوره من pc وليس من مكتبة PIL يمكنك إضافة مسار الصورة على على حاسوبك داخل القوسين في الكود السابق، وللحصول على مسار الصورة أو أي ملف يمكنك الضغط بزر الفأرة الأيمن على الصورة أو الملف ثم إختيار copy as path. im = Image.open('C:/Users/titanic/Desktop/photo/50.jpg') اقتباس
السؤال
إيمان مجدي سليمان
from PIL import Image
from PIL import ImageStat
import cv2
import numpy as np
im = Image.open('C:/Users/titanic/Desktop/photo/50.jpg',cv2.IMREAD_COLOR)
stat = ImageStat.Stat(im)
avg = stat.mean
total = sum(avg)
red_percentage = avg[0]/total * 100
green_percentage = avg[1]/total * 100
blue_percentage = avg[2]/total * 100
print("Red: %f%%, Green: %f%%, Blue: %f%%" % (red_percentage, green_percentage, blue_percentage))
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.