تحويل الصورة إلى تدرج الرمادي C#

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

C# API لتحويل الصورة إلى تدرج الرمادي - تنزيل مجاني

لتحويل صور RGB الملونة إلى درجات رمادية ، سنستخدم Aspose.Imaging for .NET. إنها واجهة برمجة تطبيقات قوية لمعالجة الصور تتيح لك معالجة تنسيقات الصور الشائعة بسلاسة. يمكنك إما تنزيل API أو تثبيته باستخدام NuGet.

PM> Install-Package Aspose.Imaging

تحويل صورة إلى تدرج الرمادي في C#

فيما يلي خطوات تحويل صورة ملونة إلى درجات رمادية في C#.

يوضح نموذج التعليمات البرمجية التالي كيفية تحويل صورة إلى تدرج الرمادي باستخدام C#.

// قم بتحميل صورة في مثيل لفئة Image
using (Image image = Image.Load("aspose.jpg"))
{
    // قم بإرسال الصورة إلى RasterCachedImage وتحقق مما إذا كانت الصورة مخزنة مؤقتًا
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // صورة ذاكرة التخزين المؤقت إذا لم تكن مخبأة بالفعل
        rasterCachedImage.CacheData();
    }

    // تحويل الصورة إلى تمثيلها بتدرج الرمادي
    rasterCachedImage.Grayscale();
    
    // احفظ الصورة
    rasterCachedImage.Save("grayscaled.jpg");
}

صورة الإدخال

فيما يلي نموذج للصورة المستخدمة في هذه المقالة.

الصورة إلى تدرج الرمادي C#

تم التحويل إلى تدرج الرمادي

فيما يلي الصورة بعد التحويل إلى التدرج الرمادي.

صورة بتدرج الرمادي

صورة بتدرج الرمادي في C# - أبيض وأسود مع ثنائية

في الترميز الثنائي ، يمكن أن يكون لكل بكسل في الصورة قيمتان محتملتان فقط ؛ 0 أو 1. هنا ، يشير 0 إلى الغياب و 1 يشير إلى وجود اللون. Aspose.Imaging يدعم طريقتين للترميز الثنائي ، أي الترميز الثنائي مع الثابت والثنائي مع عتبة Otsu.

الثنائية ذات العتبة الثابتة في C#

فيما يلي خطوات تنفيذ التحويل الثنائي على صورة باستخدام عتبة ثابتة.

يطبق كود C# التالي الترميز الثنائي على صورة ويحولها إلى أبيض وأسود.

// قم بتحميل صورة في مثيل لفئة Image
using (Image image = Image.Load("aspose.jpg"))
{
    // قم بإرسال الصورة إلى RasterCachedImage وتحقق مما إذا كانت الصورة مخزنة مؤقتًا
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // صورة ذاكرة التخزين المؤقت إذا لم تكن مخبأة بالفعل
        rasterCachedImage.CacheData();
    }

    // تحويل الصورة إلى تمثيلها الثنائي
    rasterCachedImage.BinarizeFixed(100);
    
    // احفظ الصورة
    rasterCachedImage.Save("black and white.jpg");
}

ثنائيات C# مع عتبة Otsu

فيما يلي خطوة لتحويل الصورة إلى أبيض وأسود باستخدام عتبة Otsu.

يوضح نموذج الكود التالي كيفية تحويل صورة إلى أبيض وأسود باستخدام عتبة Otsu باستخدام C#.

// قم بتحميل صورة في مثيل لفئة Image
using (Image image = Image.Load("aspose.jpg"))
{
    // قم بإرسال الصورة إلى RasterCachedImage وتحقق مما إذا كانت الصورة مخزنة مؤقتًا
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // صورة ذاكرة التخزين المؤقت إذا لم تكن مخبأة بالفعل
        rasterCachedImage.CacheData();
    }

    // تحويل الصورة إلى تمثيلها الثنائي
    rasterCachedImage.BinarizeOtsu();
    
    // احفظ الصورة
    rasterCachedImage.Save("black and white.jpg");
}

C# Image to Grayscale Converter - احصل على ترخيص مجاني

يمكنك الحصول على ترخيص مؤقت مجاني من أجل استخدام واجهة برمجة التطبيقات دون قيود التقييم.

استنتاج

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

أنظر أيضا