Tín hiệu số hai chiều (2-Dimension)
Số hoá tín hiệu hai chiều
Hệ thống số hai chiều
Biến đổi Fourier hai chiều FT-2D
Biến đổi Fourier hai chiều rời rạc DFT-2D
Biến đổi Z hai chiều (Biến đổi Lauren)
Các phép biến đổi trực giao 2D khác, ứng dụng trong xử lý ảnh số.
44 trang |
Chia sẻ: haohao89 | Lượt xem: 2978 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Xử lý ảnh số - Ngô Văn Sỹ, để 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
Tín hiệu và hệ thống số
2D
Tín hiệu số hai chiều (2-Dimension)
Số hoá tín hiệu hai chiều
Hệ thống số hai chiều
Biến đổi Fourier hai chiều FT-2D
Biến đổi Fourier hai chiều rời rạc DFT-2D
Biến đổi Z hai chiều (Biến đổi Lauren)
Các phép biến đổi trực giao 2D khác, ứng dụng
trong xử lý ảnh số.
Tín hiệu số hai chiều
(2-Dimension)
Định nghĩa: Tín hiệu số hai chiều là hàm
thực hay phức của hai biến nguyên độc
lập
⎥⎥
⎥⎥
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎢⎢
⎢⎢
⎣
⎡
−−−−−
−
−
−
=
)1,1(...),1(...)1,1()0,1(
::::::
)1,(...),(...)1,()0,(
::::::
)1,1(...),1(...)1,1()0,1(
)1,0(...),0(...)1,0()0,0(
),(
NMxlMxMxMx
Nkxlkxkxkx
Nxlxxx
Nxlxxx
nmx
N kích thước bức ảnh theo chiều ngang
M kích thước bức ảnh theo chiều đứng
Các tín hiệu số hai chiều cơ bản
Hàm Delta Kronecker
Hàm bước nhảy đơn vị 2D
Hàm xung chữ nhật 2D
Hàm sin rời rạc 2D
Hàm cosin rời rạc 2D
Hàm mũ thực 2D
Hàm mũ ảo 2D
Hàm Delta Kronecker
δ(m,n)⎩⎨
⎧
≠∀
=∧==
0n m, 0
0)(n 0)(m Khi 1
),( nmδ
m
n
Hàm bước nhảy đơn vị 2D
⎩⎨
⎧
<∀
≥∧≥=
0n m, 0
0)(n 0)(m Khi 1
),( nmu
u(m,n)
m
n
Hàm xung chữ nhật 2D
rect32(m,n)
m
n
⎩⎨
⎧
≤∨<∨≤∨<
<≤∧<≤=
)(N)0(nm)(M0)(m Khi 0
1)-(01)-Mm(0 Khi 1
),(
n
Nn
nmrectMN
Hàm sin và cosin rời rạc 2D
∞<<∞−=
∞<<∞−=
nmn
N
m
M
nm
nmn
N
m
M
nm
NM
NM
, Khi )2cos()2cos(),(cos
, Khi )2sin()2sin(),(sin
ππωω
ππωω
sinωN(n)
n
cosωM(m)
m
Hàm mũ thực 2D
∞<<∞= n m,- Khi .),( nm banme
e(n)=bn.
n
m
e(m)=am
a, b là số thực
Xét hai trường hợp :
|b|>1 dãy một chiều là tăng
|a|<1 dãy một chiều là suy
giảm
Hàm mũ ảo 2D
)
2
sin()
2
cos(
)
2
sin()
2
cos(
),(
n
N
jn
N
m
M
jm
M
N
M
NM
jm
jm
jnjm
e
evoi
eenmE
ππ
ππ
ω
ω
ωω
+
+
=
=
=
Như vậy có thể tổ hợp phức cho hàm sin
và cosin rời rạc để thu được hàm mũ ảo
Số hoá tín hiệu hai chiều
Lượng tử
hoá và điều
khiển logic
Mã hoá
Lấy mẫu trên lưới chữ nhật
f(x,y)
fs(m∆xs,n∆ys) fq(m,n) f(m,n)
Định lý lấy mẫu 2D
Tín hiệu f(x,y) có phổ tần số không gian được hạn chế trong
một miền biên, có thể được đặc trưng một cách chính xác bởi
các mẫu được lấy đều trên một lưới chữ nhật với điều kiện
chu kỳ lấy mẫu theo chiều ngang ∆xs (và chiều đứng∆ys) không
vượt quá một nửa chu kỳ của thành phần tần số không gian cực
đại theo chiều ngang ∆xmin(và chiều đứng ∆ymin).
1 ;1
2 ;2
2
1 ;
2
1
maxmax
minmin
s
ys
s
xs
yysxxs
ss
yx
yyxx
∆=∆=
≥≥
∆≤∆∆≤∆
ξξ
ξξξξ và
và
Chèn phổ
Tốc độ lấy mẫu thấp
Chèn phổ
Tần số lấy mẫu thoả mãn định lý Nyquist
Chèn phổ
Tần số lấy mẫu đủ lớn
Khôi phục tín hiệu lấy mẫu
Công thức khôi phục tín hiệu analog từ tín hiệu lấy mẫu 2D là:
)
)(
)sin(
)(
)(
)sin((),(),( πξ
πξ
πξ
πξ
ny
ny
mx
mxynxmfyxf
ys
ys
xs
xs
m n
ss −
−
−
−∆∆= ∑ ∑∞
−∞=
∞
−∞=
Lưới lấy mẫu interlace (quin-cunx)
Giảm tốc độ lấy mẫu mà vẫn không bị chèn phổ
ξxs
ξys
Lưới lấy mẫu lục giác
Cho chất lượng ảnh số tốt nhất
Hệ thống số hai chiều
Được mô hình hoá bằng mô hình hộp đen với một đầu vào và một
đầu ra
Trong đó x(m,n) được gọi là tín hiệu vào hay tín hiệu kích thích,
y(m,n) được gọi là tín hiệu ra hay tín hiệu đáp ứng.
H[.]x(m,n)
y(m,n)
y(m,n) = H[x(m,n)]
Hệ thống số hai chiều
Đáp ứng xung
Là đáp ứng của hệ thống 2D với tín hiệu vào là hàm Delta
Kronecker
h(m,n)x(m,n)
δ(m,n)
y(m,n) = x(m,n)*h(m,n)
h(m,n)
trong trường hợp hệ thống là tuyến tính, bất biến
),(*),(),(.),(
),(.),(),(*),(
nmxnmhlkxlnkmh
lkhlnkmxnmhnmx
k l
k l
=−−=
−−=
∑ ∑
∑ ∑
∞
−∞=
∞
−∞=
∞
−∞=
∞
−∞=
Hệ thống số hai chiều
Tính chất tuyến tính
Hệ thống số 2D được gọi là tuyến tính nếu và chỉ nếu nó thoả mãn
nguyên lý xếp chồng
x1(m,n)
x(m,n) =
a1x1(m,n)+a2x2(m,n)
x2(m,n)
H[.]
y(m,n) = H[x(m,n)]
y1(m,n)
y(m,n) =
a1y1(m,n)+a2y2(m,n)
y2(m,n)
Hệ thống số hai chiều
Tính chất bất biến
H[.]δ(m,n)
h(m,n)
δ(m-k,n-l) h(m,n ; k,l)
h(m,n ; k,l) = h(m-k,n-l)
Hệ thống được gọi là bất biến đối với phép tịnh
tiến trong không gian nếu và chỉ nếu đáp ứng
xung của nó không thay đổi hình dạng, mà chỉ
dịch chuyển tương ứng với phép tịnh tiến
Hệ thống số hai chiều
Tính nhân quả
Một hệ thống DSP-2D được gọi là nhân quả nếu và
chỉ nếu đáp ứng xung của hệ thống khác không ở ¼
mặt phẳng thứ I:
x x x x
x x x x
x x x x
x x x x
Bán nhân quả nếu h(m,n) khác không ở một nửa mặt
phẳng
Phi nhân quả trong trường hợp còn lại
Hệ thống số hai chiều
Tính ổn định
Một hệ thống DSP-2D được gọi là ổn định
nếu và chỉ nếu đáp ứng xung của nó là hữu
hạn
∞<∑ ∑∞
−∞=
∞
−∞=m n
nmh ),(
Hệ thống số hai chiều
Tính tách rời
Một hệ thống DSP-2D được gọi là có thể tách
rời nếu và chỉ nếu đáp ứng xung của nó có thể
phân tích thành thừa số của hai đáp ứng xung 1D.
x(m,n)=x1(m)x2(n)
H1[.]
y(m,n)=y1(m)y2(n)
y(m,n) = H2[H1[x(m,n) ]]
H2[.]
h(m,n)=h1(m)h2(n)
Tổng chập 2D
Các bước thực hiện:
Quay mặt nạ 1800.
Dịch mặt nạ từ trái sang phải và từ trên xuống
dưới, sao cho tâm lần lượt đi qua tất cả các
điểm ảnh.
Ở mỗi vị trí pixel trung tâm (m,n), lấy tổng của
tất cả các tích hệ số mặt nạ lọc và pixel láng
giềng, kết quả đặt ở pixel (m,n) tương ứng
trên bức ảnh ra.
Tổng chập 2D
34440266
53201157
44400557
32010505
53444005
75320105
65344432
77532011
111
-1-1-1
-1
-14-1
-1
Biến đổi Fourier hai chiều
FT-2D
∑ ∑∞+
−∞=
∞+
−∞=
−−=
−=
m n
njwmjw
jwjw
eenmx
nmxDFTeeX
21
21
.),(
)],([2),(
∫∫=
=−= −
212
1
2121
21
),(
4
1
)],([2),(
ωωπ ddeeeeX
eeXDFTnmx
njwmjwjwjw
jwjw
Cặp biến đổi FT-2D:
Biến đổi thuận
Biến đổi ngược
Các tính chất của FT-2D
Tuyến tính
Dịch không gian
Dịch tần số không gian
Nhân
Tổng chập
Biểu diễn hệ thống 2D trong miền
tần số không gian
Đáp ứng tần số không gian
X(ejw1, ejw2) Y(ejw1, ejw2)
H(ejw1, ejw2)
Y(ejw1, ejw2)= X(ejw1, ejw2).H(ejw1, ejw2)
Đáp ứng biên độ H và đáp ứng pha argH của hệ thống 2D trong miền
tần số không gian
Biến đổi Fourier hai chiều
rời rạc DFT-2D
Biến đổi Z hai chiều (Biến
đổi Lauren)
Các phép biến đổi trực giao 2D
khác, ứng dụng trong xử lý ảnh số.
Biến đổi sin rời rạc
Biến đổi cosin rời rạc
Biến đổi Karuhnen-Louve
Biến đổi Haar
Biến đổi Gabor
Biến đổi wavelet
Bài tập:
Viết chương trình con tổng chập 2D
#define unsigned char BYTE
Convolut-2D (BYTE *InImage, int M, int N, BYTE *Mask, int Hmask, int Vmask, BYTE
*OutImage)
{
int m, n, i, j;
for(i = 0; i <Vmask; i++)
for(j = 0; j <Hmask; i++)
/* Dao hang va cot */
Mask1[i][j] = Mask[M-i-1][N-j-1];
for(i = 0; i <Vmask; i++) {
tam = Mask[i][j];
Mask[i][j] = Mask[M-i+1][j];
Mask[M-i+1][j] = tam;
}
for(j = 0; j <Hmask; i++) {
tam = Mask[i][j];
Mask[i][j] = Mask[i][N-j-1];
Mask[i][N-j-1] = tam;
}
for(m = 0; i <M; m++)
for(n = 0; n <N; n++)
for(i = 0; i <Vmask; i++)
for(j = 0; j <Vmask; i++) {
*(InImage +m*N+n)
}