Tải bản đầy đủ (.doc) (25 trang)

FREE TRANSFORM ( BIẾN ĐỔI HÌNH ẢNH TÙY CHỈNH )

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 (413.04 KB, 25 trang )

KHOA CÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
BÁO CÁO BÀI TẬP LỚN
XỬ LÝ ẢNH
Đề Tài :
FREE TRANSFORM
( BIẾN ĐỔI HÌNH ẢNH TÙY CHỈNH )
Giáo viên hướng dẫn : THs. Lê Thị Thủy
Nhóm thực hiện : Nhóm 3 – KHMT4 – K3:
1. Nguyễn Tử Hưng
2. Nguyễn Tất Tiến
3. Lê Trường Giang
1
Mục Lục
Mục Lục ......................................................................................................................................................2
MỞ ĐẦU......................................................................................................................................................3
I.CÁC KHÁI NIỆM.........................................................................................................................................4
II.BIẾN ĐỔI ẢNH..........................................................................................................................................6
3.Các giải thuật sử dụng trong freetrasform:.........................................................................................9
a.Giải thuật 1: Dịch chuyển đỉnh (Giả sử kéo đỉnh A)...................................9
b.Giải thuật 2: Dịch chuyển trung điểm (Giả sử kéo trung điểm TD1)........11
c.Giải thuật 3: Dịch chuyển điểm bất kỳ trong ảnh để di chuyển ảnh.........12
d.Giải thuật 4: Dịch chuyển tâm..................................................................13
e.Giải thuật 5 : Dịch chuyển điểm ngoài......................................................14
III.NỘI SUY ẢNH.........................................................................................................................................16
2
MỞ ĐẦU
Xử lý ảnh là một trong những ngành khoa học đã đem lại cho con
người những bước tiến vượt bậc mang tính cách mạng, nó đã đưa con người
tiến sang một kỉ nguyên mới. Một vài năm trở lại đây công nghệ thông tin
cùng với sự phát triển của nó đã kéo theo sự phát triển của hàng loạt các


ngành khoa học trong nhiều lĩnh vực khác nhau như sinh học, kinh tế, viễn
thông, quân sự, giải trí… có những bước tiến nhanh hơn so với đúng quy
trình mà đáng ra phải trải qua. Với sự phát triển ngày càng hoàn thiện của
công nghệ phần cứng, công nghệ phần mềm cũng đang có những bước tiến
quan trọng đóng góp một phần không nhỏ cho sự phát triển của xã hội loài
người đặc biệt là lĩnh vực xử lý ảnh.
Khi sử dụng các thiết bị để thu nhận hình ảnh người ta muốn thay đổi
kích thước, hình dạng của hình ảnh thu được và để khắc phục điều này người
ta đã tìm cách sửa chữa, chỉnh sửa nhằm có được kết quả tốt hơn. Như vậy
nắn chỉnh biến dạng ban đầu chỉ đơn thuần mang mục đích co kéo hình ảnh.
Sau đó nhờ chính những kết quả từ khâu chỉnh sửa đã đem lại những hướng
phát triển mới quan trọng trong các phần mềm xử lý ảnh... Ngày nay, người
ta còn dùng co kéo biến dạng để “cố tình” tạo ra các hình dạng theo ý muốn
chủ quan. Điển hình là các nhà làm phim, họ tạo ra các đối tượng có hình
dạng hài hước v.v.. nhờ các kỹ thuật co kéo với chất lượng không thua kém
gì các thước phim sử dụng thiết bị thu nhận. Tùy chỉnh hình ảnh giúp chúng
ta tạo ra sự khác lạ.
3
I. CÁC KHÁI NIỆM.
- Điểm ảnh (Picture Element): Điểm ảnh (pixel) đượ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. Mỗi pixel
gồm một cặp toạ độ x, y và màu.
- Như vậy, một ả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 bởi mảng hai chiều hay ma trận hai chiều I(n,p): 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, n dòng và p cột. Ta
nói ảnh gồm n x p pixels. Người ta thường kí hiệu I(x,y) để chỉ một pixel.
Thường giá trị của n chọn bằng p và bằng 256. Một pixel có thể lưu trữ trên
1, 4, 8 hay 24 bit. Mỗi điểm ảnh khi mã hoá sẽ được biểu diễn dưới dạng 8
bít. Cách mã hoá kinh điển thường dùng 16, 32 hay 64 mức. Mã hoá 256
mức là phổ dụng nhất do lý do kỹ thuật. Vì 28 = 256 (0, 1, ..., 255), nên với

