Tạo ảnh âm bản (negative image)

(cập nhật ngày 14/05/2013)

Để 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.dll, Emgu.CV.UI.dll, Emgu.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].

[code language=”csharp”]
public Image<Gray, Byte> tGrayNegative(Image<Gray, Byte> image)
{
Image<Gray, Byte> ResultImage = new Image<Gray, Byte>(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;
}
[/code]

FacebookMessenger

Leave a Reply