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 rx,y sẽ chứa các tần số cao hơn ix,y, hàm đặc trưng cho độ chói và t
Trang 1Theo định nghĩa:
) , (
) , ( ) , (
y x i
y x f y x
) , ( ) , ( ) , (x y r x y i x y
f (4.4)
ở đâ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ì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(
)) , (
H( 1 , 2
D( 1 , 2 )
D 0
L
H
Trang 2dấu * là tích chập Ảnh nhận được tại đầu ra được cho bởi:
) , (
) , (x y e o x y
g (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 trong trường hợp này theo biểu thức: Cho
L H
L H
L H
D D
D
) (
1 )
, (
) , ( )
, (
2 0 2 2 1
2 2 1 2
các trường hợp còn lại H( 1, 2) H (4.8)
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.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.00267
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á
ln[f(x,y)] H( 1 , 2 ) eo(x ,y)
ảnh đã lọc
f(x,y)
o(x,y)
0 2 2 2 1 2
1, )
D
Trang 3trị đ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
Trang 4Hì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)
Trang 5Hình 4.5 Ảnh dùng kiểm tra lọc đồng hình
Trang 6Hì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
Hình 4.7 Sơ đồ khối của lọc pha tương phản
H( 1 , 2 )
c
D( 1 , 2 )
( 1 , 2 )
1
D( 1 , 2 )
H ( 1 , 2 )
Trang 7Hì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 :
) , ( ) , ( ) , ( ) , (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
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)
và 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
Trang 851
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
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
min max
min
r r
r r 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
n(i)
i
255
0
n(i)
i
255
0
Trang 9Hì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:
)
(r T
s (4.15)
Biến đổi ngược được cho bởi
) (
1 s T
r (4.16)
Trong đó T (r) và T1(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:
r
r max
r min
0 255 s
Trang 10) ( 1
) ( )
(
s T r r
s
ds
dr r p s p
(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
p r T s
0
) ( )
( (4.18)
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:
)
(r p dr
ds
r
(4.19) Thay thế công thức (4.19) vào (4.17) chúng ta có
0 1 ) (
1 ) ( )
r p r p s p
r r
s (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
s
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 s k như sau:
255
0 255
0
s s
s s
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
Trang 11Chươ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;
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);
ind=access(file_name,0);
while(!ind)