Cơ bản về xử lý ảnh số
171
f. Chuyển các ma trận ảnh ở câu a, c, d, e về kiểu
uint8
. Hiển thị 4 ảnh trên một figure 2x2.
#
Bài tập 11-3.
Chọn một vài ảnh nào đó trong máy tính và thực hiện các phép biến đổi hình học cơ bản: phép
quay, phép trích xuất một phần ảnh.
#
Bài tập 11-4.
Thực hiện các phép biến đổi hình học tự định nghĩa để tạo các hiệu ứng mỹ thuật cho ảnh
peppers.png
.
#
Bài tập 11-5.
Viết một hàm MATLAB trả về giá trị mức xám tại một điểm có toạ độ không nguyên dùng
phép nội suy song tuyến tính:
p = getpixel(x,y)
(xét ảnh
uint8
hoặc
uint16
).
#
Bài tập 11-6.
Viết hàm MATLAB thực hiện phép biến đổi hình học bằng ma trận 2x2 định nghĩa như sau:
11
12
21
22
a
a
u
x
a
a
v
y
⎡
⎤
⎡ ⎤
⎡ ⎤
= ⎢
⎥
⎢ ⎥
⎢ ⎥
⎣ ⎦
⎣ ⎦
⎣
⎦
hay u = A.x
Trong đó [
]
T
u
u v
=
và
[ ]
T
x
x y
=
là các toạ độ trước và sau khi biến đổi,
11
12
21
22
a
a
A
a
a
⎡
⎤
= ⎢
⎥
⎣
⎦
là
một ma trận kích thước 2x2 cho trước gọi là ma trận biến đổi thuận.
Định nghĩa hàm này dưới dạng
ImageOut = map2x2(ImageIn,A)
, với A là ma trận biến đổi
thuận. Sử dụng phương pháp nội suy lân cận gần nhất để thực hiện biến đổi.
#
Bài tập 11-7.
Sử dụng chương trình của bài tập 11-6 để thực hiện biến đổi hình học cho ảnh checkerboard
với các ma trận biến đổi thuận như sau:
a.
1
1
2
2
1
1
2
2
A
⎡
⎤
⎢
⎥
⎢
⎥
=
⎢
⎥
−
⎢
⎥
⎣
⎦
b.
1
1
10
0
1
A
⎡
⎤
⎢
⎥
=
⎢
⎥
⎣
⎦
c.
1
0
1
1
10
A
⎡
⎤
⎢
⎥
=
⎢
⎥
⎣
⎦
d.
1
1
10
1
1
10
A
⎡
⎤
⎢
⎥
= ⎢
⎥
⎢
⎥
⎢
⎥
⎣
⎦
e.
4 0
0 4
A
⎡
⎤
= ⎢
⎥
⎣
⎦
f.
1
0
4
1
0
4
A
⎡
⎤
⎢
⎥
= ⎢
⎥
⎢
⎥
⎢
⎥
⎣
⎦
g.
0 1
1 0
A
⎡
⎤
= ⎢
⎥
⎣
⎦
#
Bài tập 11-8.
Viết hàm MATLAB thực hiện phép dịch được định nghĩa như sau:
0
0
1 0
0 1
x
u
x
v
y
y
⎡ ⎤
⎡ ⎤ ⎡
⎤ ⎡ ⎤
=
+ ⎢ ⎥
⎢ ⎥ ⎢
⎥ ⎢ ⎥
⎣ ⎦ ⎣
⎦ ⎣ ⎦ ⎣ ⎦
hay u = Ix +
0
x
với [
]
T
u
u v
=
,
[ ]
T
x
x y
=
là các toạ độ trước và sau khi biến đổi,
[
]
0
0
0
T
x
x y
=
là vector hằng,
I là ma trận đơn vị kích thước 2x2.