Tải bản đầy đủ (.docx) (21 trang)

Lọc ảnh trên miền tần số (sử dụng biến đổi fourier) áp dụng cho ảnh 24 bit

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.04 MB, 21 trang )

I. Giới thiệu
Thông thường, xử lí ảnh thường được thực hiện trên miền không gian, do tính trực
quan cao. Nhưng khi thực hiện trên miền không gian, sẽ không đáp ứng được yêu
cầu cao về ảnh. Do đó có các phép biến đổi để chuyển ảnh sang miền khác để xử lí,
sau đó biến đổi trở lại miền không gian. Các phép biến đổi đó là biến đổi Fourier,
biến đổi Cosin rời rạc Em chọn đề tài tập lớn của mình là: Lọc ảnh trên miền
tần số (sử dụng biến đổi Fourier). Áp dụng cho ảnh 24 bit để tìm hiểu kĩ hơn về
vấn đề lọc và nâng cao chất lượng ảnh
Cấu trúc của bài báo cáo gồm 3 phần:
1) Giới thiệu bài toán.
2) Các vấn đề liên quan và thuật toán.
1. Biến đổi Fourier rời rạc và tính chất ảnh trong miền tần số
2. Cơ bản về lọc ảnh trong miền tần số
3. Tìm hiểu các bộ lọc trong miền tần số
3) Các bước cài đăt thuật toán
4) Kết luận.
II. Các vấn đề liên quan và thuật toán
Để giải quyết bài toán này, em đã tìm hiểu và giải quyết các vấn đề sau:
- Tìm hiểu về biến đổi Fourier rời rạc 1D và 2D(thuận và ngược)
- Tìm hiểu về các thuật toán biến đổi Fourier nhanh
- Ý nghĩa về chuyển đổi ảnh sang miền tần số
- Cơ bản về lọc ảnh trong miền tần số, các bước thực hiện
- Ý nghĩa của các bộ lọc thông thấp, thông cao, thông dải, loại dải
- Tìm hiểu thêm về biến đổi Laplace trong miền tần số, bộ lọc High-frequency
emphasis(có ý nghĩa trong xử lí ảnh y tế)
Chi tiết về từng vấn đề như sau
1. Biến đổi Fourier rời rạc và tính chất ảnh trong miền tần số
a. Biến đổi Fourier
- Ở đây, ta sẽ tìm hiểu về biến đổi Fourier rời rạc cho tín hiệu 1 chiều và 2
chiều
Biến đổi Fourrier cho một tín hiệu có thể hình dung như sau:


Biến đổi Fourrier cho một tín hiệu một chiều gồm một cặp biến đổi:
- Biến đổi thuận: chuyển sự biểu diễn từ không gian thực sang không gian tần
số (phổ và pha). Các thành phần tần số này được gọi là các biểu diễn trong
không gian Fourrier của tín hiệu.
- Biến đổi ngược: chuyển đổi sự biểu diễn của đối tượng từ không gian Fourrier
sang không gian thực.
Khai triển Fourrier rời rạc DFT cho một dãy {x(n), n = 0, 1, , N-1} định nghĩa
bởi:
Với :
+ e khoảng 2.71828;
+ i là toạ độ ảo của số phức, với i
2
= -1.
Các hàm cơ sở là chính là các hàm sin, cos vì theo đồng nhất thức Euler ta có:
đổi Fourier rời rạc ngược được tính như sau:
Và DFT cho tín hiệu 2 chiều (với ảnh cấp M*N)






+−

=

=
∑ ∑
=
N

