Mục lục
1
I. Phát biểu bài toán
Hiện nay phần lớn lượng thông tin con người thu vào là dưới dạng hình
ảnh.Thông tin dưới dạng hình ảnh là thông tin trực quan nên con người dễ dàng
tiếp nhận nó.Với sự ra đời của nhiều máy móc kỹ thuật hiện đại như máy ảnh
số,máy quay số,các máy thu hình,máy vi tính … thì lượng thông tin con người
thu được càng nhiều.Con người không chỉ muốn tiếp thu thông tin một cách thụ
động mà phải biết xử lý nó,làm cho nó hữu ích hơn.Do đó con người đã tiến
hành nghiên cứu các phương pháp xử lý trên thông tin trực quan này để chúng
ta có thể tiếp nhận tối đa lượng thông tin trực quan này .Việc xử lý ảnh số đã ra
đời với nhiều hướng phát triển khác nhau như nén ảnh,nhận dạng,giấu tin …
Trong xử lý ảnh ,sau quá trình thu nhận ảnh là quá trình phân tích ảnh,mà
thực chất bao gồm nhiều công đoạn nhỏ như : Tăng cường ảnh,phát hiện các
đặc tính như biên,phân vùng ảnh … Do những nguyên nhân như chất lượng
máy thu nhận ảnh ,do nguồn sáng hay nhiễu,ảnh có thể bị suy yếu đi các đặc
trưng mà ta quan tâm.Do vậy cần tăng cường và khôi phục ảnh để làm nổi bật
các đặc trưng của ảnh mà ta quan tâm.Tăng cường ảnh bao gồm nhiều phương
pháp và xử lý điểm ảnh là một trong những cách được khá nhiều người sử
dụng.Với các phương pháp như thay đổi độ tương phản,tạo ảnh âm bản,phân
ngưỡng …đã tạo ra hiệu quả có giá trị trong thực tế.
Với đề bài “ Tìm hiểu các phương pháp xử lý điểm ảnh như thay đổi độ
tương phản ,tạo ảnh âm bản và phân ngưỡng ảnh.Thử nghiệm trên ảnh
màu 24 bít.” Em đã tập trung làm rõ và cài đặt các phương pháp trên đối với
ảnh màu 24 bít.
Trong quá trình làm bài tập không thể tránh được những sai sốt.Em rất mong
thầy xem xét và góp ý để cho em có nhiều kinh nghiệm hơn trong môn xử lý
ảnh.
Em xin chân thành cảm ơn!
2
II. Hướng giải quyết
tuyến tính hay hàm mũ, hàm logarit).
Công thức :
( )
<
≤≤+
−
−
−
<
=
),(,
,),(,
),(
.
,),(,
),(
max
minminmax
min
yxfaL
ayxfaL
aa
ayxf
Với: L
min
≤ f(x,y) ≤ L
max
3. Phân ngưỡng ảnh
Công thức:
<
<
=
),(,
,),(,
),(
max
min
yxfL
yxfL
yxg
θ
θ
4
Ảnh đầu ra chỉ có 2 mức: thấp và cao.
Ngưỡng θ trong kỹ thuật tách ngưỡng thường được cho bởi người sử
dụng. Kỹ thuật tách ngưỡng tự động nhằm tìm ra ngưỡng θ một cách tự
động dựa vào histogram theo nguyên lý trong vật lý là vật thể tách làm 2
phần nếu tổng độ lệnh trong từng phần là tối thiểu.
Giả sử, ta có ảnh I ~ kích thước m × n
G ~ là số mức xám lớn nhất của ảnh
/// <returns></returns>
public static int ContrastStretching(int
value_pixel,int a_low,int a_high,int L_min,int
L_max)
{
int temp_pixel;
if (value_pixel <= a_low)
{
temp_pixel = L_min;
}
else if (a_high <= value_pixel)
{
temp_pixel = L_max;
}
else
{
temp_pixel = Convert.ToInt32((L_max -
L_min) *(value_pixel - a_low) / (a_high
- a_low) + L_min);
}
return temp_pixel;
}
/// <summary>
/// Tao anh am ban
/// </summary>
6
/// <param name="value_pixel">gia tri diem
anh</param>
/// <param name="L_max">gia tri diem anh lon
nhat</param>
/// <param name="bmp">mảng điểm ảnh</param>
/// <param name="amax">giá trị mức xám lớn
nhất</param>
/// <param name="amin">giá trị mức xám nhỏ
nhất</param>
/// <param name="w">chiều dài</param>
/// <param name="h">chiều cao</param>
/// <returns>giá trị ngưỡng</returns>
public static int AutoThreshold(int[,] bmp, int
amax, int amin, int w, int h)
{
int[] hg = new int[256];
int[] tg = new int[256];
double[] mg = new double[256];
double[] fg = new double[256];
for (int g = amin; g <= amax; g++)
{
hg[g] = 0;
}
//Tim a_max,a_min cho tung thanh phan mau
RGB
for (int i = 0; i < w; i++)
for (int j = 0; j < h; j++)
{
for (int g = amin; g <= amax; g++)
{
if (bmp[i, j] == g)
{
//so diem anh co muc xam g
hg[g]++;
double fgmax = 0;
for (int g = amin; g < amax; g++)
{
if (fg[g] > fgmax)
{
fgmax = fg[g];
g1 = g;
}
}
return g1;
}
}
V. Kết quả
Tăng độ tương phản:
9
Âm bản :
Phân ngưỡng :
10
11