Tải bản đầy đủ (.pdf) (13 trang)

BÀI TẬP-ÔN TẬP CHUYÊN ĐỀ 1 MÔN TIN HỌC

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 (274.18 KB, 13 trang )

ÔN TẬP CHUYÊN ĐỀ 1
Câu 1: Mục đích của việc cân bằng historam? Xây dựng và cài đặt thuật toán cân bằng
histogram tự động.
a. Mục đích
 Mục đích của cân bằng histogram là làm cho histogram trở nên đồng đều. Khi đó ta làm
tăng được độ tương phản của ảnh. (làm cho ảnh trở nên rõ hơn)
b. Xây dựng công thức
 Cân bằng histogram được cho bằng phương trình: s=T(r)=(L-1)

r
r
dwwp
0
)(

với p
r
: Là hàm mật độ xác suất. p
r
(w): Xác suất xảy ra mức xám w
 Trong xác suất, tích phân của hàm mật độ là hàm phân phối. Công thức trên có w là biến
liên tục, ta không thể lập trình nó. Ta phải dùng công thức rời rạc: s
k
=T(r
k
)=(L-1)


k
j
jr


rp
0
)(

với k= 0,1,2,…,L-1
c. Cài đặt thuật toán



 !
"#
$%&
'()%**
$&(
'"(")"**
'#(#) #**

)+,"#
$&**
-
.$%&
'()%**
.$&$&/ 
$%&
01
'1(1)%1**

$1&(
'0(0)10**
$1&*.$0&

$1&/%23
-
'"(")"**
'#(#) #**

)+,"#
)+,"#+$&
-

-
d. Hàm trong openCV.

Câu 2: Lọc trong không gian. Ứng dụng lọc làm trơn trong không gian bằng mặt nạ trung
bình và mặt nạ Gauss
a. Cơ bản về lọc trong không gian
 Ảnh tồn tại trong miền không gian, nếu xử lý trong miền không gian thì không được tốt, ta
chuyển ảnh sang miền tần số để xử lý, xử lý xong chuyển lại sang miền không gian.
 Người ta dùng một cửa sổ nhỏ để lọc trong không gian, cửa sổ nhỏ thường được gọi là mặt
nạ (mask), tên thông dụng nhất là mặt nạ, opencv thường gọi là Kernels.
b. Xây dựng công thức
 Giá trị của bộ lọc người ta sẽ cho tùy vào yêu cầu cụ thể
 Bộ lọc trong không gian được cho bằng phương trình sau: (Sum Convolution)
g
(
x , y
)
=w
(
−1,−1
)

f
(
x−1, y−1
)
+w
(
−1,0
)
f
(
x−1, y
)
+…+w
(
0,0
)
f
(
x , y
)
+…+w
(
1,1
)
f (x+1, y+1)
Kích thước bộ lọc thường là số lẻ để có phần tử trung tâm. (3x3 hoặc 5x5)
 Tổng quát lọc trong không gian được cho bằng phương trình :
g(x,y)=



a
as



b
bt
tysxftsw ),(),(
Trong đó :
. mxn là kích thước của bộ lọc
. a=m/2 và b=n/2
. w(s,t) là mặt nạ lọc hay bộ lọc
. f(x,y) là điểm ảnh đầu vào
. g(x,y) là điểm ảnh đầu ra
Phép toán lọc trong không gian được gọi là tổng chập (convolution).
Đối với lọc tuyến tính, mặt nạ lọc thường dùng là mặt nạ trung bình hay mặt nạ Gauss.
Mặt nạ càng lớn, ảnh càng bị nhòe.
Ví dụ: mặt nạ lọc trung bình và mặt nạ Gauss:
c. Cài đặt thuật toán
#456!

!
!!

 !
"#
55
7
'"")2"**
'##) 2#**


(
'2)**
'2)**
*!)7,**/)+,"*#*
)+,"#+
-

-89:;56<=
=%4

3>3>
!<?@543
"#
'"(")"**
'#(#)#**
!)7,"#3(/
#456!
;56<?AB3!