yv
M
xu
i
M
x
N
y
eyxfvuF
π
2
1
0
1
0
),(),(
0 ≤ u ≤ M-1, 0 ≤ v
≤ N-1
Và biến đổi Fourier ngược như sau:






+

=

=

∑ ∑
=
N
yv
M
xu
i
M
u
N
v
evuF
MN
yxf
π
2
1
0
1
0
),(
1
),(
0 ≤ x ≤ M-1, 0 ≤ y ≤
N-1
cũng có thể viết được phương trình phép biến đổi Fourier dưới dạng:
∑∑

=


=






+++=
1
0
1
0
)(
π2
sin)(
π2
cos),(
1
),(
N
r
N
c
vcur
N
jvcur
N
crI
N
vuF

- F(u, v) cũng là số phức:
+ Phần thực tương ứng với các số hạng cosin
+ Phần ảo tương ứng với các số hạng sin.
* Phân tích phổ Fourier:
- Thể hiện thành phần phổ phức:
F(u, v) = R(u, v) + jI(u, v),
trong đó R(u, v) là phần thực và I(u, v) là phần ảo,
→ định nghĩa được cường độ và pha của thành phần phổ phức như sau
[ ] [ ]
22
),(),(),( MAGNITUDE vuIvuRvuF +==







=Φ=
),(
),(
tanv)(u,PHASE
1-
vuR
vuI
- Dữ liệu cường độ chứa thông tin độ tương phản, cường độ sáng.
- Dữ liệu pha chứa thông tin về vị trí của đối tượng nằm trong một ảnh.
b. Tính chất ảnh trong miền tần số:
- Các tần số thấp tương ứng với các thành phần thay đổi từ từ của một hình
ảnh.

- Các tần số cao hơn bắt đầu tương ứng với những thay đổi nhanh về độ
sáng như biên của các đối tượng và nhiễu.
- Tần số không gian thấp nhất = số hạng tần số 0 tương ứng với ảnh có giá
trị không đổi.
 Những nhận xét này sẽ được áp dụng như sau: Sau khi ảnh đã được qua
phép biến đổi sang miền tần số hoặc miền dãy, ta có thể sửa đổi phổ kết
quả. Thông tin tần số cao có thể lược bỏ đi bằng một bộ lọc thông thấp,
sẽ gây ra hiệu ứng làm nhoè ảnh (làm mịn), hoặc thông tin tần số thấp có
thể được lược bỏ bằng một bộ lọc thông cao, sẽ có khuynh hướng làm sắc
nét ảnh. Ta có thể muốn trích chọn thông tin tần số trong các phần cụ thể
của phổ bằng bộ lọc thông dải (bandpass filtering). Bộ lọc loại dải
(bandreject filtering) có thể được sử dụng để loại bỏ các phần cụ thể của
phổ, chẳng hạn để loại bỏ nhiễu không mong muốn.
Hãy quan sát công thức sau:
 Đây chính là tính khả tách của phép biến đổi Fourier, đươc áp dụng trong
biến đổi Fourier nhanh. Nếu có một phép biến đổi 2 chiều là phân tách
được, thì kết quả có thể tìm được bằng cách áp dụng liên tiếp hai phép
biến đổi 1 chiều. Ban đầu,trong chương trình của mình, em đã áp dụng
phép biến đổi Fourier rời rạc thông thường, nhưng do kết quả quá chậm,
nên em đã dùng biến đổi Fourier nhanh, dùng giải thuật của Cooley –
Tukey(thuật toán cơ số 2)
 Xét DFT N điểm, giả sử N = 2
v
(N là một lũy thừa của 2):
Trong đó: F1(k) và F2(k) lần lượt là DFT N/2 điểm của f1(n) và f2(n) với
f1(n) và f2(n) mô tả như sau:
f1(n) = x(2n)
f2(n) = x(2n+1)
Do F1(k) và F2(k) tuần hoàn nên: F1(k) = F1(k + N/2) và F2(k) = F2(k + N/2)và
Nên:

2. Cơ bản về lọc ảnh trong miền tần số
- Với phép biến đổi Fourier tính đối xứng của phép biến đổi là để lặp lại phổ
NxN rời rạc theo mọi hướng cho đến vô vùng. Các thành phần phổ chỉ tăng
ở tần số đến số hạng N/2 và sau đó bắt đầu giảm do các thuộc tính đối xứng
liên hợp và có chu kỳ của phép biến đổi Fourier. Với kiểu đối xứng này, ta
thường dịch chuyển gốc của phổ đến tâm để dùng cho các mục đích hiển thị
và cho việc lọc. Phép dịch chuyển này được thực hiện nhờ sử dụng một tính
chất của phép biến đổi Fourier được gọi là tính chất tịnh tiến tần số, nó sẽ
dịch chuyển gốc của phổ về tâm bằng cách nhân ảnh gốc với (-1)
r+c
trước khi
đem thực hiện phép biến đổi.
Hình sau sẽ minh họa cho phép dịch phổ về tâm
Ảnh gốc Phổ khi chưa dịch tâm Phổ khi dịch tâm
Như là một kết quả của cách thức mà hệ thống thị giác người đáp ứng với độ
sáng, ta có thể nâng cao đáng kể thông tin thị giác sẵn có bằng cách hiển thị
phép biến đổi logarit của phổ sau đây
G(u, v) = k log[1 + |F(u, v)|]
 Nếu không có phép biến đổi Logarit, ta sẽ khó thấy rõ phổ của ảnh. Đây
là lỗi em đã mắc phải khi làm bài
Khoảng động thực tế của phổ Fourier lớn hơn rất nhiều so với 256 mức xám (8-
bits) sẵn có đối với hầu hết các thiết bị hiển thị ảnh. Do đó, khi ta ánh xạ lại nó vào
256 mức xám, ta chỉ có thể thấy các giá trị lớn nhất, thông thường là các số hạng
tần số thấp xung quanh gốc. Hàm logarit nén lại dữ liệu, còn hệ số co giãn k dùng
để ánh xạ dữ liệu vào trong khoảng 0-255.
- Các bước thực hiện lọc ảnh trong miền tần số(ảnh kích thước M * N)
1. Nhân đầu vào của ảnh với (-1)
x+y
để dịch phổ về tâm
ℑ : f(x, y)( −1)

x+y
→ F(u−M/2, v-N/2) m
Chứng minh: Ta có f
1
(x, y) = f(x, y).(- 1)
x+y

( )
2
2
2
2
2
2
2
2
1
N
y
N
i
M
x
M
i
y
N
N
i
x

M
M
i
yx
eeee
×
×
×
×
+
















=

















=−
π
π
π
π
( )






+−
××







+−
+
















=−
N
yv
M
xu
i
N
y
N

i
M
x
M
i
N
yv
M
xu
i
yx
eeeyxfeyxf
π
ππ
π
2
2
2
2
2
2
),(1),(
( ) ( )






+−







−×







−×

=
N
yv
M
xu
i
N
N
y
i
M
M
x
i

eeeyxf
π
ππ
2
2
2
2
2
),(
( ) ( )
















+
















×−+×−


==
2
N
v
2
M
u
N
y
M
x
i
N
N
y

N
yvM
M
x
M
xu
i
eyxfeyxf

ππ
2
22
2
),(),(
2. Tính DFT F1(u,v) của f1(x,y)
3. Nhân F1(u,v) với hàm lọc H(u,v) nhận được kết quả G1(u,v)
G
1
(u, v) = F
1
(u, v)* H(u, v)
4. Tính toán DFT ngược của kết quả ở bước 3, nhận được g1 (x,y)
g
1
(x, y) = ℑ

1
(G
1
(u, v))

5. Nhận được phần thực cho kết quả ở bước 4
g
2
(x, y) = Re ( g
1
(x, y) )
6. Nhân kết quả ở bước 5 với (-1)
x+y
g(x, y) = g
2
(x, y)× (-1)
x+y
3. Tìm hiểu các bộ lọc trong miền tần số
a. Bộ lọc thông thấp
- Bộ lọc thông thấp lí tưởng:
+ mục đích : làm mịn, trơn ảnh và giảm nhiễu
+ hàm truyền đạt có dạng:
Với : D0≥0, được gọi là tần số cắt , là giao điểm của H(u, v)=1 và H(u,v)=0
D(u, v) là khoảng cách từ điểm (u, v) đến gốc tọa độ tần số, trong đó
gốc tọa độ tần số là (u, v)=(M/2, N/2)
D(u, v)= [(u - M/2)
2
+ (v - N/2)
2
]
1/2
 Bộ lọc lý tưởng chỉ ra rằng, tất cả các tần số trong vòng tròn bán kính D
0
không bị suy giảm, trong khi đó tất cả các tần số ngoài vòng tròn này
hoàn toàn bị suy giảm.

Đây là kết quả nhận được để khử những gạch sọc
- Bộ lọc ButterWorth thông thấp: Hàm truyền đạt bậc n với quĩ tích tần số cắt
tại D
0
Kết quả áp dụng
ảnh gốc 512*512 ảnh lọc Butter Worth với
D0=40
với phổ Fourier thể hiện như sau:
Phổ gốc Phổ sau khi lọc
- Lọc thông thấp Gauss
Công thức của bộ loc này như sau:
2
0
2
2/),(
),(
DvuD
evuH

=
Kết quả áp dụng
ảnh gốc với chữ bị gãy nét và sau khi lọc Gauss sẽ giảm sự gãy nét này. Việc này
rất có ý nghĩa trong việc nhận dạng kí tự trong văn bản
=> Qua các bộ lọc thông thấp trên ta có nhận xét như sau: bộ lọc Gauss có độ dốc
thấp nhất, bộ lọc lí tưởng không có trong thực tế, bộ lọc Butter Worth là trung gian
giữa bộ lọc lí tưởng và bộ lọc Gauss, bộ lọc này có độ dốc gần giống bộ lọc Gauss,
nhưng bậc càng cao thì càng dốc
Sau khi thực hiện các phép lọc ảnh với từng bộ lọc, nhận xét tổng quát như sau:
- Mức cắt D0 cang nhỏ, ảnh càng bị mờ, do bộ lọc lấy các thành phần có tần
số thấp

- Với cùng mức cắt D0, bộ lọc Butter Worth cho ảnh mờ hơn bộ lọc Gauss do
bộ lọc Butter Worth dốc hơn, chọn lọc tần số tốt hơn
-
b. Các bộ lọc thông cao
Bộ lọc thông cao có thể suy ra từ bộ lọc thông thấp qua biểu thức:
H
hp
(u, v)= 1- H
lp
(u, v)
Bộ lọc này lấy các thành phần tần số cao, lọc bỏ các thành phần tần số thấp nên
bộ lọc thông cao làm sắc nét ảnh và nổi bật các chi tiết như nhiễu và cạnh biên
Lọc thông cao dùng cho nâng cao ảnh thông thường đòi hỏi một số dạng hậu xử
lí, như là cân bằng histogram, để tạo ra một ảnh chấp nhận được
Các bộ lọc thông cao hay dùng là: lọc thông cao lí tưởng, lọc thông cao Butter
Worth và lọc thông cao Gauss
Cụ thể cho từng bộ lọc như sau:
-Bộ lọc thông cao lý tưởng:
ảnh và phổ sau khi lọc thông cao lí tưởng với D0=10(ảnh gốc 128*128)
- Bộ lọc ButterWorth thông cao:
Cũng ảnh gốc và tần số cắt như trên, kết quả với bộ lọc này như sau:
ảnh kết quả phổ kết quả
- Lọc thông cao Gauss
Kết quả với ảnh gốc và Do như trên:
Cũng tương tự như bộ lọc thông thấp, ta cũng có nhận xét sau:
- Do càng lớn, ảnh sau xử lý càng sắc nét hơn, các chi tiết như cạnh biên và nhiễu
càng được
thể hiện rõ.
- Cùng một giá trị Do, bộ lọc Butterworth tạo ảnh sắc nét hơn bộ lọc Gauss.
c. Các bộ lọc thông dải và loại dải

Bộ lọc chắn dải loại bỏ hay làm suy hao một dải băng tần trong biến đổi Fourier
ban đầu.
Cũng tương tự như các bộ lọc trên, bộ lọc thông dải và loại dải cũng gồm
- Bộ lọc thông dải(loại dải) lí tưởng:
Với bộ lọc loại dải thì giá trj trong khoảng Do-W/2 => Do+W/2 thì
H(u,v)=1, ngoài khoảng này là 0
- Bộ lọc thông dải(loại dải) Butter Worth
- Bộ lọc thông dải(loại dải) Gauss
bộ lọc thông dải lí tưởng(phần vành khăn trắng là 1)
ảnh gốc 257*257 và Do=70; W=20;
d. Biến đổi Laplace trong miền tần số
Ta có biến đổi Fourier của toán tử Laplace
Do đó ta có bộ lọc trong miền tần số như sau:
III. Các bước cài đặt thuật toán:
- Trước hết là đọc dữ liệu của ảnh đầu vào
private void ReadImage()
{
int i, j;
GreyImage = new int[Height , Width ]; //
[Row,Column]
Bitmap image = Obj;
BitmapData bitmapData1 = image.LockBits(new
Rectangle(0, 0, Width, Height),

ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb );
unsafe
{
byte* imagePointer1 =
(byte*)bitmapData1.Scan0;
for (i = 0; i < Height; i++)

{
for (j = 0; j < Width; j++)
{
GreyImage[i, j] = (int)
((imagePointer1[0] + imagePointer1[1] +
imagePointer1[2]) / 3.0);
imagePointer1 += 3;
}//end for j
imagePointer1 += bitmapData1.Stride
- (bitmapData1.Width * 3);
}//end for i
}//end unsafe
image.UnlockBits(bitmapData1);
return;
- }
Với Width và Hight là kích thước ảnh, Obj là ảnh gốc và dữ liêu được lưu
trong mảng GreyImage
- Hiển thị Phổ biên độ và phổ pha sau khi biến đổi Fourier
- Chọn bộ lọc thích hợp cho ảnh
- Thực hiện nhân kết quả sau khi biến đổi Fourier với hàm lọc đã chọn
- Biến đổi Fourier ngược và đưa dữ liệu vào ảnh mới, hiển thị ảnh kết quả lên
màn hình
IV. Kết luận
Hiện tại, em đã thực hiện tìm hiểu và cài đặt được với các bộ lọc như
trên. Nhưng với 1 số ảnh, nhiễu không phân bố ở dải tần số cao hẳn hay
thấp hẳn mà lại phân bố ở 1 số điểm nhỏ lẻ, thì ta có thể xây dựng bộ lọc
nào đó loại đi thành phần này thôi không. Em đang tiếp tục tìm hiểu vấn
đề này với bộ lọc đánh dấu(Notch) có dạng như sau
Những vấn đề chưa giải quyết được
- Chưa thực hiện cài đặt xử lí với ảnh màu

- Do kiến thức còn hạn chế nên bài tập của em còn rất nhiều sai sót, kính
mong thầy tạo điều kiện và giúp đỡ để em có thể học hỏi thêm được nhiều
kiến thức và kinh nghiệm hơn nữa

×