Chủ đề 11.Hitstogram và ứng dụng trong biến đổi nâng cao chất
lượng ảnh
Học viên thực hiện : Nguyễn Đăng Diện
Giáo viên hướng dẫn : TS.Đào Thanh Tĩnh
_________________***__________________
I.Cơ sở lý thuyết
1.Histogram
Histogram(biểu đồ xám) của một bức ảnh biểu thị tần suất xuất hiện của các giá
trị mức xám trong bức ảnh .
Lược đồ này thể hiện trên hệ tọa độ 2 chiều như sau:
Y
Image
4
4
4
4
4
3
3
3
2
3
0
1
2
3
3
1
Pixel intensity
1
2
3
4
5
6
1
2
3
4
5
6
7
x
Hình 1.Ảnh và lược đồ mức xám
Trục X :Mức xám (Thường có giá trị từ 0 tới 255)
Trục Y :Tần suất xuất hiện các mức xám
Từ lược đồ xám có thể đánh giá được một số các tính chất của ảnh như sau:
Độ sáng :
o Histogram dịch về trái (gốc tọa độ) -> ảnh đậm (tối)
o Histogram dịch về phía phải -> ảnh nhạt (sáng).
Độ tương phản :
o Histogram giảm đều(càng rộng) ảnh tương phản cao
o Histogram hẹp(co nhỏ) ảnh tương phản thấp
o Histogram phân bố đều độ tương phản là cực đại
2.Histogram của ảnh màu
Ảnh màu có 3 histogram :
h
R
(i) : Số pixel trong ảnh ứng với màu RED có giá trị i
h
G
(i) : Số pixel trong ảnh ứng với màu GREEN có giá trị i
h
B
(i) : Số pixel trong ảnh ứng với màu BLUE có giá trị i
Minh họa cho histogram của ảnh màu :
Histogram theo giá trị ảnh màu được tính theo histogram của ảnh xám(trung
bình mau của ảnh) :
h
m
(i) = (1/3)*(h
R
(i)+h
G
(i)+h
B
(i))
hoặc :
h
m
(i) = x*h
R
(i)+y*h
G
(i)+z*h
B
(i)) ;(x+y+z=1)
Ta có cách tính histogram như sau :
Int h[256];
for (i=0; i<256; i++)
h[i] = 0;
for (i=0; i<M; i++)
for (j=0; j<N; j++)
{
h[Im[i][j]]++;
}
II.Ứng dụng histogram trong biến đổi nâng cao chất lượng ảnh
1.Cân bằng histogram(histogram equalization)
Trong cân bằng histogram điều ta mong muốn là có được một histogram phân
bố đều của ảnh kết quả.
Tan thực hiện qua các bước sau :
a)Tính biểu đồ xám tích lũy của ảnh gốc :
for(i=0 ;i< 255:i++)
{
htl += h[i];
}
b) Cân bằng các giá trị xám
for(i=0;i<255;i++)
{
hist[i] = htl* (h[i].Length/numpixel) ;
histmoi = int(hist[i]);
}
c)Ứng với mỗi giá trị sáng của ảnh gốc được thay bằng giá trị mới tương ứng.Thu
được ảnh mới như mong muốn
2.Cân bằng 2 histogram(histogram matching)
Nguyên tắc : Làm cho độ sáng của 2 ảnh gần nhau tới mức có thể được.
Phương pháp : Dùng ảnh Equalization làm ảnh trung gian của phép biến đổi
Ảnh A :z=f(x) ; Ảnh B :z=g(y);
Ánh xạ :y=g
-1
(f(x)) biến đổi ảnh A thành ảnh B
Thực hiện :phép biến đổi thông qua ánh xạ”matching” histogram tích lũy của ảnh
A với histogram tích lũy ảnh B.
3. Giãn Histogram(Histogram Stretching )
Khi histogram giãn đều trên toàn giải (0-255) <-> ảnh tương phản cao, và
ngược lại. Vậy từ một ảnh có histogram nhỏ (ảnh có độ tương phản thấp) nếu có
thể thực hiện được việc giãn histogram thì ảnh nhận được sẽ có độ tương phản cao
hơn.
Giả sử ảnh gốc có phân bố mức xám từ G1 đến G2, cần kéo dài đoạn G1G2 tương
ứng với đoạn 0-255.
Một điểm v nào đó trong G1G2 cần biến đổi thành điểm u trong 0-255 sao cho:
2550255
0
12
1 uu
GG
Gv
=
−
−
=
−
−
Công thức tổng quát:
255
12
1),(
),(
×
−
−
=
GG
Gyxv
yxu
trong đó: G1 - Mức xám nhỏ nhất có trong ảnh gốc
G2 - Mức xám lớn nhất có trong ảnh gốc
4. Co Histogram
Ngược lại với giãn histogram ta có thể co histogram của một ảnh, tương đương với
việc giảm độ tương phản của ảnh.
Khi đó cần biến một điểm v nào đó trong đoạn G1-G2 thành điểm u trong đoạn
S1S2.
tương tự trên ta biến đổi sao cho:
12
1
12
1
SS
Su
GG
Gv
−
−
=
−
−
Công thức tổng quát:
1)1),((
12
12
),( SGyxv
GG
SS
yxu
+−×
−
−
=
Trong đó: G1 - Mức xám nhỏ nhất có trong ảnh gốc
G2 - Mức xám lớn nhất có trong ảnh gốc
S1 - Mức xám nhỏ nhất trong ảnh kết quả
S2 - Mức xám lớn nhất trong ảnh kết quả
(Khi: S2-S1 < G2-G1 -> Co histogram
o S2-S1 > G2-G1 -> Giãm histogram, ví dụ: S1=0, S2=255 ).
III.Giải quyết vấn đề
Ngôn ngữ lập trình : C#
Các bước giải quyết
1.Xử lý mở và lưu được các file ảnh(ảnh gốc và ảnh kết quả)
2.Làm việc với ảnh xám:
a.Vẽ được lược đồ mức xám
b.Cân bằng,tăng mức sáng,tăng độ tương phản và tạo lược đồ mức
xám mới
c.Thu ảnh mới.
3.Làm việc với ảnh màu
a.Vẽ được histogram của cả 3 màu R,G,B và gray
b.Cân bằng,tăng mức sáng,tăng độ tương phản và vẽ lược đồ mức
xám của ảnh mới
c.Trả lại ảnh màu
IV.Lời kết
Như vậy chương trình đã giải quyết được yêu cầu trong việc biến đổi
histogram và thu được ảnh kết quả theo mong muốn.
Bản thân e đã có nhiều cố gắng nhưng Chương trình này sẽ còn nhiều hạn
chế do năng lực đánh giá tổng quát và khả năng lập trình.E rất mong được sự
giúp đỡ của thầy để e có thể hoàn thành tốt và nghiên cứu sâu hơn nội dung
của mình.