256 mức, mỗi pixel sẽ được mã hoá bởi 8 bit và từ đó có thể biểu diễn ảnh
dưới nhiều dạng khác nhau. Số pixel tạo nên một ảnh gọi là độ phân giải
(resolution).
- Ảnh RGBA (RGBA Images): Một ảnh RGBA được lưu trữ dưới dạng một
mảng dữ liệu có kích thước 4 chiều m x n x k x alfa, định nghĩa các giá trị
màu red, green và blue, giá trị alfa cho mỗi pixel riêng biệt. Ảnh RGBA
không sử dụng bảng màu. Màu của mỗi pixel được quyết định bởi sự kết
hợp giữa các giá trị R,G,B (Red, Green, Blue) và trị số alfa được lưu trữ
trong một mặt phẳng màu tại vị trí của pixel. Định dạng file đồ hoạ lưu trữ
ảnh RGBA giống như một ảnh 24 bít trong đó R,G,B,A chiếm tương ứng 8
bít 1. Điều này cho phép nhận được 16,7 triệu màu khác nhau .
- Một mảng RGBA có thể thuộc lớp double, uint8 hoặc uint16. Trong một
mảng RGBA thuộc lớp double, mỗi thành phần màu có giá trị giữa 0 và 1.
4
Một pixel mà thành phần màu của nó là (0,0,0,0) được hiển thị với màu đen
và một pixel mà thành phần màu là (1,1,1,1) được hiển thị với màu trắng.
Trong một ảnh RGBA khoảng trắng tương ứng với giá trị cao nhất của mỗi
màu riêng rẽ. Chẳng hạn trong ảnh mặt phẳng R, vùng trắng đại diện cho sự
tập trung cao nhất của màu đỏ thuần khiết. Nếu R được trộn với G hoặc B ta
sẽ có màu xám. Vùng màu đen trong ảnh chỉ ra giá trị của pixel mà không
chứa màu đỏ R= 0. Tương tự cho các mặt phẳng màu G và B.
- Đường viền (Border): đường viền của một vùng ảnh R là tập hợp các
điểm ảnh trong vùng đó mà có một hay nhiều lân cận bên ngoài vùng R.
5
II. BIẾN ĐỔI ẢNH.
1. Phương Pháp Biến Đổi Ảnh
Để xử lý ảnh đưa vào, trước tiên chúng ta cần tạo một phân vùng để xử lý
ảnh. Ở đây chúng ta sử dụng một hình chữ nhật để ảnh được hiển thị vào
trong nó, do kích thước của các ảnh là rất khác nhau nên hình chữ nhật khởi
tạo ban đầu sau khi đưa ảnh vào sẽ có kích thước đúng bằng ảnh.

Hình chữ nhật ban đầu khởi tạo
Hình sau khi đưa ảnh vào.
Ở đây chúng ta sẽ chú ý đến 9 điểm quan trọng để thực hiện biến đổi hình ảnh.
Đó là 4 đỉnh của ảnh, và 4 trung điểm của ảnh, 1 tâm ảnh.
6
Tuy nhiên, chúng ta vẫn có thể cầm ảnh và di chuyển khi chỉ chuột bất kỳ vào
ảnh.
Khi chúng ta thực hiện cầm chuột vào các điểm quan trọng ( 9 điểm quan trọng)
vào kéo, hình chữ nhật vàng sẽ thay đổi kích thước theo chuột. Lúc này các đỉnh
liên quan, các trung điểm liên quan cũng thay đổi theo tọa độ kéo chuột. Chúng
ta có thể kéo tùy ý đến các vị trí khác.
Khi dừng kéo, ta đã có một khung hình khác và lúc này cần hiển thị hình ảnh
trên khung mới.
Xét P thuộc khung cũ, P lúc này được xét bởi:
Tọa độ P = ( )
Khi kéo chuột lên vị trí mới, sẽ tạo khung mới với kích thước khác hoàn toàn
khung cũ, và điểm P’ là ánh xạ của P thuộc khung cũ vẫn được tính theo công
thức cũ:
7
P
A
B
C
D
W
H
h1
h2
w1 w2


