Xử lý ảnh là một khoa học còn tương đối mới mẻ so với nhiều ngành khoa học khác, nhất là trên qui mô công nghiệp, song trong xử lý ảnh đã bắt đầu xuất hiện những máy tính chuyên dụng. Để có thể hình dung cấu hình một hệ thống xử lý ảnh chuyên dụng hay một hệ thống xử lý ảnh dùng trong nghiên cứu, đào tạo, trước hết chúng ta sẽ xem xét các bước cần thiết trong xử lý ảnh.
Trang 1BỘ MÔN KHOA HỌC MÁY TÍNH
NHẬP MÔN XỬ LÝ ẢNH
Chương 7:
Các phương pháp thay đổi kích
thước ảnh Biên soạn: Dr Ngo Huu Phuc
Trang 2Các phương pháp thay đổi kích thước ảnh
Có 3 phương pháp thay đổi kích thước ảnh
Trang 3Mở rộng ảnh thông qua nắn pixel
Xuất phát từ ảnh trắng có kích thước phóng lên 4 lần so với ảnh gốc Copy các pixel thứ 4 của các hàng thứ 4 sang ảnh mới.
Copy các pixel thứ 4 của các hàng thứ 4 sang ảnh mới.
Trang 4Mở rộng ảnh thông qua nắn pixel
Minh họa chi tiết cho quá trình copy pixel.
Trang 5Với mỗi giá trị pixel trên ảnh gốc, lặp lại quá trình trên 15 lần để tạo vùng mới, (“pixel” lớn
Với mỗi giá trị pixel trên ảnh gốc, lặp lại quá trình trên 15 lần để tạo vùng mới, (“pixel” lớn
Mở rộng ảnh thông qua nắn pixel
Trang 6Giảm kích thước ảnh thông qua nắn pixel
Ví dụ: giảm kích thước anhr4 lần so với ảnh gốc.
Ví dụ: giảm kích thước anhr4 lần so với ảnh gốc.
Chia ảnh gốc theo n: lấy các pixel thứ n trên các hàng thứ n.
Trang 7Giảm kích thước ảnh thông qua nắn pixel
Ví dụ: giảm kích thước anhr4 lần so với ảnh gốc.
Ví dụ: giảm kích thước anhr4 lần so với ảnh gốc.
Trang 8Giảm kích thước ảnh thông qua nắn pixel
Ví dụ: giảm kích thước anhr4 lần so với ảnh gốc.
Ví dụ: giảm kích thước anhr4 lần so với ảnh gốc.
Giữ lại các pixel
Giữ lại các pixel
Trang 9Giảm kích thước ảnh thông qua nắn pixel
Ví dụ: giảm kích thước anhr4 lần so với ảnh gốc.
Ví dụ: giảm kích thước anhr4 lần so với ảnh gốc.
Trang 10Giảm kích thước ảnh thông qua nắn pixel
Ví dụ: giảm kích thước anhr4 lần so với ảnh gốc.
Ví dụ: giảm kích thước anhr4 lần so với ảnh gốc.
Copy các điểm quan
Copy các điểm quan
Trang 11Giảm kích thước ảnh thông qua nắn pixel
Ví dụ: giảm kích thước anhr4 lần so với ảnh gốc.
Ví dụ: giảm kích thước anhr4 lần so với ảnh gốc.
Trang 12Phương pháp láng giềng gần nhất là
sự tổng hợp của 2 phương pháp tăng
và giảm kích thước ảnh.
Phương pháp này có thể áp dụng cho
việc thay đổi kích thước ảnh với nhân
tố thập phân p/q, với p và q là số
nguyên.
Phương pháp các láng giềng gần nhất
(Nearest Neighbor)
Trang 13Phóng to vùng quan tâm
Phóng to vùng quan tâm
Phương pháp các láng giềng gần nhất
Trang 14Phóng to vùng
Phóng to vùng
Tỷ lệ 3/7
Phương pháp các láng giềng gần nhất
Trang 15Tỷ lệ 3/7
Phương pháp các láng giềng gần nhất
Trang 16Các khối mầu vàng: 3 pixel
Các khối mầu vàng: 3 pixel
Tỷ lệ 3/7
Phương pháp các láng giềng gần nhất
Trang 17Tỷ lệ 3/7
Phương pháp các láng giềng gần nhất
Trang 18và không quan
và không quan
Tỷ lệ 3/7
Phương pháp các láng giềng gần nhất
Trang 19Tỷ lệ 3/7
Copy các pixel
Copy các pixel
Phương pháp các láng giềng gần nhất
Trang 20Tỷ lệ 3/7
Copy sang ảnh mới
Phương pháp các láng giềng gần nhất
Trang 21Tỷ lệ 3/7
Copy sang ảnh mới
Phương pháp các láng giềng gần nhất
Trang 223/7 resize
Copy sang ảnh mới
Phương pháp các láng giềng gần nhất
Trang 23Tỷ lệ 3/7
Copy sang ảnh
Copy sang ảnh
Phương pháp các láng giềng gần nhất
Trang 24Tỷ lệ 3/7
Phương pháp các láng giềng gần nhất
Trang 25Phương pháp các láng giềng gần nhất
Trang 28Tỷ lệ 7/3
Phương pháp các láng giềng gần nhất
Trang 29Tỷ lệ 7/3
Chi tiết
Mỗi khối 3x3 trên ảnh gốc …
Mỗi khối 3x3 trên
… được kéo thành khối 7x7
Ảnh gốc
Phương pháp các láng giềng gần nhất
Trang 31Các pixel rỗng được thay
Trang 34( r , c ) = ( S ⋅ r , S ⋅ c )
Giá trị nguyên để xác định vị trí pixel (r′, c′ ) , trong ảnh I
1
1
C c
R r
, / 1
, if
, /
R R
R R
R R
C C
C C
C
C
Sc
if , / 1
, if
, /
Với mỗi pixel (r, c) trong J , tương ứng
với pixel đầu vào tại, (rf, cf ) , trong I:
, , ,
1
C c
R r
=
=
Trang 36Pixel đầu vào
Vị trí lấy mẫu, tại trung tâm
Trang 38Xác định vị trí các pixel được lấy ở ảnh kết quả.
Trang 39Xác định vị trí các pixel được lấy ở ảnh kết quả.
Trang 40Xác định vị trí các pixel được lấy ở ảnh kết quả.
Trang 41Xác định vị trí các pixel được lấy ở ảnh kết quả.
Trang 42( ) 1 , 1OUT ↔ ( ) 1 , 1 IN
C R
R
, 1
, 1 2
R
R n
(3,3)IN
Phương pháp các láng giềng gần nhất
Nếu ảnh kết quả nhỏ hơn ảnh đầu vào, R < R’ và C < C’
Đường nằm giữa
Trang 43(3,3)IN(2,2)OUT
(2,2)OUT nằm giữa 2 điểm (2,2)IN và (3,3)IN vì
R
, 1
, 1 2
R
R n
Trang 44( ) ↔ ( ) + ( − ) ( ′ − ) C ′
C C
R
R R
IN IN
OUT
C R C
và 1 có
′
= α R C β C α β
R but
R
R R
R
α
α α α
α ρ
2
, χC = C ′ −
(R’,C’)IN(R’-1,C’-1)IN
Nếu ảnh đầu vào nhỏ hơn ảnh gốc, R < R’ và C < C’
Phương pháp các láng giềng gần nhất
Tương tự
nằm giữa
Trang 45Mở rộng ảnh: nắn ảnh so với nội suy
Pixel replication Bilinear interpolation tạo ra pixel
có giá trị trung bình so với ảnh gốc.
Bilinear interpolation tạo ra pixel
có giá trị trung bình so với ảnh gốc.
Trang 46Nắn pixel
Minh họa quá trình nắn pixel
Vị trí mầu đỏ đánh dấu giá trị pixel gốc.
Trang 47Nội suy 2D (Bilinear Interpolation)
Vị trí mầu đỏ đánh dấu giá trị pixel gốc.
Trang 48Lấy mẫu thông qua Bilinear Interpolation
Nhân tố sử dụng
là 2.
Nhân tố sử dụng
là 2.
Trang 50treat gray levels as
heights above the
image plane
treat gray levels as
heights above the
image plane
center = weighted average of four corners
center = weighted average of four corners
Lấy mẫu thông qua Bilinear Interpolation
Trang 51treat gray levels
as heights above
the image plane
treat gray levels
as heights above
the image plane
center = weighted average of four
corners
center = weighted average of four
corners
Lấy mẫu thông qua Bilinear Interpolation
Trang 52new row and
column sample
values lie on the
lines connecting
the old values
new row and
column sample
values lie on the
lines connecting
the old values
Lấy mẫu thông qua Bilinear Interpolation
Trang 53Kết quả
Lấy mẫu thông qua Bilinear Interpolation
Trang 55Ảnh gốc
Ví dụ sử dụng Bilinear Interpolation
Trang 56Minh họa ….
Ví dụ sử dụng Bilinear Interpolation
Trang 58Lấy các pixel thứ 4 trên các
Trang 60Bilinear
Interpolation
4x replication with the original pixels overlaid.
4x replication with the
original pixels overlaid.
Lấy các pixel thứ 4 trên các
hàng thứ 4 đưa vào ảnh rỗng
Lấy các pixel thứ 4 trên các
hàng thứ 4 đưa vào ảnh rỗng
Trang 61Bilinear
Interpolation
Each pink dot is a
Each pink dot is a
Lặp lại 15 lần cho các pixel
khác
Lặp lại 15 lần cho các pixel
khác
Trang 62Bilinear
Interpolation
Lặp lại 15 lần cho các pixel
khác nhưng với giá trị trung
bình
Lặp lại 15 lần cho các pixel
khác nhưng với giá trị trung
bình
Trang 63Bilinear
Interpolation
Lặp lại 15 lần cho các pixel
khác nhưng với giá trị trung
bình
Lặp lại 15 lần cho các pixel
khác nhưng với giá trị trung
bình
Intermediate values filled in Red
Intermediate values filled in Red
Trang 64Bilinear
Interpolation
Kết quả:
So sánh với kết quả của slide
sau cho quá trình phóng ảnh.
So sánh với kết quả của slide
sau cho quá trình phóng ảnh.
Trang 65So sánh với slide trước
Pixel
Replication
Kết quả:
Trang 66Ảnh kết quả có đánh dấu vị trí được giữ từ ảnh gốc
Ảnh kết quả có đánh dấu vị trí được giữ từ ảnh gốc
Bilinear
Interpolation
So sánh với slide sau
Trang 67Pixel
Replication
Ảnh kết quả có đánh dấu vị trí được giữ từ ảnh gốc
Ảnh kết quả có đánh dấu vị trí được giữ từ ảnh gốc
So sánh với kết quả trước
Trang 68Pixel replication Bilinear interpolation
Pixel Replication và Bilinear Interpolation
Trang 69Pixel replication Bilinear interpolation
Pixel Replication và Bilinear Interpolation
Trang 70Lấy mẫu trong Bilinear Interpolation
Trang 71Lấy mẫu trong Bilinear Interpolation
Với mỗi khối 7x7
chọn lấy khối 3x3
Với mỗi khối 7x7
chọn lấy khối 3x3
Trang 72Lấy mẫu trong Bilinear Interpolation
Trang 73Lấy mẫu trong Bilinear Interpolation
Các ô mầu vàng được lấy cho pp Nearest neighbor
Các ô mầu đỏ được lấy cho pp Bilinear interpolation.
Các ô mầu đỏ được lấy cho pp Bilinear interpolation.
Trang 74Lấy mẫu trong Bilinear Interpolation
Các ô mầu vàng được lấy cho pp Nearest neighbor
Các ô mầu đỏ được lấy cho pp Bilinear interpolation.
Các ô mầu đỏ được lấy cho pp Bilinear interpolation.
Trang 75Lấy mẫu trong Bilinear Interpolation
Chú ý, vị trí lấy lấp lên nhiều pixel.
Chú ý, vị trí lấy lấp lên nhiều pixel.
Trang 76Lấy mẫu trong Bilinear Interpolation
Với mỗi khối 7x7
Trang 77Lấy mẫu trong Bilinear Interpolation
Ví dụ: chi tiết một
vùng được chọn.
Ví dụ: chi tiết một
vùng được chọn.
Trang 78Lấy mẫu trong Bilinear Interpolation
Trang 79Lấy mẫu trong Bilinear Interpolation
Trang 80Lấy mẫu trong Bilinear Interpolation
Vùng mầu xanh xác định vị trí của pixel kết quả.
Vùng mầu xanh xác định vị trí của pixel kết quả.
Trang 81Lấy mẫu trong Bilinear Interpolation
Vùng mầu xanh xác định vị trí của pixel kết
Vùng mầu xanh xác định vị trí của pixel kết quả.
Trang 82Lấy mẫu trong Bilinear Interpolation
Vùng mầu xanh xác định vị trí của pixel kết quả.
Vùng mầu xanh xác định vị trí của pixel kết quả.
Trang 83Lấy mẫu trong Bilinear Interpolation
Trang 84Lấy mẫu trong Bilinear Interpolation
Vị trí và mầu sắc của pixel mới Vị trí của pixel mới
Trang 85Lấy mẫu trong Bilinear Interpolation
Trang 86Lấy mẫu trong Bilinear Interpolation
Trang 87Lấy mẫu trong Bilinear Interpolation
Trang 88Lấy mẫu trong Bilinear Interpolation
Trang 89Lấy mẫu trong Bilinear Interpolation
c r
I
c r
c r I c
r J
′
′ + ′ + ′ ⋅ ⋅ − + ′ ′ ⋅ − ⋅ −
=
1 1 ,
1 ,
1
1 1
, ,
and / Let sR = R ′ R sC = C ′ C
and
Let r ′ = rf c ′ = cf
and Let ∆ r = rf − r ′ ∆ c = cf − c ′
, , 1 for
and
, , 1 for
Let
C c
s c c
R r
s r r
C f
R f
Trang 90Lấy mẫu trong Bilinear Interpolation
if , / 1
,
if , /
R R
R R
R R
if , / 1
,
if , /
C C
C C
C C
(r′, c′ ) là vị trí thực (chuyển sang kiểu
nguyên) đối với kết quả.
1 ,
1
1 1
, ,
c r c
r I
c r
c r I
c r
c r
I
c r
c r I c r J
′ +
′ +
⋅
−
⋅ +
′
′ +
−
⋅
⋅
′ +
′ +
Trang 91Bilinear Interpolation
1:1 5:7
Trang 92Ví dụ về Bilinear Interpolation với tỷ lệ 5/7.
Trang 93Lấy mẫu thông qua Bicubic Interpolation
Phương pháp Bilinear interpolation tính giá trị
của J(r,c) thông qua giá trị của các pixel I(r´,c
´), I(r´+1,c´), I(r´+1,c´+1), và I(r´,c´+1)
Phương pháp Bicubic interpolation không chỉ
sử dụng 4 pixel đầu vào, còn sử dụng thêm giá
trị đạo hàm riêng của chúng.
Khi đó, giá trị đạo hàm được tính trên 8 láng giềng của 4 pixel, như vậy cần 4x4 láng
, I
, ,
I
, ,
′
+
′ +
′
+
′ +
′
i j r
c r c
j c
i r
j c
i r
j c
i r
Trang 94Lấy mẫu thông qua Bicubic Interpolation
c r
c r c
r
c r
c r
′
′
−
′ +
, 1 I
, 1 I
, I
, I ,
1 I
,
@ diff backward
and diff
forward of
avg.
,
I
2 1
2 1
( ) ( ) ( ) r c
c r
c r
c r c r
, I
, I
, I
Trang 95Lấy mẫu thông qua Bicubic Interpolation
Trang 96Lấy mẫu thông qua Bicubic Interpolation
Trang 97Lấy mẫu thông qua Bicubic Interpolation
Trang 98Lấy mẫu thông qua Bicubic Interpolation
Trang 99Lấy mẫu thông qua Bicubic Interpolation
Trang 100Lấy mẫu thông qua Bicubic Interpolation
′ +
′
= ∑ ∑
− −
2 1
2 1
, ,
Trang 102Tỷ lệ 3/7
Ảnh gốc
Trang 103Tỷ lệ 3/7
Trang 104Tỷ lệ 3/7
Trang 105Tỷ lệ 3/7
Trang 106Cần giảm với tỷ lệ 3/7
original
Trang 107Phóng ảnh
nearest neighbor
7/3
Trang 108Phóng ảnh
bilinear 7/3
Trang 109Phóng ảnh
bicubic 7/3