-
d. Hàm trong openCV
=@>@>
CD=((>
Câu 3: Các bước lọc ảnh trong miền tần số (7 bước). Xóa nhiễu Morie
a. Các bước lọc ảnh trong miền tần số:
- Bước 1: Cho ảnh đầu vào f(x,y) có kích thước MxN. Mở rộng ảnh có kích thước là PxQ.
Cụ thể P=2M, Q=2N.
- Bước 2: Thêm zero (số 0) vào phần mở rộng, ta được ảnh f
p

(x,y).
16
1
x
1 2 1
2 4 2
1 2 1
x
9
1
1 1 1
1 1 1
1 1 1
- Bước 3: Nhân f
p
(x,y) với (-1)
x+y
để dời F(0,0) vào tâm ảnh. Do ảnh là số thực nên phổ luôn
luôn đối xứng.
- Bước 4: Biến đổi Fourier của ảnh ở Bước 3 ta được F(u,v).
- Bước 5: Tạo hàm lọc đối xứng, có giá trị thực H(u,v), có kích thước là PxQ, có tâm là
(P/2,Q/2). Thực hiện phép nhân G(u,v) = F(u,v)*H(u,v).
- Bước 6: Thu được ảnh đã xử lý bằng biến đổi Fourier ngược, lấy phần thực và dời trở lại
gốc tọa độ
- Bước 7: Bỏ phần đã mở rộng, ta thu được ảnh g(x,y) có kích thước MxN.
Biểu diễn bằng sơ đồ khối:
b. Xóa nhiễu Moire
E



 !
3+1++F"G
FH.64I=
GH.64I= 
5I(.
'FG<?@545<?ECD(((
@
"#
'"(")"**
'#(#) #**
'"*#J5(
')<+5',"#$(&3(/)+,"#

')<+5',"#$(&23(/)+,"#
D+KLD4
4FG<?@545<?ECD(((
''4
D+>LI+4
FG<?@545<?ECD(((
3K>3>A
5K(533M
@AN@>A
KA5K33M
6(3>6(5>6(@3>6(K3>
66I
.
'()F**
'()G**

63(/23/23*3(/23/23

6I3(/2F*3/2F*3*3(/2G*3/2G*3
.33*.!6(365/5/33*.!6(36I5/
5
63(/25/25*3(/25/25
6I3(/2F*5/2F*5*3(/2G*5/2G*5
./33*.!6(565/5/33*.!6(56I5/
5
63(/2@/2@*3(/2@/2@
6I3(/2F*@/2F*@*3(/2G*@/2G*@
./33*.!6(@65/5/33*.!6(@6I5/
5
63(/2K/2K*3(/2K/2K
6I3(/2F*K/2F*K*3(/2G*K/2G*K
./33*.!6(K65/5/33*.!6(K6I5/
5
)<+5',$(&.
-
CFG<?@545<?ECD(((
=.+4C64I?EHO=
D+NPLD4+
FG<?@545<?ECD(((
'C64I?=Q%

7
'"(")"**
'#(#) #**

'"*#J5(
)<+5',"#$(&


2)<+5',"#$(&
')(
(
',%23
%23
)+,"#+
-
-
Câu 4: Xây dựng và cài đặt thuật toán nhận dạng khuôn mặt dùng phương pháp khuôn
mặt riêng (eigenface)
Các bước nhận dạng khuôn mặt.
Bước 1: Phát hiện khuôn măt dùng thuật toán và file xml có sẵn trong openCV. Dùng
Detect and Display().
Bước 2: Tạo cơ sở dữ liệu gồm 15 mặt, trong đó 10 mặt dùng để học, 5 mặt dùng để nhận
dạng.
Bước 3: Nhận dạng dùng eigenface.
+Q6.#'+
+Q6.#QE+'+
='+?++?R++?''+?"R
+;'+?++
!!?R.24++R
E C35@K>
F)4+E+,
CS

<.+.(
'
223%++
'T'+?++'+?++?.'R22TUR
23-

225E
'+.H.

O!!!?OS 6HO?QBIH=SV
!W#3(((
'

+.,,'
+!W#3(
'+5P
1
22@Q #+;'
'T'.#

+Q6.#'+
-


.'R22T +.'22D1TR
1
-
-
-
(
-
+Q6.#'+

LL+)E+,'+
'?#
++3

+;$NK&
+''?#H%HE?DCE5CEQX
'?#'?#
226+'+
'+?+++=+'?#'+335(Y<?QQE?=Q%?SQC
=@(@(
'?()'+**

F+'+$&"*'+$&!5'+$&#*'+$&5
.'+='+$&!5'+$&5((@N(
=+5>>(5>>5A(
'+EHS'?#'+$&
'+ZQZYY+ZZ

.';RUU%UUJ(5.R+**
!;'+EHS
-
-
22=!!#
!!!?'
-
I

+),
+),
+;$NK&
'3)3(**

.';RUU6#UUJ(5.R
;<?%HQ6?SQC?CEQX=Q%

=3((3((
.?+1
.?+13
-
'3)3(**

.';RUUQUUJ(5.R
;<?%HQ6?SQC?CEQX=Q%
=3((3((
.?+1
.?+15
-
'3)3(**

.';RUU%UUJ(5.R
;<?%HQ6?SQC?CEQX=Q%
=3((3((
.?+1
.?+1@
-

+4+E+
2,
2,R'+"R

-
+Q6.#QE+'+

LL+)E+,'+
'?#

++3
+$NK&
.+%
+;+
+''?#H%HE?DCE5CEQX
'?#'?#
226+'+
'+?+++=+'?#'+335(Y<?QQE?=Q%?SQC
=@(@(
'?()'+**

F+'+$&"*'+$&!5'+$&#*'+$&5
.'+='+$&!5'+$&5((@N(
=+5>>(5>>5A(
'+EHS'?#'+$&
'+ZQZYY+ZZ

'+EHS'+EHS=3((3((
.+%23
+;+((
2,.+'+EHS.+%+;+
.'RJJ5'R.+%+;+
.I"'+EHSF(3>4H I?E=X?=SF%[(>
<?ECD5>>5>>5>>
!RE+R'+EHS
'.+%3

.'R6#J5'R+;+
.I"'+EHSF(3>4H I?E=X?=SF%[(>
<?ECD5>>5>>5>>

!RE+R'+EHS
-
'.+%5

.'RQJ5'R+;+
.I"'+EHSF(3>4H I?E=X?=SF%[(>
<?ECD5>>5>>5>>
!RE+R'+EHS
-


.'R%J5'R+;+
.I"'+EHSF(3>4H I?E=X?=SF%[(>
<?ECD5>>5>>5>>
!RE+R'+EHS
-
-
-
22=!!#
!!!?'
-
E+

O!RE+ROS 6HO?QBIH=SV
+4+E+
2,R'+"R
<.+.(
'
223%++
'T'+?++'+?++?.'R22TUR

23-
225E
'+.H.

O!!!?OS 6HO?QBIH=SV
!W#3(((
'

+.,,'
+!W#3(
'+5P
1
22@Q #+;'
'T'.#

+Q6.#QE+'+
-


.'R22T +.'22D1TR
1
-
-
-
(
-


CS1\+]::#+^_`a+b
I

E+
(
-
Phương pháp phát hiện và nhận dạng đối tượng trong ảnh, cụ thể là nhận dạng khuôn mặt
- Có 2 bước chính là phát hiện và nhận dạng
B1: phát hiện - detect
Có 3 phương pháp trích đặc điểm thông dụng là Haar-like, LBP (Local Binary Pattern) và
HOG (Histogram Orient Gradient)
Ta phải tạo ra file .xml. Phương pháp tạo ra file .xml. Ta dùng công cụ Haar-kit ở
o
a/ Ta phải có khoảng 1500 ảnh chứa đối tượng cần nhận dạng, ta gọi là ảnh dương, đối
tượng ở trong nền ra
phức tạp
2000 ảnh không chứa đối tượng (ảnh nền), và ta gọi là ảnh âm
Dùng file objectmarker.exe để đánh dấu ảnh dương, kết quả lưu trong file info.txt
tenfil 1 x y width heigh
b/ Dùng createsamples.exe hoặc opencv_createsamples.exe
(C:\opencv\build\x86\VC10\bin) để tạo ra
file hand.vec
c/ Dùng opencv_traincascade.exe để đọc ảnh dương đã đánh dấu và ảnh âm để tạo ra
file .xml
thời gian chạy bước c khoảng 1 ngày rưỡi trên máy P 4, 3.2GHz
B2: Nhận dạng
Nói rồi bài nhận dạng bàn tay hôm trước @~@ OMG!!!!
5 ANH NHIN THANG QUA TRA QUA PHAI NHIN LEN NHIN XUONG
khoanh khuon mat roi moi nhan chu a de chup
+Q6.#'+
+Q6.#QE+'+
F)4+E+,
='+?++?R++?''+?"R

=#?++?R++?#??#"R
+;'+?++
+;#?++
!!?R.24++R
E C35@K>
CS

<.+.(
'
'T'+?++'+?++?.'R22TUR23-
'T#?++#?++?.'R22TUR23-
'+.H.

O!!!?OS 6HO?QBIH=SV
'

+.,,'
+!W#3(
'+5P
1
'T'.#
+Q6.#'+


.'R22T +.'22D1TR
1
-
-
-
(

-
+Q6.#'+

LL+)E+,'+
'?#
++3@
+;$NK&
+''?#H%HE?DCE5CEQX
'?#'?#
'+?+++=+'?#'+335(Y<?QQE?=Q%?SQC=@(
@(
'?()'+**

F+'+$&"*'+$&!5'+$&#*'+$&5
.'+='+$&!5'+$&5((@N(=+5>>(
5>>5A(
'+EHS'?#'+$&
'+ZQZYY+ZZ
.';RUU66UUJ(5.R+**
!;'+EHS
-
-
!!!?'
-
+Q6.#QE+'+

LL+)E+,'+
'?#
++3@
+$NK&


+''?#H%HE?DCE5CEQX
'?#'?#
'+?+++=+'?#'+335(Y<?QQE?=Q%?SQC=@(
@(
'?()'+**

F+'+$&"*'+$&!5'+$&#*'+$&5
.'+='+$&!5'+$&5((@N(=+5>>(
5>>5A(
'+EHS'?#'+$&
'+ZQZYY+ZZ
'+EHS'+EHS=3((3((
2,.+'+EHS
'3
.'R66R
'5
.'R<R

.'RR
.I"'+EHSF(3>4H I?E=X?=ESFI?=SF%[(>
<?ECD5>>5>>5>>
!RE+R'+EHS
-
-
!!!?'
-
I

+),

+),
+;$NK&
'3)35**

.';RUU66UUJ(5.R
;<?%HQ6?SQC?CEQX=Q%
=3((3((
.?+1
.?+13
-
'3)33**

.';RUU<UUJ(5.R
;<?%HQ6?SQC?CEQX=Q%
=3((3((
.?+1
.?+15
-
'3)3(**

.';RUUUUJ(5.R
;<?%HQ6?SQC?CEQX=Q%
=3((3((
.?+1
.?+1@
-
+4+E+
2,
2,R'+"R


-
E+

<.+.(
'
+4+E+
2,R'+"R
O!RE+ROS 6HO?QBIH=SV
'T'+?++'+?++?.'R22TUR23-
'T#?++#?++?.'R22TUR23-
'+.H.

O!!!?OS 6HO?QBIH=SV
'

+.,,'
+!W#3(
'+5P
1
'T'.#
+Q6.#QE+'+


.'R22T +.'22D1TR
1
-
-
-
(
-



CS
I
E+
(
-

×