تبدیل تصویر به سی شارپ خاکستری

در موارد مختلف ممکن است نیاز به تبدیل تصاویر رنگی به مقیاس خاکستری یا سیاه و سفید داشته باشید، مانند پردازش تصویر و غیره. بنابراین، در این مقاله نحوه تبدیل تصویر به مقیاس خاکستری در سی شارپ را خواهید آموخت. علاوه بر این، این مقاله به طور صریح رنگ خاکستری و دوتایی [تصاویر] را پوشش خواهد داد.

C# API برای تبدیل تصویر به Grayscale - دانلود رایگان

برای تبدیل تصاویر رنگی RGB به مقیاس خاکستری، از Aspose.Imaging for .NET استفاده می کنیم. این یک API پردازش تصویر قدرتمند است که به شما امکان می دهد فرمت های تصویر محبوب را به طور یکپارچه دستکاری کنید. می‌توانید API را دانلود یا با استفاده از NuGet نصب کنید.

PM> Install-Package Aspose.Imaging

تبدیل تصویر به Grayscale در سی شارپ

در زیر مراحل تبدیل یک تصویر رنگی به مقیاس خاکستری در سی شارپ آمده است.

نمونه کد زیر نحوه تبدیل یک تصویر به مقیاس خاکستری با استفاده از 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");
}

تصویر ورودی

تصویر زیر نمونه ای است که در این مقاله استفاده شده است.

تصویر به مقیاس خاکستری سی شارپ

به Grayscale تبدیل شد

تصویر زیر پس از تبدیل به مقیاس خاکستری است.

تصویر خاکستری

تصویر در مقیاس خاکستری در سی شارپ - سیاه و سفید با دوتایی

در باینری سازی، هر پیکسل در یک تصویر می تواند تنها دو مقدار ممکن داشته باشد. 0 یا 1. در اینجا 0 نشان دهنده عدم وجود و 1 نشان دهنده وجود رنگ است. Aspose.Imaging از دو روش باینریزه‌سازی پشتیبانی می‌کند، یعنی دوتایی‌سازی با ثابت و باینری‌سازی با آستانه Otsu.

دودویی سازی با آستانه ثابت در سی شارپ

مراحل زیر برای انجام باینریزه کردن تصویر با استفاده از آستانه ثابت آمده است.

کد سی شارپ زیر باینریزه کردن تصویر را اعمال می کند و آن را به سیاه و سفید تبدیل می کند.

// یک تصویر را در یک نمونه از کلاس 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# به Grayscale - یک مجوز رایگان دریافت کنید

برای استفاده از API بدون محدودیت ارزیابی، می توانید یک مجوز موقت رایگان دریافت کنید.

نتیجه

در این مقاله یاد گرفتید که چگونه با استفاده از سی شارپ یک تصویر را به مقیاس خاکستری و سیاه و سفید تبدیل کنید. علاوه بر این، نحوه اعمال باینریزه کردن تصاویر با آستانه ثابت یا Otsu را دیده اید. علاوه بر این، می‌توانید با استفاده از مستندات درباره API پردازش تصویر C# بیشتر کاوش کنید. همچنین، می توانید سوالات خود را از طریق [تالار گفتمان22 با ما در میان بگذارید.

همچنین ببینید