ปรับคอนทราสต์ ความสว่าง และแกมม่าของภาพใน C#

คอนทราสต์), ความสว่าง และ แกมมา เป็นคุณลักษณะยอดนิยมที่ใช้ในการปรับแต่งภาพ ค่าต่างๆ ของแอตทริบิวต์เหล่านี้ถูกตั้งค่าเพื่อควบคุมและปรับปรุงรูปลักษณ์ของรูปภาพ ในบทความนี้ เราจะแสดงวิธีปรับคอนทราสต์ ความสว่าง และแกมมาของรูปภาพโดยใช้โปรแกรมใน C# คุณสามารถใช้สิ่งนี้เพื่อใช้ความสามารถในการแก้ไขรูปภาพจากภายในแอปพลิเคชัน .NET ของคุณ

C# API เพื่อปรับคอนทราสต์ ความสว่าง และแกมมาของภาพ

Aspose.Imaging for .NET คือ API การประมวลผลภาพที่มีประสิทธิภาพและเต็มไปด้วยฟีเจอร์สำหรับแพลตฟอร์ม .NET/.NET Standard รองรับการจัดการรูปแบบภาพที่หลากหลายโดยไม่ต้องเขียนโค้ดที่ซับซ้อน เราจะใช้ API นี้เพื่อปรับคอนทราสต์ ความสว่าง และแกมมาของรูปภาพใน C# คุณสามารถ ดาวน์โหลด API หรือติดตั้งลงในแอปพลิเคชัน .NET ของคุณโดยใช้ NuGet

PM> Install-Package Aspose.Imaging

ปรับความคมชัดของรูปภาพใน C#

ความคมชัดหมายถึงความแตกต่างของความเข้มของพิกเซล ค่าของมันถูกปรับเพื่อทำให้วัตถุในภาพมองเห็นและแยกแยะได้มากขึ้น ด้วยความเปรียบต่างสูง วัตถุทุกชิ้นในภาพจะดูชัดเจนมากเหมือนกับภาพที่ถ่ายกลางแสงแดด ในขณะที่มีคอนทราสต์ต่ำ คุณแทบจะไม่สามารถแยกความแตกต่างของวัตถุได้เหมือนกับในสภาพอากาศที่มีหมอก

มาดูวิธีปรับคอนทราสต์ของรูปภาพใน C# โดยใช้ Aspose.Imaging for .NET

  • ขั้นแรก โหลดภาพโดยใช้คลาส Image
  • จากนั้นส่งวัตถุไปที่ประเภท RasterImage
  • ภาพแคชหากไม่ได้ใช้เมธอด RasterImage.CacheData()
  • ปรับคอนทราสต์ในช่วง [-100, 100] โดยใช้วิธี RasterImage.AdjustContrast(float)
  • สุดท้าย บันทึกภาพผลลัพธ์โดยใช้เมธอด RasterImage.Save(string)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการปรับคอนทราสต์ของรูปภาพใน C#

// โหลดรูปภาพในอินสแตนซ์ของรูปภาพ
using (Image image = Image.Load("image.png"))
{
    // แคสต์เป็นภาพแรสเตอร์
    RasterImage rasterImage = (RasterImage)image;

    // Cache RasterImage เพื่อประสิทธิภาพที่ดีขึ้น
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // ปรับความคมชัด
    rasterImage.AdjustContrast(30);             

    // บันทึกภาพ
    image.Save("image-updated-contrast.png");
}

ต่อไปนี้เป็นการเปรียบเทียบภาพอินพุตและเอาต์พุตหลังจากเพิ่มค่าคอนทราสต์

ปรับความคมชัดของรูปภาพใน C#

ปรับคอนทราสต์ของภาพ

ปรับความสว่างของรูปภาพใน C#

แอตทริบิวต์ความสว่างมักจะควบคุมการมองเห็นของวัตถุในภาพ ค่าของมันถูกปรับเพื่อเพิ่มหรือลดความมืด ต่อไปนี้เป็นขั้นตอนในการปรับเปลี่ยนความสว่างของรูปภาพใน C#

  • ขั้นแรก โหลดรูปภาพโดยใช้คลาส Image
  • ส่งวัตถุไปที่ประเภท RasterImage
  • ภาพแคชหากไม่ได้ใช้เมธอด RasterImage.CacheData()
  • ปรับความสว่างของภาพโดยใช้วิธี RasterImage.AdjustBrightness(float)
  • สุดท้าย บันทึกภาพผลลัพธ์โดยใช้เมธอด RasterImage.Save(string)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีปรับความสว่างของรูปภาพใน C#

// โหลดรูปภาพในอินสแตนซ์ของรูปภาพ
using (Image image = Image.Load("image.png"))
{
    // แคสต์เป็นภาพแรสเตอร์
    RasterImage rasterImage = (RasterImage)image;

    // Cache RasterImage เพื่อประสิทธิภาพที่ดีขึ้น
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // ปรับความสว่าง
    rasterImage.AdjustBrightness(70);

    // บันทึกภาพ
    image.Save("image-updated-bightness.png");
}

ต่อไปนี้คือการเปรียบเทียบภาพอินพุตและเอาต์พุตหลังจากปรับความสว่างแล้ว

ปรับความสว่างของรูปภาพใน C#

ปรับความสว่างของภาพ

แก้ไข Gamma ของรูปภาพใน C#

แอตทริบิวต์แกมมาใช้เพื่อแก้ไขอัตราส่วนของสีแดง เขียว และน้ำเงินในรูปภาพ นอกจากนี้ยังปรับเปลี่ยนความสว่างของภาพ ต่อไปนี้เป็นขั้นตอนในการเปลี่ยนค่าแกมมาของรูปภาพใน C#

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการปรับแกมมาของรูปภาพใน C#

// โหลดรูปภาพในอินสแตนซ์ของรูปภาพ
using (Image image = Image.Load("image.png"))
{
    // แคสต์เป็นภาพแรสเตอร์
    RasterImage rasterImage = (RasterImage)image;

    // Cache RasterImage เพื่อประสิทธิภาพที่ดีขึ้น
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // ปรับแกมมา
    rasterImage.AdjustGamma(2.2f, 2.2f, 2.2f);

    // บันทึกภาพ
    image.Save("image-updated-gamma.png");
}

ต่อไปนี้เป็นการเปรียบเทียบภาพอินพุตและเอาต์พุตหลังจากปรับค่าแกมม่าแล้ว

ปรับ Gamma ของรูปภาพใน C#

ปรับ Image Gamma

รับใบอนุญาต API ฟรี

คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อใช้ Aspose.Imaging for .NET โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีปรับคอนทราสต์ ความสว่าง และแกมมาของรูปภาพใน C# นอกจากนี้ ตัวอย่างโค้ดยังแสดงให้เห็นว่าภาพมีลักษณะอย่างไรหลังจากปรับเปลี่ยนคอนทราสต์ ความสว่าง และแกมมา ในกรณีที่คุณต้องการสำรวจเพิ่มเติมเกี่ยวกับ API การประมวลผลภาพ .NET โปรดไปที่ เอกสารประกอบ นอกจากนี้ ดาวน์โหลดตัวอย่างซอร์สโค้ดทั้งหมดของ API จาก GitHub หากคุณมีคำถามหรือข้อสงสัย ติดต่อเราได้ที่ ฟอรัม

ดูสิ่งนี้ด้วย