Khôi phục ảnh
Mô hình giảm cấp
Lọc ngược
Lọc Wiener
Lọc thích nghi
Làm nổi thuộc tính ảnh
Histogram
Các toán tử xử lý điểm
Các toán tử Histogram
Các toán tử không gian
Các toán tư biến đổi
Xử lý ảnh đa phổ
Xử lý ảnh màu
71 trang |
Chia sẻ: haohao89 | Lượt xem: 2168 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Bài giảng Xử lý ảnh số: Tiền xử lý, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Xử lý ảnh số
Ts.NGÔ VĂN SỸ
ĐẠI HỌC BÁCH KHOA
ĐẠI HỌC ĐÀ NẴNG
Chương 3 Tiền xử lý
Khôi phục ảnh
Mô hình giảm cấp
Lọc ngược
Lọc Wiener
Lọc thích nghi
Làm nổi thuộc tính ảnh
Histogram
Các toán tử xử lý điểm
Các toán tử Histogram
Các toán tử không gian
Các toán tư biến đổi
Xử lý ảnh đa phổ
Xử lý ảnh màu
Khôi phục ảnh
Mô hình giảm cấp
Khôi phục ảnh
Mô hình giảm cấp
Khôi phục ảnh
Lọc ngược
Khôi phục ảnh
Lọc ngược
Khôi phục ảnh
Lọc Wiener
Khôi phục ảnh
Lọc Wiener
Khôi phục ảnh
Lọc thích nghi
Khôi phục ảnh
Lọc thích nghi
Làm nổi thuộc tính ảnh
Khái niệm:
Trong một bức ảnh có nhiều thông tin mà người sử dụng quan tâm, mỗi
loại thông tin khác nhau được tiềm ẩn dưới một thuộc tính khác nhau, và
để trích chọn một cách chính xác các thông tin này cần phải làm nổi
thuộc tính tương ứng.
Việc làm nổi thuộc tính nói chung không làm giàu thêm thông tin trong
bức ảnh mà chỉ giúp cho nó lộ rõ. Khi làm nổi thuộc tính này thì các
thuộc tính khác có thể mờ nhạt, thậm chí mất đi, vì vậy kết quả xử lý
đôi khi làm cho bức ảnh xấu đi.
Phân loại :
Các thuộc tính histogram
Các thuộc tính không gian
Các thuộc tính hình học
Các thuộc tính biến đổi
Các thuộc tính phổ
Các thuộc tính màu sắc
Làm nổi thuộc tính ảnh
Histogram
Khái niệm:
Histogram của một bức ảnh biểu thị tần suất xuất
hiện của các giá trị pixel trong bức ảnh
Là hình ảnh của hàm mật độ xác suất xuất hiện các
giá trị pixel.
Biểu diễn theo 3 cách:
Xác suất xuất hiện các pixel : Pu( xi).
Tỷ lệ phần trăm (100xPu( xi))
Số pixel có giá trị xi : h( xi).
Làm nổi thuộc tính ảnh
Histogram
34440266
53201157
44400557
32010505
53444005
75320105
65344432
77532011
Pu(0) = 3/16, Pu(1) =3/32
Pu(2) = 3/32, Pu(3) =1/8
Pu(4) =3/16 , Pu(5) =3/16
Pu(6) =3/64 , Pu(7) =5/64
h(0)=12; h(1)=6; h(2)=6; h(3)=8;
h(4)=12; h(5)=12; h(6)=3; h(7)=5;
Pu( xi)
xi
0 1 2 3 4 5 6 7
Đánh giá độ chói và độ tương phản
dựa vào histogram
Độ tương phản
Histogram hẹp độ tương phản thấp
Histogram càng rộng độ tương phản càng cao
Histogram phân bố đều, độ tương phản là cực đại.
Độ chói (0 trắng, L-1 đen)
Historam dồn về bên trái, độ chói cao (thừa sáng)
Historam dồn về bên phải, độ chói thấp (thiếu sáng)
Làm nổi thuộc tính ảnh
Các toán tử xử lý điểm
Kéo dãn histogram
Cắt ngưỡng
Khử nhiễu
Chia mức cường độ
Tạo âm bản số
F(.)
u v = F(u)
Các toán tử xử lý điểm
Kéo dãn histogram
Đặc tuyến vào ra
v
u
Pu(xi)
Pv(xi)
0 a b L-1 xi.
0
L
-
1
x
i
.
0 L-1 xi.
1
1,
Lub )(
ua )(
au0
>
<
⎪⎩
⎪⎨
⎧
<<+−
<<+−
<<
=
β
γα
γ
β
α
b
a
vbu
bvau
u
v
Các toán tử xử lý điểm
Cắt ngưỡng
Đặc tuyến vào ra
v
u
Pu(xi)
Pv(xi)
0 Th L-1 xi.
0
L
-
1
x
i
.
Các toán tử xử lý điểm
Khử nhiễu
Đặc tuyến vào ra v
u
Pu(xi)
Pv(xi)
0 a b L-1 xi.
0
L
-
1
x
i
.
Các toán tử xử lý điểm
Chia mức cường độ
Đặc tuyến vào ra
v
u
Pu(xi)
Pv(xi)
0 a b L-1 xi.
0
L
-
1
x
i
.
Các toán tử xử lý điểm
Tạo âm bản số
Đặc tuyến vào ra:
v = L-1-u
0
L
-
1
x
i
.
v
u
Pu(xi)
Pv(xi)
0 L-1
xi.
Làm nổi thuộc tính ảnh
Các toán tử Histogram
Cân bằng histogram
Hiệu chỉnh histogram
Sửa đổi theo histogram tiền định
Sơ đồ chung
U(m,n)
F(u) Tái lượng
tử đều
Pu(xi)
V'(m,n) V(m,n)
Các toán tử histogram
Cân bằng Histogram
Tái lượng
tử đềuPu(xi)
V'(m,n)
V(m,n)
U(m,n) ∑
=
−= u
x
iuu
i
xPLuF
0
)()1()( ⎥⎦
⎤⎢⎣
⎡ +−−−
−= 5,0)1(
'1
''int
min
min L
vL
vvv
Các toán tử histogram
Hiệu chỉnh Histogram
∑
∑
−
=
==
1
0
1
0
1
)(
)(
)(
L
xi
nu
u
xi
nu
xiP
xiP
uF
Các hàm phi tuyến thường dùng để hiệu chỉnh:
f(u) = log(1+u)
f(u) = u1/n.
Các toán tử histogram
Biến đổi theo histogram định trước
Giả sử biến ngẫu nhiên u ≥ 0 với hàm mật độ xác suất Pu(u)
được biến đổi thành v ≥ 0, sao cho v có hàm mật độ xác suất
định trước Pv(v). Để thực hiện điều này, cần xác định một biến
ngẫu nhiên phân bố đều :
Sao cho thoả mãn quan hệ:
Loại trừ w ta được
))((
)()(
)()(
1
0
0
uFFv
vFdyypw
uFdxxpw
uv
v
v
v
u
u
u
−=
==
==
∫
∫
Biến đổi theo histogram định trước
Nếu u và v là hai biến ngẫu nhiên rời rạc nhận giá trị x và y
tương ứng (i = 1ÆL-1),với các hàm mật độ xác suất Pu(x) và
Pv(y). Thì công thức trên có thể viết lại
Gọi w' là các giá trị ~wn sao cho ~wn-w ≥ 0 đối với giá trị nhỏ
nhất của n, thì v' = yn là giá trị ra tương ứng với u.
Sơ đồ xử lý
1-L 0 k )(w )(
0
~
k
0
→=== ∑∑
==
k
i
iv
u
x
iu ypxpw
i
wu ∑
=
u
x
iu
i
xP
0
)( 0}w-w{min n
~ ≥
n
Fv-1(.)
w'=~wn v'=yn
Thí dụ
Cho xi, yi = 0,1,2,3 với các hàm mật độ xác suất:
p(xi) = 0,25 với mọi i và
p(y0) = 0, p(y1) = p(y2) = 0,5 và p(y3) = 0
Quá trình xử lý như sau:
221,001,001,000,253
221,001,000,750,252
110,500,500,050,251
110,500,000,250,250
v'nw'~wkwp(xi)u
Làm nổi thuộc tính ảnh
Các toán tử không gian
Lọc tuyến tính
Lọc thông thấp (Lọc trung bình)
Lọc thông cao
Lọc thông dải
Lọc phi tuyến
Lọc trung vị (median)
Lọc Gaussian ngược
Lọc tương phản ngược
Các toán tử không gian tuyến tính
Lọc thông thấp LPF
Còn gọi là lọc trung bình, phương trình lọc:
Ví dụ lọc trung bình trong cửa sổ 3x3
Các mặt nạ lọc thông thấp
11111
11111
11111
11111
11111
25
1
111
111
111
9
1
)1,1(),1()1,1(
)1,(),()1,(
),1(),1()1,1(
9
1),(
l)-nk,-u(m1),(
W,w
⎥⎥
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎢⎢
⎣
⎡
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
+++++−++
+++−+
−+−+−−
=
= ∑
∈
nmunmunmu
nmunmunmu
nmunmunmu
nmv
N
nmv
lk
Các toán tử không gian tuyến tính
Lọc thông cao
Sử dụng bộ lọc thông thấp
hLPF(m,n) +
_
+
u v=u- v1v1
Các toán tử không gian tuyến tính
Lọc thông dải
Sử dụng hai bộ lọc thông thấp
hLPF1(m,n)
+
_
+
u v= v2 - v1
v1
hLPF2(m,n)
v2
hBPF=hLPF2- hLPF1
Các toán tử không gian tuyến tính
Lọc thông thấp và thông cao có trong số:
-111121
-14-141/82421/16
-111121
Làm nổi thuộc tính ảnh
Các toán tử không gian
Làm nổi thuộc tính ảnh
Các toán tử không gian
Các toán tử không gian phi tuyến
Lọc median
Phương trình lọc
Các bước thực hiện:
Lấy các pixel trong cửa sổ định trước
Sắp xếp các pixel theo thứ tự tăng hoặc giảm
Lấy giá trị pixel đứng giữa (hoặc lấy TBC của hai
giá trị đứng giữa)
{ }),(),(
,
lnkmumediannmv
Wlk
−−=
∈
Làm nổi thuộc tính ảnh
Cửa sổ khe 16 hướng lượng tử
000000cxc
112c677
112345677
112345677
23456
23456
23456
23456
Các toán tử không gian phi tuyến
Lọc Gausian ngược
Nếu nhiễu được mô hình hoá bằng một trường ngẫu nhiên rời
rạc tuân theo phân bố Gauss, thì bộ lọc có đáp ứng xung như sau
sẽ khử nhiễu rất tốt
Đây là mặt nạ lọc Gauss ngược
⎭⎬
⎫
⎩⎨
⎧ += )(
2
1exp
2
1),( 2
22
σπσ
lklkh
Các toán tử không gian phi tuyến
Lọc tương phản ngược
Các toán tử không gian phi
tuyến
Các toán tử không gian phi
tuyến
Các toán tử không gian phi
tuyến
Làm nổi thuộc tính ảnh
Các toán tư biến đổi
Sơ đồ xử lý
A.U.AT
Zonal
Mask
A-1.V'. [AT]-1
U V V' U'
Các cửa sổ tần số
Miền tần số liên tục
Miền tần số không gian rời rạc
(DFT-2D)
0 1 2 k N-1
0
1
2
3
l
M-1
LPF LPF
LPFLPF
BPF
BPFBPF
BPF
HPF
Miền biến đổi cosin rời rạc
(DCT)
0 1 2 3 k N-1
LPF
BPF
HPF
0
1
2
3
l
M-1
Làm nổi thuộc tính ảnh
Các toán tư biến đổi
Xử lý ảnh đa phổ
Nguồn polylight
Các bộ lọc chọn bước sóng thích hợp
Thu nhận ảnh đối tượng bằng mỗi bước
sóng
Tổ hợp các bức ảnh đơn sắc (phổ hẹp)
Xử lý ảnh đa phổ
Xử lý ảnh đa phổ
Xử lý ảnh đa phổ
Xử lý ảnh đa phổ
Xử lý ảnh màu
Sơ đồ xử
lý
Biến
đổi hệ
toạ độ
màu
R
G
B
Biến
đổi
ngược
hệ toạ
độ
màu
R'
G'
B'
T1
T2
T3
T'1
T'2
T'3
Xử lý đơn sắc 1
Xử lý đơn sắc 2
Xử lý đơn sắc 3
Xử lý ảnh màu
Xử lý ảnh màu
Xử lý ảnh màu
Xử lý ảnh màu
Bài tập
Viết chương trình con tính histogram
Viết chương trình con hiển thị histogram trên cửa sổMxN
Viết chương trình con xử lý điểm theo LUT
(LookUpTable)
Viết chương trình con lọc median
Viết chương trình con thực hiện tổng chập 2D
Viết chương trình con thực hiện tổ hợp các ảnh đa phổ
Viết chương trình con thực hiện chuyển đổi hệ toạ độ
màu.
Chương trình con tính histogram
Lưu đồ thuật toán tính histogram
i=0; j=0
h[InImage[i] [j]]+=1
j +=1
i +=1
Begin
Endj < N i < M
F FT
T
Chương trình con tính Histogram
Histogram(BYTE * InImage, int M, int N, BYTE *Histo)
{ int i, j;
for(i=0; i<M; i++)
for(j=0; j<N; j++)
Histo[*(InImage + i*N +j)] += 1;
/* Histo[InImage[i][j]] += 1; */
return 0;
}
Chương trình con xử lý điểm theo
LUT (Look-Up-Table)
Lưu đồ thuật toán
i=0; j=0
OutImage[i] [j] = LUT[InImage[i] [j]]
j +=1
i +=1
Begin
Endj < N i < M
F FT
T
Chương trình con xử lý điểm
PixelProcessing(BYTE * InImage, int M, int N,
BYTE *LUT, BYTE *OutImage)
{ int i, j;
for(i=0; i<M; i++)
for(j=0; j<N; j++)
OutImage[i][j] = LUT[InImage[i][j]] ;
return 0;
}