Xem mẫu
- Theo định nghĩa:
f ( x, y )
(4.3)
r ( x, y )
i ( x, y )
(4.4)
f ( x , y ) r ( x, y ) i ( x , y )
ở đ ây r(x,y) đặc trưng 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 trưng 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ự 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(1,2
H
L
D0 D(1,2)
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:
(4.5)
ln( f ( x, y)) ln( r ( x, y)) ln(i ( x, y ))
(4.6)
o ( x, y ) ln( f ( x, y )) * h( x, y )
44
- dấu * là tích ch ập. Ảnh nhận đ ược tại đầu ra được cho bởi:
g ( x, y ) e o ( x , y ) (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 ,,D0) đượ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 tron g trường hợp này theo biểu thức:
Cho
D( 1 , 2 ) 12 2 D0
2
D(1 , 2 ) 2 H L
H ( 1 , 2 ) H
2 1 H L
D ( 1 , 2 ) 2 D0
( H L )
các trường hợp còn lại (4.8)
H ( 1 , 2 ) H
ảnh đã lọc
f(x,y)
o(x,y) o(x ,y)
ln[f(x,y)] e
H(1, 2)
Hình 4.2 Lọc đồng hình.
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.034115 -0.059471 -0.034115 -
0.001526 .001526
- -0.059471 0.902895 -0.059471 -
0.007420 .007420
- -0.034115 -0.059471 -0.034115 -
0.001526 .001526
- -0.001526 -0.007420 -0.001526 0.00267
0.002675 5
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à D0 = 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á
45
- 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.
46
- H ình 4.3 Ảnh 3-D thiết kế bộ lọc 5 5 với D0 = 0.8 , L= 0.5.
Hệ số được cho trong bảng 4.1.
Hình 4.4 Đồ thị ln(x).
47
- Hình 4.5 Ảnh dùng kiểm tra lọc đồng hình.
48
- 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.
g(x,y)
I(x,y)
H(1 , 2)
Hình 4.7 Sơ đồ khối của lọc pha tương phản.
(1 , 2)
D(1 , 2)
c
H (1 , 2)
1
D(1 , 2)
49
- 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 :
(4.9)
g ( x, y ) I ( x , y ) h ( x, y ) I ( x , y )
Lấy biến đổi Fourier cả hai vế của (4.9) ta có :
G( 1 , 2 ) I ( 1 , 2 ) H ( 1 , 2 ) I ( 1 , 2 )
ho ặc
G( 1 , 2 )
(4.10)
1 H ( 1 , 2 )
I ( 1 , 2 )
Khi H(1,2) = 1 với D(1,2) < c và H(1 ,2) = -1 với D(1,2) c
thì
G( 1 , 2 )
D(1, 2)
với c
<
0
I ( 1 , 2 )
(4.11)
G( 1 , 2 )
D(1,2)
với c
và 2
I ( 1 , 2 )
(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.
50
- 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 c 1.25
(c) Lọc bằng bộ lọc PCF với điểm c 1.4 ; (d) Lọc ảnh với bộ lọc HPF có
miền chuyển tiếp dốc có điểm cắt c 1.4 .
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
n (i )
h (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à:
r rmin
(4.14)
s 255
rmax rmin
ở đâ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.
n(i) n(i)
51
0 i 0 i
255 255
- 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.
r
rmax
rmin
0 255 s
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 pr(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:
s T (r )
(4.15)
Biến đổi ngư ợc được cho bởi
r T 1 ( s)
(4.16)
Trong đó T (r ) và T 1 ( s ) là hàm đơn giá trị đơn điệu tăng theo r và s.
Nếu p s ( 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:
52
- dr
p s ( s) p r (r )
ds r T 1( s)
(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
(4.18)
s T ( r ) p r ( ) d
0
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:
ds
(4.19)
p r (r )
dr
Thay th ế công thức (4.19) vào (4.17) chúng ta có
1
(4.20)
p s ( s) pr (r ) 1.0
p r (r )
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
n( j ) (4.21)
sk
j 0
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 s k như sau:
s k s0
(4.22)
sk 255
s 255 s0
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.
53
- Chương trình 4.1 "UNI_HIST.C".
/* PROGRAM 4.1 “UNI_HIST.C”. Histogram
equalization. */
/* Histogram equalization. */
#define MAX 16384
#include
#include
#include
#include
#include
#include
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;
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)
{
54
nguon tai.lieu . vn