Tải bản đầy đủ (.doc) (19 trang)

Làm nổi ảnh trong Xử lý ảnh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.09 MB, 19 trang )

Chơng
4
Làm nổi ảnh
4.1 Chỉ dẫn
Nội dung của phần này là giới thiệu một số công cụ cơ bản dùng để tăng cờng độ
phân giải của ảnh cho con ngời cảm nhận. Những vấn đề đợc đề cập đến trong phần
này:
Mô hình ảnh.
Lọc đồng hình.
Lọc tơng phản pha.
Thay đổi biểu đồ phân bố mức xám.
Lọc trung vị.
Chúng tôi cũng cung cấp cho bạn các chơng trình C và kết quả chạy các chơng
trình này trên một số ảnh để kiểm tra. Nh các chơng khác, một số bài tập đợc cho
kèm theo. Các bài tập này giúp cho bạn hiểu rõ vấn đề và có sự đánh giá tốt hơn ứng
dụng của lĩnh vực này.
4.2 Mô hình phản xạ độ sáng
Một bức ảnh đợc tạo nên qua phép chiếu của một cảnh trong không gian ba chiều
lên một mặt hai chiều hay mặt phẳng. Hàm phân phối cờng độ sáng, f(x,y), thể hiện
trên mặt phẳng này đặc tính của ảnh và đợc coi rằng là một mô hình phụ thuộc vào
hai yếu tố. Yếu tố thứ nhất là sự phản chiếu của rất nhiều vật thể trong cảnh và ký
hiệu là r(x,y). Yếu tố thứ hai là tổng độ sáng nhận đợc từ các vật thể, yếu tố này sẽ
đợc ký hiệu là i(x,y). Cờng độ ánh sáng, f(x,y), và độ chói, i(x,y), là hàm phụ thuộc
vào cả hai giá trị x và y.
<
<
),(0
),(0
yxi
yxf
(4.1)


hệ số phản xạ, r(x,y), bị giới hạn bởi 0 và 1.
1),(0 yxr
(4.2)
Trong đó r(x,y) = 0 chỉ ra rằng ở đó ánh sáng bị hấp thụ toàn phần và r(x,y) = 1 chỉ
ra rằng ở đó ánh sáng phản xạ toàn phần. Nếu một bề mặt có độ phản xạ bằng 0, thì
hàm cờng độ sáng của ảnh cho bề mặt đó cũng bằng 0. Nếu một bề mặt có độ phản
xạ bằng 1, thì f(x,y) sẽ bằng với độ sáng nhận đợc bởi bề mặt này.
Theo định nghĩa:

),(
),(
),(
yxi
yxf
yxr =
(4.3)

),(),(),( yxiyxryxf =
(4.4)
ở đây r(x,y) đặc trng cho các vật thể trong ảnh. Khi các vật mang các chi tiết trong
ảnh nh đờng viền giữa các vật thể, các đờng biên trong vật thể, , thì hàm r(x,y) sẽ
chứa các tần số cao hơn i(x,y), hàm đặc trng cho độ chói và thờng có thay đổi khá đều
đặn trên ảnh. Một phơng pháp dùng để tăng cờng chất lợng của ảnh là làm giảm sự
43
tác động của yếu tố độ sáng và tăng cờng các chi tiết của ảnh. Nó đợc thực hiện bằng
cách chia ảnh thành hai khối khi đi qua bộ nhấn tần số cao. Các bớc xử lý tiếp đợc
mô tả trong một loại bộ lọc đặc biệt gọi là bộ lọc đồng hình.
4.3 Lọc đồng hình
Một giải pháp cung cấp độ nổi cho các vật thể trong một ảnh đã cho là làm giảm
tác động của độ chói. Nó đợc thực hiện bằng cách đầu tiên chia tín hiệu ảnh thành hai

thành phần r(x,y) và i(x,y), và sau đó tăng cờng thành phần tần số cao. Điều này có
thể thực hiện bằng cách lấy logarit của hàm cờng độ sáng f(x,y). Kết quả sau đó đợc
lọc qua bộ lọc 2-D có đặc tính nh trong hình 4.1.
Hình 4.1 Biểu diễn dạng bộ lọc đồng hình.
Lấy đối lôgarit kết quả cho ta kết quả cuối cùng. Toàn bộ quá trình này đợc mô tả
ở hình 4.2 hoặc theo các biểu thức sau:

)),(ln()),(ln()),(ln( yxiyxryxf +=
(4.5)
),(*)),(ln(),( yxhyxfyxo =
(4.6)
dấu * là tích chập. ảnh nhận đợc tại đầu ra đợc cho bởi:
),(
),(
yxo
eyxg =
(4.7)
Thuật toán này sẽ làm giảm ảnh hởng của những tín hiệu chói không đồng đều
trong ảnh và làm nổi các chi tiết trên ảnh. Ba tham số trong hình 4.1 (
H
,
L ,
,D
0
) đợc
chọn từ thực nghiệm. Đặc tuyến trong hình 4.1 có thể đợc mô tả, cho ví dụ, bằng hàm
Butterworth, cho trong trờng hợp này theo biểu thức:
Cho

( )

( )
H
LH
LH
LH
DD
D
H






+

+
+

=
)(
1
),(
),(
),(
2
0
2
21
2

21
21

các trờng hợp còn lại
H
H
( , )

1 2
=
(4.8)
Hình 4.2 Lọc đồng hình.
44
H(
1
,

2
)
D(
1
,
2
)
D
0

L

H

ln[f(x,y)]
H(
1
,
2
)
e
o(x ,y)
ảnh đã
lọc

f(x,y)
o(x,y)
0
2
2
2
121
),( DD +=

Bảng 4.1 Các hệ số của bộ lọc 5 ì 5 đợc dùng theo kiểu lọc đồng hình.
0.02675 -0.001526 -0.007420 -0.001526 002675
-0.001526 -0.034115 -0.059471 -0.034115 001526
-0.007420 -0.059471 0.902895 -0.059471 007420
-0.001526 -0.034115 -0.059471 -0.034115 001526
-0.002675 -0.001526 -0.007420 -0.001526 0.002675
Dùng chơng trình (2.1) trong chơng 2, chúng ta có thể thiết kế bộ lọc FIR có đặc
tuyến mô tả bằng biểu thức (4.8). Các hệ số của bộ lọc 5 ì 5 có
H
= 1.0,

L
= 0.5 và
D
0
= 0.8 đợc cho ở bảng 4.1. Đáp ứng tần số đợc cho ở hình 4.3.
Chơng trình lọc ảnh dùng bộ lọc FIR đợc cho ở trong chơng 3, chơng trình 3.2, có
thể thay đổi thành lọc đồng hình. Chú ý rằng, nếu logarit của giá trị điểm ảnh đã đợc
chuyển vào bộ đệm, thì bộ đệm chuyển ảnh trong hình 3.1 phải có kiểu "float" thay
cho kiểu "unsigned char". Kết quả của chơng trình đợc chứa vào các biến con trỏ
float thay thế cho các biến giá trị nguyên.
Trớc khi lấy logarit, tốt nhất là nên chia các mức xám của ảnh đầu vào nằm trong
khoảng giữa 0.0000001 đến 10. Điều này sẽ hạn chế đầu vào với phần chia của hệ số
logarit, việc đó sẽ qui định sự phân ly giữa các giá trị điểm, ngaọi trừ giá trị không,
giá trị này sẽ là trong hệ số logarit.
Bài tập 4.1 Thay đổi chơng trình 3.2 để đa ra bộ lọc đồng hình.
Chúng ta sẽ kiểm tra khái niệm lọc đồng hình. Hình 4.5 đa ra một ảnh sẽ đợc sử
dụng để kiểm tra. Hình 4.6 trình bày một ảnh sau khi áp dụng lọc đồng hình với bộ
lọc có hệ số cho trong bảng 4.1. Bạn chú ý rằng nhiều đặc điểm trong ảnh bây giờ trở
nên rõ ràng hơn. Tuy nhiên, lọc đồng hình đã không di chuyển một vài ảnh hởng ánh
sáng, cũng nh các vùng phản chiếu và bóng tối.
Bài tập 4.2
1. Thiết kế bộ lọc 7 ì 7 dùng xấp xỉ hàm Butterword cho bởi biểu thức (4.8) với
H = 1.0, L= 0.25 và D0 = 0.8 và H = 1.0, L= 0.25 và D0 = 0.6 . Thiết
kế bộ lọc FIR 7 ì 7 dùng xấp xỉ hàm bộ lọc thông cao Butterword đợc cho
trong ví dụ 2.6 trong chơng 2.
2. Dùng bộ lọc có các hệ số cho trong bảng 4.1 và thiết kế để lọc ảnh cho trên
đĩa với file có tên là "TESH.IMG".
3. Bây giờ lọc ảnh "TESH. IMG" với bộ lọc thông cao có cùng đặc tuyến.
4. Lặp lại phần 2 và 3 trên ảnh "PISTON.IMG" có sẵn trên ảnh đi kèm
5. Giải thích các kết quả khác nhau thu đợc từ bài tập này.

45
H×nh 4.3 ¶nh 3-D thiÕt kÕ bé läc 5 × 5 víi D
0
= 0.8π, γ
L
= 0.5.
HÖ sè ®îc cho trong b¶ng 4.1.
H×nh 4.4 §å thÞ ln(x).
46
Hình 4.5 ảnh dùng kiểm tra lọc đồng hình.
Hình 4.6 ảnh đã lọc đồng hình.
4.4 Lọc pha tơng phản
Giải pháp lọc pha tơng phản đợc mô tả tốt nhất bằng biểu đồ hình 4.7. ảnh I(x,y) đi
qua bộ lọc thông toàn bộ với các đặc tuyến pha mô tả ở hình 4.8.
47
H(
1
,
2
)
+

I(x,y)
g(x,y)
Hình 4.7 Sơ đồ khối của lọc pha tơng phản.
Hình 4.8 Đặc tuyến pha và biên độ của PCF.
Lọc pha tơng phản (PCF) đợc dùng trong lọc không gian để hoàn trả lại các chi tiết
có thể nhìn thấy đợc với gradient pha. Phổ pha của ảnh mang theo nhiều tin tức về
ảnh hơn là biên độ phổ. Chúng ta sẽ làm rõ điều này trong chơng 7. Có lẽ sẽ là hợp lý
hơn nếu chúng ta xử lý trực tiếp góc pha của ảnh để làm nổi ảnh hơn là xử lý biên độ

ảnh. Từ sơ đồ khối hình 4.7 ta có thể viết :
),(),(),(),( yxIyxhyxIyxg =
(4.9)
Lấy biến đổi Fourier cả hai vế của (4.9) ta có :

G I H I( , ) ( , ) ( , ) ( , )

1 2 1 2 1 2 1 2
=

hoặc
G
I
H
( , )
( , )
( , )



1 2
1 2
1 2
1=
(4.10)
Khi H(

1
,


2
) = 1 với D(

1
,

2
) <

c
và H(

1
,

2
) = -1 với D(

1
,

2
)

c
thì

G
I
( , )

( , )


1 2
1 2
0=
với D(

1
,

2
) <
c
(4.11)

G
I
( , )
( , )


1 2
1 2
2=
với D(

1
,


2
)
c
(4.12)
thì đây là bộ lọc thông cao (HPF) đối xứng vòng tròn, với một sự với chuyển tiếp đột
ngột từ giải thông sang dải chắn.
48

c

D(
1
,
2
)
(
1
,
2
)
1
D(
1
,
2
)
H (
1
,
2

)
Hình 4.9 (a) Bề mặt của Pít tông; (b) Lọc bằng bộ lọc PCF với điểm
25.1=
c

(c) Lọc bằng bộ lọc PCF với điểm
4.1=
c

; (d) Lọc ảnh với bộ lọc HPF có miền
chuyển tiếp dốc có điểm cắt
4.1=
c

.
4.5 Thay đổi lợc đồ mức xám
Lợc đồ mức xám (Histogram) trong một ảnh đợc định nghĩa bởi

h i
n i
n
( )
( )
=
(4.13)
ở đây n(i) = tổng các mức xám trong ảnh có giá trị i và n = tổng số các mức xám
trong ảnh.
Sự phân bố p(i) hoặc n(i) có thể cung cấp thông tin về dáng điệu của ảnh. Một ảnh
có phân bố mức xám giống nh hình 4.10a thì có sắc màu tối, một ảnh phân bố mức
xám nh hình 4.10b thì có sắc màu sáng. Vì lý do này, ta có thể làm nổi ảnh bằng cách

thay đổi phân bố n(i) để chỉnh lại các sắc màu của các mức xám trên ảnh.
4.5.1 Xử lý tơng phản
Việc mở rộng mức xám tuyến tính có thể thực hiện bằng cách ánh xạ mức xám của
ảnh gốc qua hàm ánh xạ tuyến tính chỉ trên hình 4.11. Đó là:
255
minmax
min
rr
rr
s


=
(4.14)
ở đây, r là một mức xám trên ảnh gốc và s là mức xám đã qua ánh xạ. ảnh ánh xạ
sẽ có mức xám kéo dài trong khoảng giữa 0 và 255. Điều này có thể đa đến một vài
cải thiện đối với ảnh, và đợc sử dụng nh công đoạn cuối cùng trong tất cả chơng trình
lọc đợc cung cấp trong quyển sách này.
49
Hình 4.10 (a) Lợc đồ mức xám của một ảnh có sắc màu tối;
(b) Lợc đồ mức xám của một ảnh có sắc màu sáng.
Hình 4.11 Thang chia mức xám tuyến tính.
4.5.2 San bằng lợc đồ mức xám
Sự biến đổi biểu đồ phân bố các mức xám có thể đạt đợc một cách gần đúng bằng
cách xét hàm mật độ xác suất liên tục p
r
(r) thay cho h(i). Cái mà chúng ta cần đến là
có đợc một phép đổi ánh xạ mức xám trên ảnh gốc, thay biến r bởi một biến mới s vì
vậy sự phân bổ mức xám trên ảnh biến đổi theo công thức sau:
)(rTs =

(4.15)
Biến đổi ngợc đợc cho bởi
)(
1
sTr

=
(4.16)
Trong đó
)(rT

)(
1
sT

là hàm đơn giá trị đơn điệu tăng theo r và s.
Nếu
)(sp
s
chỉ rõ hàm mật độ xác xuất của ảnh đợc biến đổi thì từ lý thuyết xác
xuất ta có thể viết:
)(
1
)()(
sTr
rs
ds
dr
rpsp


=






=
(4.17)
Chúng ta giả thiết rằng, tại một thời điểm, ảnh gốc và ảnh qua ánh xạ là các hàm
liên tục với hai biến không gian độc lập x và y.
Bây giờ hãy xem đến sự biến đổi

==
r
r
dprTs
0
)()(

(4.18)
50
r
r
max

r
min
0 255 s
n(i)

i
255
0
a
n(i)
i
255
0
b
Trong đó vế bên phải đợc biết đến nh hàm phân bố tích luỹ (cumulative
distribution function - CDF). Từ công thức (4.18) chúng ta có thể viết:
)(rp
dr
ds
r
=
(4.19)
Thay thế công thức (4.19) vào (4.17) chúng ta có
0.1
)(
1
)()( ==
rp
rpsp
r
rs
(4.20)
Vì vậy, phép biến đổi cho bởi công thức (4.18) cho ảnh mức xám có phổ đồng đều.
Biến đổi trên có thể đợc viết dới dạng tổng quát hoá nh sau:


=
=
k
j
k
jns
0
)(
(4.21)
Hoặc, chúng ta muốn ánh xạ ảnh mức xám nằm giữa 0 và 255, chúng ta có thể
thay đổi
k
s
nh sau:
255
0255
0
ss
ss
s
k
k


=
(4.22)
Chú ý rằng vì công thức (4.21) là một xấp xỉ của công thức (4.18) bằng cách cho
rằng ảnh ánh xạ có thể có lợc đồ mức xám không thực sự đồng đều. Một nhân tố khác
cũng không đợc quan tâm trong quá trình biến đổi, đó là với một số ảnh mà các mức
xám không phủ kýn các miền thì CDF sẽ giữ lại hằng số ở những miền không đợc

phủ kýn đó. Những nhân tố này sẽ cho kết quả trong ảnh ánh xạ mà ở đó lợc đồ mức
xám là xấp xỉ gần nhất với lợc đồ mức xám đồng đều đợc rút ra từ ảnh gốc.
Chơng trình 4.1 cho dới đây dùng cho việc san bằng lợc đồ mức xám.
Chơng trình 4.1 "UNI_HIST.C".
/* PROGRAM 4.1 UNI_HIST.C. Histogram equalization. */
/* Histogram equalization. */
#define MAX 16384
#include <stdio.h>
#include <conio.h>
#include <io.h>
#include <math.h>
#include <ctype.h>
#include <stdlib.h>
void main()
{
int image_length,image_width,i,j,ch,true_length;
unsigned long int histo[256],s[256];
char file_name[14];
unsigned char buff[MAX];
int k,n,ind;
double nsq;
51
float range;
FILE *fptr,*fptr2;
clrscr();
printf("Enter file name of image >");
scanf("%s",file_name);
fptr=fopen(file_name,"rb");
if(fptr==NULL)
{

printf("%s does not exist.",file_name);
exit(1);
}
printf("Enter file name for storing mapped image >");
scanf("%s",file_name);
gotoxy(1,3);
printf(" ");
ind=access(file_name,0);
while(!ind)
{
gotoxy(1,3);
printf("File exists. Wish to overwrite? (y or n) >");
while(((ch=tolower(getch()))!='y')&&(ch!='n'));
putch(ch);
switch(ch)
{
case 'y':
ind=1;
break;
case 'n':
gotoxy(1,3);
printf( " ");
gotoxy(1,2);
printf(" ");
gotoxy(1,2);
printf("Enter file name >");
scanf("%s",file_name);
ind=access(file_name,0);
}
}

fptr2=fopen(file_name,"wb");
nsq=(double)filelength(fileno(fptr));
printf("\nIs this a square image ? (y or n) ");
while(((ch=tolower(getch()))!='y')&&(ch!='n'));
putch(ch);
switch(ch)
{
case 'y':
image_length=image_width=sqrt(nsq);
break;
case 'n':
printf("Enter image width > ");
scanf("%d",&image_width);
image_length=(int)(nsq/image_width);
}
printf("\n image size= %d x %d",image_length,image_width);
true_length=0.95*image_length;
/* Generate Histogram.*/
for(i=0;i<256;i++)
52
histo[i]=0;
for(i=0;j<true_length;i++)
for(j=0;j<image_width;j++)
histo[getc(fptr)]++;
/* Generate CDF. */
s[0]=histo[0];
for(i=1;i<256;i++)
s[i]=s[i-1]+histo[i];
/* scaling*/
range=(float)(s[255]-s[0]);

for(i=1; i<256; i++)
s[i]=(int)((float)(s[i]-s[0]))*255.0/range;
/* Mapping into a uniform histogram.*/
rewind(fptr);
k=0 ;
for(i=0; i<image_length; i++)
for(j=0; j<image_width; j++)
{
ch=s[getc(fptr)];
buff[k]=(unsigned char)ch;
k++;
if((k==MAX)||(ch==EOF))
{
for(n=0;n<k;n++)
putc((int)buff[n],fptr2);
k=0;
}
}
fclose(fptr);
fclose(fptr2);
printf("\n\nDONE.");
}
Để kiểm tra việc san bằng lợc đồ mức xám chúng ta xem xét ảnh trên hình 4.12a.
Đây là ảnh của một ngời tơng phản với nền sáng. Khi chụp ảnh này đã không dùng
đèn để giảm độ sáng của nền. ảnh sau khi san bằng mức xám đợc cho trên hình
4.12b. Dễ dàng nhận thấy đợc sự thay đổi so với ảnh gốc. ảnh cung cấp cho bạn thử
nghiệm đợc cung cấp sẵn trên đĩa kèm theo với tên "ISLAM.IMG".
53
Hình 4.12 (a) ảnh gốc dùng cho san bằng lợc đồ mức xám.
Hình 4.12 (b) ảnh sau khi san bằng lợc đồ mức xám.

4.5.3 Thay đổi lợc đồ mức xám
Kỹ thuật san bằng lợc đồ mức xám đa ra một phơng pháp trong đó có thể nâng cao
chất lợng ảnh qua việc làm bình đẳng tầm quan trọng giữa các mức xám. Tuy nhiên,
có thể trong một vài ứng dụng ngời ta cần nâng cao mức xám hay một khoảng mức
xám nào đó. Vì vậy, cần phải ánh xạ ảnh mức xám để lợc đồ mức xám của nó tuân
theo một phân phối đặc biệt. Chúng ta thực hiện điều này bằng cách nào, hãy quay lại
một chút với ảnh mức xám liên tục, để
)(rp
r

)(zp
z
là hàm mật độ xác xuất tơng
54
ứng của ảnh gốc và ảnh ánh xạ riêng biệt. Để chuyển đổi ảnh gốc thành ảnh có lợc đồ
mức xám các mức xám đồng đều chúng ta dùng hàm ánh xạ CDF, ví dụ:

==
r
r
dprTs
0
)()(

(4.23)
Nếu ảnh ánh xạ đã có sẵn, thì các mức xám của nó có thể đợc ánh xạ sang phổ lợc
đồ mức xám đồng đều qua CDF nh sau:

==
z

z
dpzGv
0
)()(

(4.24)
Bởi vì ảnh ánh xạ vừa nhận đợc từ ảnh gốc, thì sau đó nó sẽ ánh xạ vào cùng ảnh
có lợc đồ mức xám đợc làm bằng nhau (đồng bộ). Đó là:
)()( rTzG =
(4.25)
hay

=
z r
rz
dpdp
0 0
)()(

(4.26)
Trong đó r và z là hai biến tơng ứng thể hiện mức xám của ảnh gốc và ảnh ánh xạ.
Cái ta cần là thu đợc z nh là một hàm trực tiếp của r, nghĩa là:
)())((
1
rFrTGz ==

(4.27)
Để có đợc giải pháp theo công thức giải tích (4.26) cho trờng hợp chung có thể là
khó khăn hoặc không thể làm đợc. Tuy nhiên, giải pháp đồ thị là rất có thể, và hình
4.13 minh hoạ thủ tục cho giải pháp này. Với một mức xám đợc chọn r

1
thu đợc T(r
1
).
Chiếu T(r
1
) lên G(z) thu đợc mức xám ánh xạ z
1
.
Bởi vì trong thực tế chúng ta thờng xử lý ảnh rời rạc chứ không phải ảnh liên tục,
nên CDF sẽ đợc viết lại nh sau:

=
=
r
i
o
inrT
1
)()(
(4.28)


=
=
z
i
m
inzG
0

)()(
(4.29)
ở đây n
0
(i) và n
m
(i) là các mảng mà phần tử thứ i của nó chứa tổng số mức xám, có
giá trị i trong ảnh gốc và ảnh ánh xạ. Sự xấp xỉ nảy sinh trong trờng hợp rời rạc, dẫn
đến khó có thể đạt đợc các giá trị của r và z để
)(rT
đúng bằng
)(zG
. Tuy nhiên có
thể tìm một giá trị của z sao cho với bất kỳ r biểu thức sau đây đợc thoả mãn:
)1()()1( + zGrTzG
(4.30)
(xem hình 4.14.)
55
G(z)
G(z
1
)
r
1
r z
1
z
T(r)
T(r
1

)
Hình 4.13 Biểu diễn đồ thị của công thức (4.26).
Hình 4.14 Biểu diễn đồ thị của trờng hợp mẫu.
Do vậy, dựa trên các vấn đề thảo luận ở trên và hình 4.14 chúng ta có thể thực hiện
từng bớc theo thủ tục sau để xác định ánh xạ giữa r và z.
1. Quy định lợc đồ mức xám cho ảnh ánh xạ.
2. Tính CDF
)(rT

)(zG
riêng rẽ sử dụng công thức (4.28) và (4.29)
3. Cho r = 0 đến 255 ( bớc nhảy bằng 1) thực hiện:
a. Tìm z sao cho
)1()()( + zGrTzG
b. Lu giữ trong mảng F, tại vị trí r, giá trị bằng của z; nghĩa là F(r) = z.
Thủ tục trên mang lại mảng ánh xạ
))(()(
1
rTGrFz

==
Kết quả này có thể đợc dùng để chuyển đổi ảnh gốc sang một ảnh có mức xám xấp
xỉ với mức xám đã quy định.
Với thủ tục trên để thực hiện chúng ta cần chia khoảng
)(rT

)(zG
vì thế chúng
cung cấp cùng khoảng động của các mức xám. Chú ý rằng
)(rT


)(zG
là những
hàm ánh xạ chúng ánh xạ ảnh gốc và ảnh chuyển đổi thành ảnh san bằng mức xám.
Vì thế, công thức (4.28) và (4.29) sẽ đợc viết lại nh sau:
255
)0()255(
)0()(
)(
0
TT
Tin
rT
r
i
o


=

=
(4.31)
255
)0()255(
)0()(
)(
0
GG
Gin
zG

z
i
m


=

=
(4.32)
Việc quy định lợc đồ mức xám. Có một kỹ thuật chuẩn để sinh ra lợc đồ mức
xám cho ảnh chiếu. Những kỹ thuật này đợc mô tả sau đây.
Phân phối Gauss. Phân phối cho rằng
22
2/)(
)(
à

=
z
ezh
(4.33)
56
G(z)
r
1
r z
1
z
T(r)
Trong đó à = kỳ vọng toán học hay trị trung bình.

= sai phơng.
Chú ý rằng h(z) giảm khoảng 90 phần trăm giá trị tối đa của nó tại
073.1/
à
=z
Do đó, biểu hiện bề rộng của phân phối.
Tham số và à có thể đợc điều chỉnh cho đến khi đạt đợc kết quả mong muốn trên
ảnh ra. Cần chú ý rằng thực hiện phép chiếu các lợc đồ mức xám khác nhau phụ
thuộc vào ảnh, bởi vậy cần phải tăng cờng ảnh.
Tuyến tính từng đoạn (Piecewise linear). Một cách tiếp cận xen kẽ linh động
hơn phơng pháp Gaussian là sử dụng các đoạn thẳng để biểu diễn phân phối mong
muốn. Hình 4.15 đa ra phơng pháp nh vậy. Các tham số
m
HL
,,

và h có thể đợc
thay đổi đến tận khi thu đợc ảnh mong muốn. Hình 4.15 có thể đợc trình bày nh sau:
Hình 4.15 Hàm tuyến tính từng đoạn.
1. Tính:
)tan(
1
1
1
L
j
m
y

+

=
)tan(
Ljj
yx

=
2. Với
j
xz 0
)tan(
)(
L
z
z
zp

=
và với
mzx
j

jj
j
j
z
yxz
xm
yh
zp +



= )()(
3. Tính:
)tan(255
25
)tan(
1
1
Hkk
H
k
yx
m
y


=

+
=
57

L

H
0 m 255
z
h k
j
1

p(z)
4. Với
k
xzm
kk
k
k
z
yxz
mx
hy
zp +


= )()(
và với
255< zx
k
)255(
255
)( z
x
y
zp
k
k
z


=

Phơng pháp xen kẽ trên, chỉ sử dụng hai đoạn thẳng, đợc chỉ trên hình 4.16.
Với
mz 0
L
L
z
z
m
h
zp


+

=)(
Và với
255< zm
R
R
z
z
m
h
zp


+


= )255(

255
)(
Tham số
m
HH
,,

và h có thể đợc điều chỉnh xấp xỉ với phân phối mong muốn.
Ví dụ, nếu chúng ta đặt
0.1==== hm
HH

thì ta sẽ thu đợc phân bố đồng đều.
Hình 4.16 Xấp xỉ hai đoạn thẳng.
Các dạng phân phối khác. Có một số dạng phân phối khác cũng đợc sử dụng để
nâng cao chất lợng ảnh. Các dạng này đợc cho dới đây. Với những dạng này chúng ta
có thể có đợc một giải pháp gần nhất với công thức (4.26).
Hàm mũ:
min
)(
min
)( zzezp
zz
z
=




(4.34)

Hàm chuyển đổi đợc cho bởi








=

r
r
dprr
0
min
)(1ln
1

(4.35)
Hàm Rayleigh:
min
2
)(
2
min
2
2
min
)( zze

zz
zp
zz
z



=











(4.36)
58
p
z
(z)

L

H
h
0 m 255 z

Hàm chuyển đổi đợc cho bởi
2
1
0
2
min
)(1
1
ln2
































+=

r
r
dp
rr

(4.37)
Hàm hyperbolic (căn bậc 3):
3/1
min
3/1
max
3/2
3
1
)(
zz
z
zp

z

=

(4.38)
Hàm hyperbolic (logarit)
[ ]
)ln()ln(
1
)(
minmax
zzz
zp
z

=
(4.40)
Hàm chuyển đổi đợc cho bởi







=
r
r
dp
r

r
rr
0
)(
min
max
min

(4.41)
Thực tế khi thực hiện công thức trên chúng ta sẽ thay thế
)(rp
r
bằng h(i).
Bây giờ là lúc chúng ta phát triển các chơng trình biến đổi lợc đồ mức xám.
Bài tập 4.3
1. Viết chơng trình C để thay đổi lợc đồ mức xám trên cơ sở hàm tuyến tính mức độ
bộ phận hình 4.15. Kiểm tra chơng trình trên ảnh "ISLAM.IMG".
2. Tơng tự nh câu 1, nhng xuất phát từ các công thức (4.35), (4.37), (4.39), và
(4.41).
3. Lập chơng trình cho phép bạn chọn hàm san bằng, gaussian, mũ, Rayleigh,
hyperbolic (căn bậc 3), hoặc hyperbolic (logarith), sau đó ánh xạ ảnh thích hợp.
Hình 4.17 là ảnh "ISLAM.IMG" sau khi sử dụng phân phối gaussian với
125=
à

150073.1/ =

. Chú ý rằng ảnh này có hiển thị nhiều chi tiết hơn ảnh san bằng
mức xám trên hình 4.12b. Tuy nhiên, bạn sẽ thử nghiệm với và à khác nhau để phát
hiện ra u điểm của phơng pháp này.

59
Hình 4.17 ảnh xử lý dùng phân phối Gauss để biến đổi lợc đồ mức xám.
4.6 Lọc trung vị
Trung vị M của một tập hợp số đợc xác định sao cho một nửa các giá trị trong tập
lớn hơn M hoặc một nửa các giá trị nhỏ hơn M. Lọc trung vị trong ảnh đợc áp dụng
bởi đầu tiên chọn một cửa sổ có kích thớc N, ở đây N chẵn. Cửa sổ này hoặc miền
cung cấp sẽ đợc quét qua ảnh. Điểm trung tâm của miền cung cấp, tại bất kỳ nơi nào
trong ảnh, đợc thay thế bằng trung vị của các giá trị điểm của các miền lân cận. Lọc
trung vị làm cho điểm ảnh trở nên nổi trội hơn so với các điểm xung quanh. Nó loại
trừ ảnh hởng của các nhiễu kim, cải thiện khả năng chống nhiễu của tín hiệu. Lọc
trung vị có thể đợc bổ xung bằng các biện pháp đã đợc phát triển cho bộ lọc FIR.
Bài tập 4.4
Viết một chơng trình dựa trên sơ đồ hình 4.18 để đa ra lọc trung vị. Kiểm tra lọc
trung vị trên ảnh thu đợc khi dùng biểu thức lợc đồ mức xám và giới thiệu trên hình
4.12b. Chú ý rằng một ảnh thu đợc khi dùng biểu thức lợc đồ mức xám là một ảnh có
nhiễu.
Kết quả của sử dụng bộ lọc trung vị kích thớc 5 ì 5 đợc thể hiện trên hình 4.19.
Có một vài cải thiện về chất lợng ảnh đợc hiển thị ở đây. Tuy nhiên, chất lợng ảnh sẽ
tốt hơn nếu ta đem trung bình ảnh gốc với ảnh kết quả lọc trung vị.
60
Hình 4.18 Lọc trung vị
Hình 4.19 Kết quả thu đợc sau khi áp dụng lọc trung vị kích thớc 5 ì 5
trên ảnh đã đợc biến đổi lợc đồ mức xám.
61
Bộ đệm chuyển đổi ảnh
N Độ rộng ảnh
ì
File ảnh vào
Hàng thứ n1 từ file ảnh vào đến hàng cuối
cùng của bộ đệm chuyển đổi ảnh (ví dụ n1

từ 0 đến độ dài ảnh - 1)
N
Shift
yn2= trung bình {W(N1-k1,n2-k2)};
N1=(N-1)/2; k1=-N1đến N1, và k2=-N1
đến N1, n2=0 đến (độ rộng ảnh-1)
Bộ đệm
Đến file ảnh ra
N
N
k1,k2
Vùng hỗ trợ cho bộ lọc trung vị.
Trong ví dụ này N=3

×