1
Xử lý ảnh
Mục tiêu:
Nắm bắt được khái niệm cơ bản về xử lý ảnh, sau đó có thể sử dụng
phần mềm xử lý ảnh, viết được một số thủ tục đơn giản về xử lý ảnh.
CHƯƠNG 1: TỔNG QUAN VỀ XỬ LÝ ẢNH
I-Xử lý ảnh là gì?
Ảnh số là gì:
Ảnh tạo bởi các điểm ảnh, điểm ảnh có vô vàn thứ, ví dụ như: ảnh chân dung, ảnh X-
quang, ảnh thân nhiệt. Điểm ảnh đặc trưng cho một giá trị nào đó là 1 hàm n biến.
Ảnh trong thực tế là một ảnh liên tục về không gian và về giá trị độ sáng. Để có thể xử
lý ảnh bằng máy tính cần thiết phải tiến hành số hoá ảnh. Trong quá trình số hoá,
ngươif ta biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông qua quá trình lấy mẫu
(rời rạc hoá về không gina) và lượng hoá thành phần giá trị mà về nguyên tắc bừng
mắt thường không phân biệt được 2 điểm kề nhau. Trong quá trình này người ta sử
dụng khái niệm điểm ảnh được gọi từ picture element.
Điểm ảnh hay còn gọi là pixel (picture element, pels, image elements)
được xem như là dấu hiệu hay cường độ sáng tại một toạ độ trong không gian
của đối tượng.
Ảnh được xem như là một tập hợp các điểm ảnh. Khi được số hoá nó
thường được biểu diễn là ma trận 2 chiều a[i][j] mà mỗi phần tử có một giá trị
nguyên hoặc là một véc tơ cấu trúc màu.
- Mức xám (gray level)
Mức xám là kết qu
ả sự mã hoá tương ứng một cường độ sáng của mỗi
điểm ảnh với một giá trị số-kết quả của quá trình lượng hoá.
Ví dụ: xem cả lớp là một ảnh, mỗi người là một điểm ảnh. mỗi người có một đặc
trưng. Nếu xem về đặc trưng giới tính thì ảnh có 2 mức xám là; nam và nữ. Nếu xem
u hơn.
- Thị giác máy: là một hệ xử lý ảnh hoàn chỉnh bao gồm thu nhận ảnh,
tăng cường chất lượng ảnh, nhận dạng.
II- Cấu trúc của hệ thống xử lý ảnh
-Thu nhận ảnh:
Ảnh có thể thu nhận qua camera (thường ảnh thu nhận qua camera là
tín hiệu tương tự cũng có thể là tín hiệu số hoá), từ vệ tinh qua các bộ cảm
ứng (sensor) hay ảnh, tranh được quét trên scanner.
Sau đó ảnh được số hoá để biến đổi tín hiệu tương tự sang tín hiệu rời
rạc (lấy mẫu) và số hoá bằng lượng hoá.
-Tiền xử lý (preprocessing): làm tốt các ảnh để nâng cao chất lượng ảnh
(xoá nhiễu, tăng cấp sáng, làm trơn các biên, lọc, tăng độ tương phản…).
Do những nguyên nhân khác nhau; có thể do chất lượng thiết bị thu nhận, do
nguồn sáng hay do nhiễu, ảnh có thể bị suy biến, do vậy cần phải tăng cường và khôi phục
lại ảnh để làm nổi bật một số đặc tính chính của ảnh, hay làm cho ảnh gần giống nhất với
trạng thái gốc- trạng thái trước khi ảnh bị biến dạng
Photoshop dừng ở giai đoạn này.
-Trích chọn dấu hiệu (Feature Extracting): phát hiện các đặc tính như
biên, phân vùng ảnh, trích chọn các đặc tính…tuỳ thuộc vào từng ứng dụng.
Mỗi đối tượng ảnh có đặc trưng riêng phụ thuộc phương pháp nhận dạng, một ứng dụng
có nhiều phương pháp nhận dạng, mỗi phương pháp nhận dạng có nhiều phương pháp
chọn dấu hiệu.
-Nhận dạng: nhận dạng chữ, vân tay,…
Nhận dạng ảnh: là quá trình liên quan đến các mô tả đối tượng mà
Các phần mềm chuyển đổi ảnh Raster sang ảnh vector
R2V của hãng Able
MapScan của Viện CNTT
TrixSystem R2V và V2R
• Hoạt hình: biến đổi hình học,
bóp méo hình học
• Quân sự
• Dự báo thời tiết, cháy rừng, lũ
lụt, sâu bệnh, khoáng sản.
• Thiên văn học, vật lý, sinh học
• An ninh
Nhận dạng vân tay,Water Marking
Nhận dạng khuôn mặt người, Nhận dạng tội phạm
Dấu thông tin trong ảnh
Chống bạo lực: dùng camera để phát hiện ra sự an toàn ở nơi công cộng
•
Siêu thị
bar code: nhận dạng mã vạch
Các robot tự động phục vụ.
• Thư viện: Dùng camera để điều khiển robot.
Ngoài ra có ứng dụng trong y học làm nổi các ảnh, trong thiên văn học để
khôi phục lại ảnh do tác động của khí quyển hay nén ảnh trong truyền đi
xa hoặc lưu trữ.
4
CHƯƠNG 2: THU NHẬN ẢNH VÀ MÔ HÌNH THỂ HIỆN ẢNH
Brightness: sắc màu, còn gọi là độ chói
Hue: sắc lượng hay còn là sắc thái màu
Saturation: độ bão hoà.
Với nguồn sáng đơn sắc, độ hue tương ứng với bước sóng λ ∈[380nm, 780
nm] 5
2. Thông tin về ảnh
• Chiều rộng: số pixel/ dòng ( số byte/dòng)
• Chiều cao: số dòng
• độ phân giải: số pixel/inch thường là 300dpi (dots per inch)
• số bit/ pixel
1 bit↔ đen, trắng (2 màu)
4 bit↔16 màu
8 bit↔256 màu
n bít ↔ 2
n
màu
số bit/ pixel ≤ 8 phải có pallete màu
> 8 dùng màu trực tiếp
header palette
infor R G B
palette
i R G B
data
Tọa độ trên các cạnh trục biểu diễn các màu cơ sở.
7
Các cạnh còn lại biểu diễn màu bù cho mỗi màu cơ sở
.
Đường chéo từ (0, 0, 0) đến (1, 1, 1) là biểu diễn màu xám.
Cho 2 điểm ảnh P
1
(r
1
, g
1
, b
1
), P
2
(r
Black=0, White=7.
b)
CMY, CMYK:
Mô hình màu xác định bởi các màu cơ sở cyan, magenta và yellow
dành cho máy in màu. Mô hình CMY là bù của mô hình RGB.
Biểu đồ CMY thuộc loại mô hình trừ.
Black (0,0,0)
Green (0,1,0)
Cyan
(0,1,1)
White (1,1,1)
Magenta (1,0,1)
Red (1,0,0)
Blue (0,0,1)
yellow (1,1,0)8
CMY(cộng tính)
CMYK(trừ tính)
C) HSV H (Hue) bước sóng gốc của ánh sáng
+ Thay đổi S: Bổ sung hay bớt trắng
+ Thay đổi V: Bổ sung hay bớt đen
9
+ Cho đến khi có màu mong muốn Mắt người có thể phân biệt 128 Hues, 130 tints và cực đại 30 shades
(Yellow):
128 x 130 x 30 = 382 720 màu khác nhau
H ↔130 mức
S, V↔ 23 mức
Tổ hợp màu 130x23x23 là khoảng 16 triệu màu. Có thể truyền theo
kênh tivi bằng HSV nhưng trên màn hình là RGB.
d) HSI
Hue 130 mứcH
Red
Cya
Yellow
Magent
Green
White
Blue
RGB
V
S
Tones
MG
CR
CMYK, K=min (C, M, Y )
⎪
⎩
⎪
⎨
⎧
−=
−=
−=
KYY
KMM
KCC
*********************************************************
CHƯƠNG 3: CÁC PHÉP BIẾN ĐỔI KHÔNG PHỤ THUỘC VÀO KHÔNG
GIAN VÀ CÁC PHÉP TOÁN TRÊN ĐA ẢNH
3.1. Giới thiệu
Các phép toán không phụ thuộc không gian là các phép toán toàn cục
không phụ thuộc vào vị trí của điểm ảnh.
+ Tăng giảm độ sáng
+ Điều chỉnh
+ Hiệu chỉnh độ tương phản
+ Phép toán thống kê
+ Loại bỏ nền của ảnh
+ Tách theo ngưỡng và chồng nhiều ảnh
11
0
1
2
3
4
5
6
0123457
g
h(g)
Nếu phát triển đến 256 màu các điểm sẽ liền kề nhau, tạo thành đường cong.
• Kỹ thuật 1: Tăng giảm độ sáng của ảnh
Cộng vào mọi điểm ảnh một giá trị C
I(x, y)←I(x, y) + C
C > 0 ảnh sáng lên
C< 0 ảnh tối đi.
Ví dụ: Ảnh đã bị tối đi và sáng lên
1 4 2 8 5 7 31 34 32 38 35 37
4 2 8 5 7 1 34 32 38 35 37 31
2 8 5 7 1 4
Cộng với
C=30
32 38 35 37 31 34
γ
= e
γ ln(I(x, y))
γ> 1: tăng độ giãn của ảnh
γ<1: ảnh gần lại nhau
γ→ 0: ảnh tập trung
Ví dụ:
* Kỹ thuật 4: Tách ngưỡng
θ >0 : ngưỡng
Max nếu I(x, y) > θ
I(x, y)= Min nếu I(x, y) <= θ
e
γ
13
Chia ảnh thành 2 phần nền và vùng. Nếu Min=0, Max =1 thì kỹ thuật
chia ảnh thành ảnh đen trắng
tồn tại sai số
sai số: g
∈
nền, xếp g vào vùng ảnh (dính, bắt nhầm)
g
∉
nền, xếp g vào nền (đứt nét, bỏ sót)
Nhược điểm: Có thể xảy ra các sai sót nền thành ảnh hoặc ảnh thành
Thông thường có nhiều nhóm với kích thước khác nhau, để tổng quát
khi biến đổi người ta sẽ lấy cùng một kích thước.
Cách làm
Chia các nhóm đều nhau có cùng kích thước là bunch_size
I[i, j] = (I[i,j] DIV bunch_size)*bunch_size (đây là phép chia lấy phần
nguyên)
Ví dụ:
⎟
⎟
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎜
⎜
⎝
⎛
=
[0, 1, 2] [3, 4, 5] [6, 7, 8] [9,…]
0 3 6 9
*Kỹ thuật 6: Tách ngưỡng tự động
Chia dãy cấp xám thành 2 phần: tìm θ chia ảnh thành 2 phần.
Kỹ thuật nhằm tìm ra ngưỡng θ dựạ vào Histogram một cách tự động
theo nguyên lý vật lý. Vật thể tách làm 2 phần nếu tổng độ lệch trong từng
phần là tối thiểu.
•
Vật lý: Khi tách ra 2 phần thì xuất hiện lực hấp dẫn.
•
Cho θ =[1, 255] thì cái nào có lưc hút yếu nhất bị tách ra, do đó tìm vị trí
có lực hút yếu nhất.
•
Mômen quán tính: vị trí làm cho momen quay nhỏ nhất.
•
Hàm: giá trị cực trị địa phương
•
Thống kê: vị trí mà momen bậc 2, bậc 3 histogram bằng nhau.
•
Thông tin: entropy cực đại,
∑
p
i
log p
i.h(i) là momen quán tính của điểm i
m(g) là moment quán tính trung bình của các điểm có mức xám ≤ g.
A(g)=t(g)/(P-t(g)) P là số điểm ảnh đang xét
B(g)=[m(g)-m(G-1)]
2
( m [G-1], G-1 ở đây là cấp xám lớn nhất)
F(g)=A(g)*B(g) - 1.
Tìm θ sao cho F(θ) = max {F(g), với g≤ G-1}
Ví dụ 1: G=9 hãy tách ngưỡng tự động ảnh này 15
P=42
1 4 2 8 5 7
4 2 8 5 7 1
0 8 5 7 1 4
0 0 7 1 4 2
0 0 0 4 2 8
0 0 0 0 8 5
0 0 0 0 0 7
g h(g) t(g) g*h(g)
∑
i*h(i)
m(g) A(g) B(g) f(g)
0 15 15 0 0 0 0.56 10.1 4.62
32100
43210
I
G=5, P=20
G h(g) t(g) g*h(g)
∑i*h(i)
m(g) A(g) B(g) f(g)
01010 0 0 0110
1 4 14 4 4 0.2857 2.333 0.51 0.19
2 3 17 6 10 0.5882 5.667 0.17 -0.04
3 2 19 6 16 0.8421 19 0.025 -0.53
4 1 20 4 20 1 ##### 0 #####
F(1) =0.19 có giá trị lớn nhất do vậy 1 chính là ngưỡng tự động
* Kỹ thuật 7: Cân bằng histogram
Ý nghĩa: dãn đều ảnh đen, trắng. Kết quả sẽ dễ nhìn hơn nhưng phân
tích khó hơn.
Cân bằng lý tưởng: với mọi g, g’: g ≠ g’ thì h(g)=h(g’).
16
Trong trường hợp không cân bằng, chia Histogram thành các đoạn và
các vùng chia là xấp xỉ bằng nhau (về số điểm trong Histogram)
t(g): là số điểm ≤ g
t(g) = Sum( h(i); 0 ≤i≤ g)
M, N là kích thước của ảnh I
New_level: là số cấp xám cần cân bằng.
1
.
Chỉ ra sự khác biệt giữa ảnh I
1
và ảnh I
2
I(P)=I
2
(P)-I
1
(P) ∀P (P là toạ độ) 17
Ứng dụng: để nén ảnh, tách ảnh khỏi nền, truyền ảnh, nhận dạng, phân
đoạn, làm nổi đường biên, tách nhiễu khỏi nền. Kỹ thuật này hay được dùng
trong dự báo thời tiết, trong y học, an ninh…
Trong an ninh báo động kẻ đột nhập: cứ sau khoảng thời gian t thì tự
động chụp ảnh, sau đó trừ đi ảnh trước, nếu ảnh mới khác 0 thì báo động.
Một ứng dụ
ng cổ điển của trừ ảnh là làm nổi đường biên trong y học là
mask mode radiography. Trong trường hợp I
1
5 7 0 0 0 0 5 7 0 1 1 1
7 0 0 0 0 0 7 0 1 1 1 1
0 0 0 0 0 0 8 8 8 8 8 8
0 0 0 0 0 0 8 8 8 8 8 8
abs(I1-
I2) 0 0
0
0 0 0 Max-abs(I1-I2)= 8 8
8
8 8 8
0 0 0 0 1 1 8 8
8
8 7 7
0 0 0 1 1 1 8 8 8 7 7 7
0 0 1 1 1 1 8 8 7 7 7 7
0 0 0 0 0 0 8 8 8 8 8 8
*Kỹ thuật 2: Kỹ thuật cộng ảnh
giả sử ta có 2 ảnh I
1
, I= có cùng kích thước và thuộc tính. Kỹ thuật
cộng ảnh nhằm tạo ra ảnh mới lai ghép giữa I
1
và I
2
, x
[n/2]+1
]
Hay chúng ta có thể có định nghĩa khác
Định nghĩa 2:
x là trung vị của dãy x1, x2, .., xn
#{k| x ≥ x
k
}=#{k| x ≤ x
k
}
Ví dụ: Trung vị của dãy 1, 4, 5,2, 6,8, 7 là 5.
Cho trước dãy ảnh I
1
, I
2
, …, I
n
. Ảnh trung vị của dãy ảnh là ảnh I
Tv
trong đó mỗi I
Tv
(P) là trung vị của dãy I
1
(P), I
2
(P),..,I
n
1
)()()( xxxxx
xx
k
xx
k
kk
−+−=
∑∑
>≥
φ
φ(x) đạt min tại giá trị mà đạo hàm của nó bằng 0
011)(' =−=
∑∑
>≥ xxkxkx
x
φ
→ x là trung vị.
Ví dụ:
Trung vị
1 2 3 4 5 6 1 2 3
I1= 4 5 6 I2= 1 2 3 I3= 7 8 9
7 8 9 7 8 9 4 5 6
12 3
I
có cùng kích thước và thuộc tính. Ảnh
trung bình của dãy ảnh là ảnh I
TB
trong đó mỗi I
TB
(P) là trung bình của dãy
I
1
(P), I
2
(P),..,I
n
(P). P là toạ độ của ảnh.
∑
=
=
n
k
kTB
I
n
I
1
1
Ứng dụng: để lấy ảnh đặc trưng trong dãy ảnh
Mệnh đề 2
Cho dãy x
1
, x
kk
n
k
k
n
k
k
x
n
xxnx
xxx
xxx
1
1
1
2
1
02)('
)()(
φ
φ
Ví dụ:
Trung bình 1 2 3 4 5 6 1 2 3
I1= 4 5 6 I2= 1 2 3 I3= 7 8 9
7 8 9 7 8 9 4 5 6
n
k
n
k
I
nn
n
n
I
I
nn
I
I
n
Trung bình đệ quy
TBTB
I
n
n
n
Inew
I
1−
+=
giả sử có dãy I
0
, I
1
n
n
I
n
n
n
I
I
−
=
−−
−
∑
∑
⎟
⎠
⎞
⎜
⎝
⎛
−
=
⎟
⎠
⎞
⎜
⎝
⎛
−
=+
biến đổi aphin
Các phép toán phụ thuộc không gian thường được thao tác trên cửa sổ
ảnh.
II. Các phép toán phụ thuộc không gian
Thao tác san nền, l
ọc trung bình, lọc trung vị, mặt nạ
* Kỹ thuật 1: San nền (ground remove)
Chia ảnh thành các khối B
kl.
Cộng vào từng khối các hằng sao cho sau
khi cộng giá trị trung bình cấp xám từng khối bằng nhau.
B
kl.
)
''
(
)(
)(
)(
''
lk
Bcard
Bp
PI
k
Bcard
Định nghĩa 1:
P
0
, P
1
,..., P
7
là các “8-láng giềng” của P
P
0
, P
2
, P
4
, P
6
là các “4-láng giềng” của P
N
4
={I(i-1, j), I(i+1, j), I(i, j-1), I(i, j+1)}
N
8
=N4
∪
{I(i+1, j-1), I(i-1, j-1), I(i-1, j+1), I(i+1, j+1)}
Định nghĩa 2:
Dãy q
Định nghĩa 3:
Dãy q
0
,.., q
n
được gọi là chu trình liên thông 4 (hoặc liên thông 8) nếu
nó là liên thông 4 (hoặc liên thông 8) và q
0
= q
n
Mô hình Chain Code (Mã xích)
Nếu có dãy
q
0
q
1
.. q
n
↔
⎯⎯⎯⎯ →⎯
−
⎯⎯⎯ →⎯⎯⎯⎯ →⎯
n
q
n
qqqqq
III. Phép cuộn và mẫu
I là ảnh Mx N
T là ma trận mẫu mx n
Lấy (x, y) trên ảnh làm gốc, lấy cửa sổ mxn đặt góc trên trái tại vị trí (x, y)
T(i, j)
*
T(x+i,y+ j)
*
mxn
MxN
A
B
C
D
E F
G
H
n
j
jyixIjiT
Ví dụ:
T=
⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛
10
11
I=
⎟
⎟
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎜
⎜
⎠
⎞
⎜
⎜
⎝
⎛
10
11
=
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎝
⎛
15128
211610
20148Đa số các phép toán trong xử lý ảnh đều dùng phép cuộn
1- Các mẫu thường dùng
T
1
=
⎟
3
=
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎝
⎛
−
−−
−
010
141
010
T
1
dùng để lọc nhiễu T
2
dùng để lọc trơn bề mặt T3 dùng để tách cạnh
(lọc thông thấp) (lọc thông trung bình) -phát hiện ra các điểm
có giá trị thay đổi
hẳn
so với các
giá trị bên cạnh
2 Mẫu tách cạnh
A=
⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛
−
−
11
11
B=
⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛
−−
11
11
I=
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎜
⎜
⎜
⎝
⎛
−
−
00600
00600
00000
00600
00600
B*I=
⎟
⎟
⎟
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
−
−
00600
00600
66066
00600
00600IV-Các phép toán khác trên cửa sổ
* Kỹ thuật 1: Lọc trung vị
Với mỗi P, lấy cửa sổ W(P)
Tính trung vị TV(P)= trung vị W(P)
I(P)= I(P) nếu | I(P)- TV(P)| ≤ θ
TV(P) nếu ngược lại
θ là một ngưỡng cho trước
* Kỹ thuật 2: Lọc trung bình
Với mỗi P, lấy cửa sổ W(P)
Tính trung bình TB(P) trong cửa sổ W(P)
I(P)= I(P) nếu | I(P)- TB(P)| ≤ θ
TB(P) nếu ngược lại
θ là một ngưỡng cho trước 25
0 0 0 0 0 0 0 0
0 1 4 2 8 5 7 0
TB
k
(P) nếu ngược lại
Ví dụ: W(3, 3), θ=2, k=3
x 1 2 3 2 1 2 3 2
I= 4 16 2 1 I
kq
= 4 8 2 1
4 2 1 1 4 2 1 1
2 1 2 1 2 1 2 1
tại điểm 1: có 4 giá trị vào cửa sổ 1, 2, 4, 16
có 3 giá trị gần 1 nhất là 1, 2, 4 → TB
3
(1)=2,3.
Nhận xét: