ForHosting KIT · تحرير الصور وتحليلها

احسب المدرج التكراري لكل قناة في الصورة

احسب كيف تتوزع قيم القناة على فئات متساوية العرض. مع الفئات الست عشرة الافتراضية تقع القيم من 0 إلى 15 في الأولى، ومن 16 إلى 31 في الثانية، ومن 240 إلى 255 في الأخيرة، ويُعدّ كل بكسل مرة واحدة. مجاني في متصفحك.

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا

تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم

تحوّل حاسبة المدرج التكراري للصورة قيم البكسل المفصولة حسب القناة إلى توزيعات تكرارية موجزة. أدخل قناة مسماة واحدة أو أكثر، واختر عدد الفئات، لتحصل على مصفوفة مرتبة من الأعداد لكل قناة. تفيد هذه الأداة عندما تكون الصورة قد فُك ترميزها وتحتاج إلى إحصاءات قابلة للتكرار من دون رفع الملف الأصلي أو إعادة ترميزه. تُفحص كل قيمة ضمن نطاق 8 بت، ويُحتسب كل بكسل في فئة واحدة بالضبط، وتُرفض قائمة البكسلات الفارغة بدل إنتاج نتيجة مضللة كلها أصفار.

جهّز قيم القنوات المسماة

قدّم البكسلات التي فُك ترميزها في مصفوفة channels. يجب أن يحتوي كل عنصر على اسم قناة فريد ومصفوفة values تضم قيم شدة صحيحة من 0 إلى 255. الأسماء red وgreen وblue وalpha وgray شائعة، لكن الحاسبة لا تفرض نموذج ألوان محددًا؛ إذ يمكن استخدام أي مكوّن يعمل ضمن نطاق 8 بت نفسه.

لا يؤثر ترتيب القيم في المدرج التكراري لأن التكرار وحده هو المهم. يجب أن تحتوي كل قناة على قيمة بكسل واحدة على الأقل. يُرفض الطلب إذا كانت قائمة القنوات أو إحدى مصفوفات values فارغة، أو كان الاسم مفقودًا أو مكررًا، أو كانت القيمة كسرية أو خارج النطاق.

تمنع هذه الفحوص أن تبدو البيانات الناقصة كتوزيع صالح.

افهم طريقة توزيع القيم على الفئات

اختر عددًا صحيحًا من الفئات بين 1 و256، أو اترك الحقل لتُستخدم 16 فئة تلقائيًا. يُقسّم نطاق الشدة الكامل ذي 8 بت إلى فترات متساوية العرض تبدأ من 0 وتنتهي عند 255. عند اختيار 16 فئة، تعدّ الأولى القيم من 0 إلى 15، والثانية من 16 إلى 31، والأخيرة من 240 إلى 255.

وبصورة عامة، يساوي رقم الفئة الجزء الصحيح الأدنى من قيمة البكسل مضروبة في عدد الفئات ومقسومة على 256. تُحفظ النهاية العليا صراحة في الفئة الأخيرة، لذلك لا تضيع القيمة 255 خارج المصفوفة. يبقى هذا التعريف حتميًا حتى عندما لا يقسم عدد الفئات المختار العدد 256 بالتساوي.

اقرأ النتيجة وقارنها وتحقق منها

يمثل الموضع الأول دائمًا الفترة الأشد ظلمة والأخير الفترة الأشد سطوعًا، مما يسهّل رسم المصفوفات أو مقارنتها. يلخص المدرج التكراري التردد ولا يحفظ الترتيب المكاني، لذلك قد تكون لصورتين مختلفتين بصريًا النتيجة نفسها. كما أن الأداة لا تفك ترميز الملفات، ولا تستنتج فضاء الألوان، ولا تضبط التعريض، ولا تدمج القنوات.

فك ترميز المصدر أولًا ثم استخدم هذه القدرة لمرحلة العد.

مقارنة توزيعات قنوات الألوان

أنشئ أعدادًا بالفئات نفسها للأحمر والأخضر والأزرق قبل قياس الاختلاف بين صورتين فُك ترميزهما.

اكتشاف أطراف التعريض

افحص الفئتين الأولى والأخيرة لتحديد القنوات التي تهيمن عليها الظلال أو المناطق الساطعة.

التحقق من مسار معالجة الصور

سجّل مدرجات تكرارية حتمية قبل التحويل وبعده لاكتشاف تغيرات لونية غير متوقعة.

ما تكلفة الاستخدام؟

ويمكن إجراء الحساب الحتمي نفسه في المتصفح أيضًا.

ما قيم البكسل المقبولة؟

يجب أن تكون كل قيمة عددًا صحيحًا من 0 إلى 255، بما يوافق قناة صورة ذات 8 بت.

ماذا يحدث إذا كانت قائمة البكسلات فارغة؟

يفشل الطلب برسالة إدخال غير صالح، ولا تنتج القائمة الفارغة مدرجًا تكراريًا مملوءًا بالأصفار.

كيف توزّع القيم إذا لم يقسم عدد الفئات 256؟

يُحسب الرقم بأخذ الجزء الصحيح الأدنى من value مضروبة في bins ومقسومة على 256، مع إبقاء 255 في الفئة الأخيرة.

هل تفك الأداة ترميز ملفات PNG أو JPEG أو WebP؟

لا. يجب تقديم قيم بكسل فُك ترميزها مسبقًا ونُظمت في مصفوفات قنوات مسماة.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/image/histogram

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/image/histogram \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"channels":[{"channel":"red","values":[0,15,16,127,128,240,255]},{"channel":"green","values":[0,64,64,128,192,255]}]}'
{
  "channels": [
    {
      "channel": "red",
      "values": [
        0,
        15,
        16,
        127,
        128,
        240,
        255
      ]
    },
    {
      "channel": "green",
      "values": [
        0,
        64,
        64,
        128,
        192,
        255
      ]
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "image.histogram",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

max_channels16
max_values_per_channel1000000
HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

جهّز قيم القنوات المسماة

يمكن تقديم ما يصل إلى ست عشرة قناة ومليون قيمة لكل قناة، وبذلك يظل التنفيذ في المتصفح وعبر API محدود الموارد.

افهم طريقة توزيع القيم على الفئات

يزيد كل بكسل عدادًا واحدًا فقط، ولذلك يساوي مجموع العدادات في القناة قيمة pixel_count الخاصة بها.

اقرأ النتيجة وقارنها وتحقق منها

تعرض الاستجابة العدد المختار في bins، والحدين الثابتين value_min وvalue_max، وكائن مدرج تكراري لكل قناة إدخال. يحتفظ كل كائن باسم القناة، ويعرض pixel_count، ويعيد counts مرتبة تصاعديًا حسب الشدة. اجمع عناصر counts وتأكد من أن الناتج يساوي pixel_count؛ تضمن الخوارزمية هذه الخاصية، وقد يكشف التحقق فقدان بيانات في مرحلة أخرى من مسار العمل. تبقى البيانات محلية في المتصفح، وتبلغ كلفة أتمتة API مقدار $0.002 لكل طلب.

هل يمكن أن تختلف أعداد البكسلات بين القنوات؟

نعم. تُعد كل قناة بصورة مستقلة وتعرض قيمة pixel_count الخاصة بها.

اطّلع على توثيق KIT الكامل ←