P’ = ( )
Khi ánh xạ được hết các điểm của ảnh cũ vào ảnh mới, chúng ta sẽ có vấn đề
với bức ảnh mới.
Các bức ảnh mới do chúng ta co, kéo sẽ dẫn tới ảnh bị nhòe, răng cưa.
Vì vậy, chúng ta cần nội suy để anh được đẹp, rõ, mịn.
2. Áp Dụng Phương Pháp Biến Đổi Ảnh Vào Free Transform
- Với phương pháp xác định biến đổi ảnh như trên ta sẽ chú trọng đến 4
điểm đỉnh của hình ảnh khi bị biến đổi.
- Như vậy với mỗi điểm ảnh bất kỳ nào trong ảnh biến đổi ta đều xác định
được thông qua phương pháp trên.
- Các bước thực hiện như sau :
• Lưu lại các điểm đỉnh khi bị biến đổi
• Duyệt ảnh qua chiều rộng ( Weight ) và chiều cao ( High) để xác định
lại từng điểm pixel của ảnh khi bị biến đổi.
• Lấy lại điểm ảnh tương ứng thông qua 4 đỉnh đã lưu trên bằng cách
dùng phương pháp trên qua công thức :
P’ = ( )
8
P’
A’
B’
C’
D’
W’
H
h1’
h2’
w1’ w2’
A’
B’

C’
D’
W
H
h1’
w2’
W’
H’
w1’
h2’
P’
• W’ , H’ lần lượt là chiều rộng và chiều cao ảnh khi ảnh bị biến đổi
• Với w1’ ,w2’ , h1’, h2’ là khoảng cách từ điểm cần xét đến các cạnh
của A’B’C’D’ sau khi biến đổi.
• Như vậy với cách trên ta sẽ tìm được các điểm ảnh tương ứng sau khi
ảnh bị biến đổi
- Vấn đền đặt ra ở đây là ảnh biến đổi có độ sắc nét như ảnh ban đầu không
thì ta phải nội suy từng byte mầu từng điểm ảnh so với ảnh gốc để có thể
tạo được độ mịn so với ảnh ban đầu khi chưa bị biến đổi.
- Phần sau bọn em xin trình bày kỹ thuật nội suy ảnh để giải quyết được
vấn đề trên.
3. Các giải thuật sử dụng trong freetrasform:
Ta có khung hình ban đầu như hình vẽ với tọa độ các điểm lần lượt là
A(xa,ya), B(xb,yb), C(xc,yc), D(cd,yd) và 4 trung điểm TD1(xa+xb/2,ya),
TD2(xb,yb + yc/2), TD3(xd + xc/2,yd), TD4(xa,ya + yd/2).
a. Giải thuật 1: Dịch chuyển đỉnh (Giả sử kéo đỉnh A)
Lúc này A sẽ có tọa độ mới là A’(xa’,ya’).
Xét đỉnh B, do đỉnh A và B có ya = yb, khi kéo A, B sẽ thay đổi.
Do đó B sẽ có tọa độ mới là điểm B’(xb,yb’).
Tương tự với điểm D, do đỉnh A và đỉnh D có xa = xd, khi kéo A, D sẽ thay đổi.

9
A(x
a
,y
a
)
B(x
b
,y
b
)
C(x
c
,y
c
)D(x
d
,y
d
)
TD1[(x
a
+ x
b
)/2

,y
a
]
TD3[(x

c
+ x
d
)/2

,y
d
]
TD4[(x
a
)

,(y
a
+y
d
)/2]
TD2[(x
b
)

,(y
b
+y
c
)/2]
Do đó D sẽ có tọa độ mới là điểm D’(xa’,yd).
Điểm C ko thay đổi.
Với 4 trung điểm, khi biết đỉnh ta hoàn toàn có thể tính được.
Từ đó, ta hoàn toàn có thể xây dựng khung hình mới và thực hiện chuyển ảnh.

Tổng quát:
Ta thấy, giả sử đặt A,B,C,D là 4 đỉnh dinh[0], dinh[1], dinh[2], dinh[3]
Thì khi 1 đỉnh thay đổi thì 2 đỉnh cạnh nó sẽ thay đổi.
Do đó khi đỉnh dinh[i] thay đổi thì ta có 2 đỉnh thay đổi cùng là dinh[i+1%4] và
đỉnh dinh[i+3%4].
Đây chính là trường hợp tổng quát khi kéo 1 trong 4 đỉnh.
Ví dụ minh họa :
- Hình chưa kéo đỉnh A Hình khi kéo đỉnh A
10
A(x
a
,y
a
)
B(x
b
,y
b
)
C(x
c
,y
c
)D(x
d
,y
d
)
TD1[(x
a

+ x
b
)/2

,y
a
]
TD3[(x
c
+ x
d
)/2

,y
d
]
TD4[(x
a
)

,(y
a
+y
d
)/2]
TD2[(x
b
)

,(y

b
+y
c
)/2]

×