RisalDash RisalDash

دليل · ESP32-CAM · كاميرا

كيف تُخرج صورًا جيّدة من ESP32-CAM

يجمع ESP32-CAM بين ESP32 وكاميرا OV2640 بدقّة 2 ميغابكسل بدولارات قليلة — لكنّ إعدادًا سيّئًا يعطيك صورًا ضخمة وضبابية وبطيئة الإرسال. ثلاثة إعدادات تحسم كل شيء: صيغة البكسل، وجودة JPEG، وframesize. إليك ما يفعله كلٌّ منها والقيم التي تعمل ببساطة لـ Telegram وGoogle Drive ولوحة ويب.

ESP32-CAMOV2640كاميراJPEGESP32
إعدادات صورة ESP32-CAM / OV2640: صيغة البكسل وجودة JPEG وframesize
الصيغة والجودة والدقّة — ثلاثة أسطر إعداد تحسم الحجم والوضوح والسرعة.

١. صيغة البكسل — استعمل JPEG

يستطيع OV2640 إخراج صيغ خام، لكن على ESP32 الشحيح في الذاكرة هذا فخّ. إطار RGB565 أو YUV422 الخام غير مضغوط — صورة 800×600 تقارب الميغابايت، لا تتّسع بأريحية ولا تُرسَل بسرعة. يضغطها JPEG عتاديًّا إلى كسر من الحجم — فهو الخيار المعقول الوحيد لأيّ شيء تخزّنه أو ترسله عبر Wi-Fi.

الصيغةالضغطالحجماستعملها لـ
JPEGعالٍ (عتاديّ)صغيرTelegram وDrive والويب — كل شيء تقريبًا
RGB565لا (خام)كبيرمعالجة على الجهاز / شاشة
YUV422لا (خام)كبيرمعالجة الألوان، التحويل
Grayscaleمنخفضمتوسّطرؤية بسيطة / كشف الوجوه

في الكود سطر واحد: config.pixel_format = PIXFORMAT_JPEG;

٢. جودة JPEG — قرص 0–63

على نحوٍ مربك، jpeg_quality هو في الحقيقة رقم ضغط: الأقلّ يعني جودة أفضل وملفًّا أكبر، والأعلى يعني ضغطًا أكثر وأصغر وأكثر ضبابية. المدى 0–63.

مقايضة jpeg_quality: قيمة أقلّ = أفضل وأكبر، أعلى = أسوأ وأصغر
القيمةالجودةملاحظات
5حادّة جدًّا ★★★★★تفاصيل رائعة، ملفّ كبير
10حادّة ★★★★جودة جيّدة، ما زال كبيرًا — موصى به
12متوازنة ★★★جودة متوازنة، حجم متوسّط
20موفّرة ★★الجودة تنخفض، ملفّ صغير
30+ضغط عالٍ ★جودة منخفضة، ملفّ ضئيل

النقطة المثلى: الجودة 10–12 — جميلة وبحجم معقول. (على لوحات كثيرة تتطلّب القيم المنخفضة جدًّا 0–4 وجود PSRAM، وإلّا يفشل الالتقاط.)

٣. Framesize — الدقّة

يبلغ سقف OV2640 1600×1200 (UXGA، 2 ميغابكسل)، لكن الأكبر ليس دومًا أفضل: كل خطوة تضاعف حجم الملفّ وزمن الإرسال. اختر أصغر دقّة تُظهر ما تحتاجه.

أحجام إطار OV2640 بالمقياس: QVGA وVGA وSVGA وXGA وSXGA وUXGA
الوضعالدقّةالبكسلاتمناسب لـ
QQVGA160×12019٬200ضئيل، توفير النطاق
QVGA320×24076٬800مراقبة خفيفة
CIF400×296118٬400متوازن
VGA640×480307٬200مراقبة لحظية قياسية
SVGA800×600480٬000الخيار لـ Telegram وDrive
XGA1024×768786٬432تفاصيل أكثر
SXGA1280×10241٬310٬720صور مفصّلة
UXGA1600×12001٬920٬000أقصى دقّة (2 ميغابكسل)

الإعداد الذي يعمل ببساطة

اجمعها فتحصل على صورة صغيرة وحادّة وسريعة الإرسال — إعداد ESP32-CAM اليوميّ:

#include "esp_camera.h"

camera_config_t config;
// ... pin config for your ESP32-CAM board ...
config.pixel_format = PIXFORMAT_JPEG;    // compressed -> small & fast to send
config.frame_size   = FRAMESIZE_SVGA;    // 800x600 — the IoT sweet spot
config.jpeg_quality = 10;                // 0..63, lower = better (and bigger)
config.fb_count     = 1;                 // one frame buffer — saves RAM

esp_camera_init(&config);

ثم اضبط حسب المهمّة: صور مفصّلة → UXGA + جودة 10؛ Telegram / Google Drive → SVGA + جودة 10 (الأفضل لكل الأغراض)؛ مراقبة سريعة → VGA + جودة 12. الدقّة الأكبر تفاصيل أكثر لكن ملفّ أكبر وإرسال أطول. وتذكّر: يحتاج OV2640 إلى ESP32 مع PSRAM لتخزين الإطارات الأكبر مؤقّتًا.

تريد عرض البثّ حيًّا؟ قدّمه من اللوحة في لوحة ويب.