Ali Ahmed55 نشر 17 مارس أرسل تقرير نشر 17 مارس السلام عليكم هو حفظ الصور بستخدم الداله دي cv2.imwrite() افضل من الداله دي plt.savefig() من حيث جود الصور والدقه ؟ 2 اقتباس
0 Mustafa Suleiman نشر 17 مارس أرسل تقرير نشر 17 مارس cv2.imwrite() خاصة بمعالجة الصور في مكتبة OpenCV، وذلك لحفظها كملفات صور بصيغ (JPG، PNG) مباشرة من مصفوفات NumPy التي تمثل الصورة، وتُركز على كفاءة حفظ الصور مع دعم ضغط اختياري، أي تستطيع تمرير صيغة JPG، للتحكم في الجودة باستخدام المعامل cv2.IMWRITE_JPEG_QUALITY وتحديد قيمة من 0 إلى 100، حيث 100 تعني أعلى جودة. أو صيغة PNG، للضغط بدون فقدان في الجودة lossless compression من خلال معامل cv2.IMWRITE_PNG_COMPRESSION. بينما plt.savefig() هي من مكتبة Matplotlib لحفظ المخططات أو الرسوم البيانية كالرسومات التخطيطية أو الصور المعروضة باستخدام plt.imshow()، أي تتعامل مع الرسومات ثنائية الأبعاد وتحويلها إلى صور أو ملفات متجهة (PDF أو SVG) تحافظ على التفاصيل عند التكبير مع خيارات تحكم في الدقة. بالتالي الاستخدام المُختلف ولا يصح المقارنة بينهم. 1 اقتباس
0 محمد عاطف17 نشر 17 مارس أرسل تقرير نشر 17 مارس الاختيار بين دالة cv2.imwrite() ودالة plt.savefig() يعتمد على سياق استخدامك وجودة الصورة التي ترغب في حفظها. حيث دالة cv2.imwrite() هي الأنسب عند العمل مع معالجة الصور باستخدام OpenCV وتدعم تنسيقات صور متنوعة مثل JPEG و PNG و TIFF وغيرها. وعند حفظ الصور باستخدام cv2.imwrite()، يمكنك تحديد المعاملات الخاصة بالضغط وجودة الصورة مثل quality في JPEG للحصول على صورة بدقة أعلى أو منخفضة حسب الحاجة حيث يوفر لك OpenCV تحكما أكبر في دقة الصورة وجودتها أثناء الحفظ. ويفضل استخدام cv2.imwrite() إذا كانت الصورة هي عبارة عن مصفوفة Numpy. أما savefig() نستخدمها بشكل رئيسي لحفظ الرسوم البيانية أو المخططات التي يتم إنشاؤها باستخدام Matplotlib ورغم أنها تدعم أيضا تنسيقات صور مختلفة مثل PNG وJPEG وPDF وSVG إلا أنها تركز أكثر على الرسوم البيانية والتخطيطات البيانية ولا توفر نفس مستوى التحكم في معالجة الصور كما في OpenCV. 1 اقتباس
0 Ali Ahmed55 نشر 17 مارس الكاتب أرسل تقرير نشر 17 مارس تمام جدا الف شكراا جدا لحضرتكم جزاكم الله كل خير اقتباس
0 ياسر مسكين نشر 17 مارس أرسل تقرير نشر 17 مارس استخدام cv2.imwrite() هو المفضل عادة عندما تحتاج إلى الحفاظ على القيم الدقيقة للبكسل وجودة الصورة الأصلية، لأنه يكتب بيانات الصورة الخام مباشرة إلى الملف دون أي معالجة إضافية أو تنسيق، بينما plt.savefig() مصمّم لحفظ الأشكال الكاملة غالبا مع المحاور والعناوين وعناصر الرسم الأخرى وقد يدخل تعديلات مثل تغيير مقياس DPI، وإضافة الهوامش، أو حتى ظهور آثار ضغط خفيفة يمكن أن تؤثر على الجودة والدقة. 1 اقتباس
السؤال
Ali Ahmed55
السلام عليكم
هو حفظ الصور بستخدم الداله دي cv2.imwrite() افضل من الداله دي plt.savefig() من حيث جود الصور والدقه ؟
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.