Nội suy các pixel gần nhất

Một phần của tài liệu Nội suy ảnh và xây dựng ứng dụng nắn chỉnh hình thu nhận ảnh BMP 24 bit (Trang 42 - 46)

Đây là phương pháp cơ bản nhất của giải thuật nội suy. Điểm ảnh mới sẽ lấy màu của điểm ảnh gốc gần nó nhất. Nếu phóng to ảnh 200%, một điểm ảnh sẽ được bổ sung thêm bốn điểm ảnh nữa (2x2) có màu sắc giống như điểm ảnh gốc. Phương pháp này sẽ tạo ra hiệu ứng răng cưa (Jaggies) khi ảnh được phóng lớn điểm ảnh gốc. Nội suy các pixel gần nhất chỉ hiệu quả khi ứng dụng cho hình vẽ vì sẽ bảo toàn đường biên cứng, thời gian đáp ứng nhanh và không làm tăng nhiều dung lượng tập tin.

Hình 2.5: Nội suy các pixel gần nhất

Có thể nói nội suy các điểm gần nhất (còn được gọi là nội suy điểm lấy mẫu) là một phương pháp đơn giản, nội suy với nhiều kích thước. Nội suy giá trị gần đúng không đưa ra một số điểm trong không gian, chỉ đưa ra một số giá trị của các điểm xung quanh điểm đó.

38

Thuật toán nội suy các điểm gần nhất chỉ cần chọn giá trị của các điểm gần nhất, và không xem xét các giá trị khác ở tất cả các điểm lân cận. Thuật toán rất đơn giản để triển khai thực hiện và thường được sử dụng trong thời gian thực ba chiều vẽ để chọn màu sắc cho một giá trị kết cấu bề mặt.

Giải thuật này là đơn giản nhất, nhanh nhất. Nó chỉ lấy màu sắc từ các điểm ảnh gần nhất rồi gán vào các điểm ảnh mới được tạo ra từ các điểm đó. Do vậy phương pháp nội suy này được coi là khả dụng với việc tạo ra các ảnh có chất lượng cao. Tuy nhiên, nó chưa thực sự khắc phục được hiện tượng răng cưa vì vậy nó là phương pháp ít được sử dụng.

2.5. Nội suy tam giác

Đây là phép nội suy hai tam giác trong hệ tọa độ Barycentric. C F

T D

A B E Hình 2.6: Phép nội suy tam giác

Giả sử có hai tam giác và muốn nội suy hai tam giác này cho nhau. Một cách đơn giản nhất là sử dụng kỹ thuật ánh xạ dựa trên hệ tọa độ Barycentric được minh họa trên hình 2.6.

Trước tiên, định nghĩa một ánh xạ T cho các đỉnh của tam giác: T(A)= D, T(B) = E, T(C) = F. Với các điểm còn lại sẽ ánh xạ chúng theo tọa độ Barycentric   1, 2, 3 nghĩa là:

1* 2* 3*

P A B C

(2.9) Trong đó: i 0 và   1 2 3 1

Một điểm Q là ánh xạ của P qua T được tính toán như sau:

          1 2 3 1 2 3 1 2 3 * * *C * *T * * * * Q T P T A B T A B T C D E F                    (2.10)

39

Như vậy, việc tìm được điểm nội suy dựa vào hệ tọa độ Barycentric, hệ tọa độ Barycentric được mô tả cụ thể như sau:

Hệ tọa độ Barycentric (tọa độ trọng tâm)

Trong toán học, tọa độ Barycentric là tọa độ được xác định bởi các đỉnh của một tam giác, tọa độ Barycentric là một hình thức tọa độ đồng nhất.

Gọi x x1, 2,..., xnlà đỉnh của một đa giác đồng phẳng trong một không gian vectơ A. Nếu đối với một số điểm p trong không gian vectơ A thì có:

