Áp dụng Bộ lọc Trung vị và Wiener cho Hình ảnh trong C#

Chỉnh sửa hình ảnh được sử dụng trong các ứng dụng khác nhau để chỉnh sửa hình ảnh để xử lý thêm. Chúng tôi đã viết một loạt blog, tức là cắt xén, xoay, làm mờ, v.v., rất hữu ích để bạn triển khai các tính năng chỉnh sửa hình ảnh trong ứng dụng của mình. Trong bài viết này, chúng tôi sẽ giới thiệu cho bạn cách áp dụng các bộ lọc trung vị và trung bình, thường được sử dụng để khử nhiễu và làm mịn hình ảnh. Vì vậy, chúng ta hãy xem làm thế nào để áp dụng trình tập tin trung bình và wiener cho một hình ảnh theo lập trình trong C#.

API C# để áp dụng bộ lọc hình ảnh trung bình và Wiener - Tải xuống miễn phí

Aspose.Imaging for .NET là một API tuyệt vời để triển khai các tính năng chỉnh sửa hình ảnh trong các ứng dụng .NET. Chúng tôi sẽ sử dụng API này để áp dụng bộ lọc trung bình và bộ lọc trung bình trên hình ảnh. Bạn có thể tải xuống API hoặc cài đặt nó từ NuGet.

PM> Install-Package Aspose.Imaging

Áp dụng Bộ lọc Trung vị cho Hình ảnh trong C#

Bộ lọc trung vị là một kỹ thuật lọc kỹ thuật số phi tuyến, được sử dụng để giảm nhiễu từ hình ảnh. Sau đây là các bước để áp dụng bộ lọc trung vị cho hình ảnh trong C#.

Mẫu mã sau đây cho thấy cách áp dụng bộ lọc trung vị cho hình ảnh trong C#.

// Tải hình ảnh nhiễu 
using (Image image = Image.Load("jack.jpg"))
{
    // Chuyển hình ảnh vào RasterImage
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // Tạo một phiên bản của lớp MedianFilterOptions và đặt kích thước
    MedianFilterOptions options = new MedianFilterOptions(4);
    
    // Áp dụng bộ lọc và lưu hình ảnh
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_median.jpg");
}

Dưới đây là hình ảnh trước và sau khi áp dụng bộ lọc trung vị.

Áp dụng Bộ lọc Trung vị cho Hình ảnh C#

Áp dụng Bộ lọc Gauss Wiener cho một hình ảnh trong C#

Một phương pháp thường được sử dụng khác để giảm thiểu nhiễu phụ gia và làm mờ trong ảnh là gauss wiener. Sau đây là các bước để áp dụng bộ lọc gauss wiener cho hình ảnh trong C#.

Mẫu mã sau đây cho thấy cách áp dụng bộ lọc gauss wiener cho hình ảnh trong C#.

// Tải hình ảnh nhiễu 
using (Image image = Image.Load("jack.jpg"))
{
    // Chuyển hình ảnh vào RasterImage
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // Tạo một phiên bản của lớp GaussWienerFilterOptions và đặt kích thước bán kính và giá trị mịn
    GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3);
    options.Grayscale = true;

    // Áp dụng bộ lọc MedianFilterOptions cho đối tượng RasterImage và lưu hình ảnh kết quả
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_guass.jpg");
}

Dưới đây là hình ảnh trước và sau khi áp dụng bộ lọc gauss wiener với tùy chọn thang độ xám.

Áp dụng bộ lọc Gauss Weiner để bôi trơn hình ảnh

Sau đây là hình ảnh trước và sau khi áp dụng bộ lọc gauss wiener mà không tạo cặn xám.

Áp dụng bộ lọc màu Gauss Weiner cho hình ảnh

Áp dụng Bộ lọc Motion Wiener cho Hình ảnh trong C#

Bộ lọc làm mờ chuyển động được sử dụng để loại bỏ hiện tượng nhòe của hình ảnh được tạo ra do các đối tượng chuyển động. Sau đây là các bước để áp dụng bộ lọc chuyển động cho ảnh trong C#.

Mẫu mã sau đây cho thấy cách áp dụng bộ lọc chuyển động cho hình ảnh trong C#.

// Tải hình ảnh nhiễu 
using (Image image = Image.Load("jack.jpg"))
{
    // Chuyển hình ảnh vào RasterImage
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // Tạo một phiên bản của lớp MotionWienerFilterOptions và đặt chiều dài, giá trị mịn và góc
    MotionWienerFilterOptions options = new MotionWienerFilterOptions(50, 9, 90);
    options.Grayscale = true;

    // Áp dụng bộ lọc MedianFilterOptions cho đối tượng RasterImage và lưu hình ảnh kết quả
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_MotionWiener.jpg");
}
Áp dụng Bộ lọc Weiner chuyển động cho hình ảnh trong C#

API lọc hình ảnh trung bình của C# và Wiener - Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí và áp dụng bộ lọc trung bình và bộ lọc trung bình cho hình ảnh mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, bạn đã học cách áp dụng các bộ lọc trung vị và trung vị cho hình ảnh trong C#. Hơn nữa, chúng tôi đã đề cập đến cách giảm nhiễu của các đối tượng chuyển động trong ảnh. Bạn có thể dễ dàng sử dụng các tính năng này trong ứng dụng C# của mình để tích hợp khả năng chỉnh sửa hình ảnh.

Đọc thêm

Bạn có thể khám phá thêm về API xử lý hình ảnh .NET bằng cách sử dụng tài liệu. Ngoài ra, bạn có thể chia sẻ các thắc mắc của mình với chúng tôi qua diễn đàn của chúng tôi.

Xem thêm