Thứ Ba, 15 tháng 4, 2014

Tạo ảnh âm bản với EMGU

Để tạo ảnh âm bản, ta dùng hàm đảo ngược độ sáng (intensity) của ảnh gốc.
s = T(r) = L − 1 − r
negative image transformation function
trong đó các mức độ sáng (intensity) của ảnh gốc nằm trong đoạn [0, L−1]
Cách xử lí này nhằm tăng cường các chi tiết trắng hoặc xám nằm trong các vùng tối của ảnh, nhất là khi các vùng đen chiếm diện tích nhiều hơn.
Chuẩn bị
  • MS Visual Studio 2010, C#
  • EmguCV 2.4.2
Thực hiện
Add reference các file Emgu.CV.dllEmgu.CV.UI.dllEmgu.Util.dll.
Khai báo trong code
using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.Util;
Hàm tGrayNegative sau đây có tham số truyền vào là ảnh xám (grayscale), kết quả trả về là ảnh âm bản, cũng là ảnh xám có mức độ màu (intensity level) nằm trong đoạn [0, 255].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public Image tGrayNegative(Image image)
{
    Image ResultImage = new Image(image.Width, image.Height);
    for (int r = 0; r < image.Height; r++)
    {
        for (int c = 0; c < image.Width; c++)
        {
            ResultImage.Data[r, c, 0] = Convert.ToByte(255 - image.Data[r, c, 0]);
        }
    }
    return ResultImage;
}

Không có nhận xét nào:

Đăng nhận xét