a1  a2 ... anpa x1 1a x2 2 ... a xn n, trong đó các hệ số a a1, 2,...,an là những tọa độ trọng tâm (Barycentric) của P đối với x x1, 2,..., xn. Khi tọa độ không phải là điểm duy nhất, điểm P trong đa giác lồi x x1, 2,..., xn là các đỉnh của đa giác đó.

Nếu tưởng tượng a a1, 2,...,an gán cho đỉnh của hình khối thì tâm của khối hình là điểm P. Trong tam giác tọa độ Barycentric còn được gọi là tọa độ khu vực (vùng). Bởi vì các tọa độ của P đối với tam giác ABC là tỷ lệ thuận với khu vực PBC, PCA và PAB. Tọa độ vùng và tọa độ tam tuyến tính được sử dụng cho mục đích tương tự trong hình học. Tọa độ vùng rất có ích trong những ứng dụng kỹ thuật liên quan đến những miền con tam giác.

Trước tiên xét một tam giác được xác định bởi các đỉnh v v v1, 2, 3 bất kỳ điểm r nào nằm trên tam giác này đều có thể được viết như tổng trọng lượng của ba đỉnh:r1 1v 2 2v 3 3v . Trong đó   1, 2, 3 là các tọa độ vùng (còn thường sử dụng ký hiệu      , , : 1 2 3 1 có nghĩa là: 3   1  1 2). Lấy tích phân hàm f r :   11 2     1 1 2 2 1 2 3 1 2 0 0 r = 2A 1 T f r d f v v v d                (2.11) Phương trình trên có dạng của một hàm nội suy tuyến tính. Nhưng tọa độ vùng Barycentric cho phép thực hiện một phép nội suy tuyến tính những điểm trong hình tam giác nếu những giá trị của hàm được biết tại đỉnh.

40

Chuyển đổi tọa độ Đề các thành tọa độ Barycentric

Cho một điểm r bên trong hình tam giác, nó cũng có tọa độ Barycentric là   1, 2, 3 tại điểm r này. Có thể viết tọa độ Barycentric của điểm r có tọa độ Đề các (x, y) được tạo thành từ 3 đỉnh r r r1, ,2 3 như sau:

x1 1x 2 2x 3 3x (2.12)

y1 1y 2y23y3 (2.13)

Thay 3  1  1 2 vào phương trình: (adsbygoogle = window.adsbygoogle || []).push({});

  1 1 2 2 1 1 2 3 xx  x     x (2.14)   1 1 2 2 1 1 2 3 yy  y     y (2.15) Sắp xếp lại: 1x1x32x2x3 x3 x (2.16) 1y1y32y2y3 y3 y (2.17) Sử dụng phép biến đối tuyến tính có thể viết ngắn gọn như sau: T. r r3

Trong đó  là véc tơ của tọa độ Barycentric, r là véc tơ của tích Đề các, T là ma trận được xác định như sau:

1 3 2 3 1 3 2 3 x x x x T y y y y           

Bây giờ lấy ma trận nghịch đảo của ma trận T có 1

T có thể viết ngắn gọn:   1 1 3 2 T r r            (2.18)

Việc tìm tọa độ Barycentric có thể xác định bằng việc tìm ma trận nghịch đảo của ma trận T.

Nội suy trên một lƣới có cấu trúc hình tam giác

Tọa độ Barycentric cung cấp cách để nội suy một hàm trên một lưới hoặc mắt lưới không có cấu trúc, miễn là giá trị của hàm được biết ở tất cả các đỉnh của lưới này.

41

Để nội suy hàm f tại điểm r, chúng ta duyệt qua từng phần của tam giác sau đó chuyển đổi r thành tọa độ Barycentric của tam giác đó.

Nếu 0   i 1 i 1, 2,3 thì điểm nằm trong tam giác hoặc bên cạnh nó. Bây giờ chúng ta nội suy giá trị của f r 1f r 1 2f r 2 3f r 3 . Việc nội suy tuyến tính này được tự động với   1 2 3 1.

Một phần của tài liệu Nội suy ảnh và xây dựng ứng dụng nắn chỉnh hình thu nhận ảnh BMP 24 bit (Trang 42 - 46)