המרת תמונה לגווני אפור C#

במקרים שונים, ייתכן שתצטרכו להמיר את התמונות הצבעוניות לגווני אפור או שחור-לבן, כגון, בעיבוד תמונה וכדומה. לכן, במאמר זה, תלמדו כיצד להמיר תמונה לגווני אפור ב-C#. יתרה מזאת, המאמר יעסוק בקנה מידה אפור ובינאריזציה של תמונות במפורש.

ממיר C# לגווני אפור - הורדה חינם

כדי להמיר תמונות צבעוניות RGB לגווני אפור, נשתמש ב-Aspose.Imaging for .NET. זהו ממשק API רב עוצמה לעיבוד תמונה המאפשר לך לתפעל פורמטים פופולריים של תמונות בצורה חלקה. אתה יכול להוריד את ה-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");
}

בינאריזציה עם Otsu Threshold

להלן השלב להמרת תמונה לשחור ולבן עם סף 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# המרת תמונה לגווני אפור עם רישיון חינם

אתה יכול לקבל רישיון זמני בחינם ולהמיר תמונות לגווני אפור ללא מגבלות הערכה.

סיכום

במאמר זה, למדת כיצד להמיר תמונה לגווני אפור ושחור לבן באמצעות C#. יתר על כן, ראית כיצד להחיל בינאריזציה על התמונות עם סף קבוע או Otsu. יתר על כן, אתה יכול לחקור יותר על ה-API לעיבוד תמונה של C# באמצעות תיעוד. כמו כן, אתה יכול לשתף אותנו בשאילתות שלך דרך הפורום שלנו.

ראה גם