4.3.3 Tính diện tích, chu vi các đối tượng cần xét
Sau khi thông tin nước đã được trích xuất nhưng vẫn còn lẫn với một ít bóng đổ
tòa nhà, chúng ta cần tính toán chỉ số hình để loại bỏ tối đa các thành phần tạp này. Để
tính toán chỉ số hình cần tính được diện tích và chu vi của các đối tượng cần xét.
Ảnh VNRedsat
Nir < d1
Nước, bóng đổ Thông tin khác
Sông Hồng
Blue > d2
Nước lục địa, bóng đổ tòa nhà
DT > d3 Nước lục địa ( diện tích lớn) Nước lục địa ( diện tích nhỏ) Bóng đổ tòa nhà d4 > M > d5 Ao, một ít Nước lục địa ( cùng hình dạng) Bóng đổ tòa nhà
Thông tin nước
T F
T F
T F
F T
Lưu ảnh VNRedsat nước 141
97
22000
0.13
Thuật toán tính diện tích của đối tượng:
Ý tưởng:
Để tính được diện tích của đối tượng, cần đếm số các điểm ảnh thuộc cụm dữ
liệu cần xét rồi nhân với kích thước điểm ảnh.
Mô tả thuật toán:
Bước 1. Duyệt toàn bộ ma trận điểm ảnh của ảnh thông tin nước (ma trận thông
tin Nước lục địa có diện tích < diện tích bóng đổ tòa nhà) để đánh chỉ số phân cụm.
Sau bước này, sẽ tạo ra các cụmthông tin nước còn lẫn một ít bóng đổ.
Bước 2. Tính diện tích cụm bằng cách đếm các điểm ảnh trong mỗi cụm rồi nhân với kích thước của điểm ảnh.
Thuật toán tính chu vi của đối tượng:
Ý tưởng:
Để tính được chu vi của cụm phải duyệt qua tất cả các điểm ảnh của cụm, tìm
được các điểm ảnh thuộc đường biên của cụm, cộng độ dài của đường biên này theo mép ngoài sẽ tính được chu vi của cụm.
Mô tả thuật toán:
Bước 1: Duyệt toàn bộ ma trận điểm ảnh của ảnh thông tin nước (ma trận thông tin Nước lục địa có diện tích < diện tích bóng đổ tòa nhà) để đánh chỉ số phân cụm.
Sau bước này, sẽ tạo ra các cụmthông tin nước và còn lẫn một ít bóng đổ.
Bước 2: Tại mỗi điểm ảnh đang xét, lựa chọn đi tiếp 4 hướng kế cận
Bước 3: Nếu vị trí điểm ảnh đi tiếp là chưa được xét và nằm trong phạm vi của
cụm thì so sánh giá trị của nó với giá trị ban đầu.
Bước 4: Nếu phép so sánh tại Bước 3 là Sai ( hai điểm ảnh khác giá trị ) thì nó là
điểm ảnh kề điểm ảnh thuộc cụm đang xét và nếu vị trí này chưa được duyệt qua thì
tăng biến đếm chu vi lên 1 đơn vị, ngược lại bỏ qua.
Bước 5: Nếu đi bốn hướng mà gặp đường biên của ảnh thì bỏ qua cụm này (vì không thể xác định được cụm dữ liệu có điểm ảnh nằm biên thuộc hình gì).
Bước 6: Quay lại Bước 2 cho đến khi không còn đường đi nữa thì thuật toán
dừng lại, trả về giá trị chu vi của đối tượng
Để giải quyết được bài toán này, chúng ta áp dụng thuật toán tìm kiếm theo chiều
điểm ảnh thuộc biên của đối tượng nhằm mục đích tính chu vi của cụm đó hoặc đếm các điểm ảnh để tính diện tích của cụm.
Giả sử điểm đang xét là Ei,j, xung quanh điểm này sẽ có 8 hướng để đi tiếp, các điểm này là A, B, C D, F, G, H, I hoặc 4 hướng khác là B, D, H, F. Tùy theo từng đặc điểm bài toán mà chúng ta cần xác định duyệt 4 hướng hay 8 hướng. Đối với bài toán này, chúng ta sử dụng cách duyệt 4 hướng kế cận để tiện cho việc tính chu vi đối tượng(xem Bảng 4.3).
Bảng 4.3 Minh họa duyệt 4 hướng kế cận
A i-1,j-1 B i-1,j C i-1,j+1 D i,j-1 E i,j F i, j+1 G i+1,j-1 H i+1,j I i+1,j+1
Điểm đang xét là Ei,j và hướng đi tiếp theo là một trong các điểm B, D, F và H. Trong Bảng 4.4 mô tả diện tích hai đối tượng A và B được tô màu xanh đậm và màu xanh nỏn chuối. Trong đó, đối tượng A ={A1, A2, A3}, B = {B1, B2, B3, B4, B5}, kích thước mỗi điểm ảnh có giá trị 10m (Pixel Size = 10m) thì:
Diện tíchđối tượng A = (A1 + A2 + A3) × 10 m = 3× 10 m = 30 m2
Diện tích đối tượng B = (B1 + B2 + B3 + B4 + B5) × 10 m = 5× 10 m = 50 m2.
Bảng 4.4 Minh họa tính diện tích của đối tượng
0 0 0 0 0 0 0 0 0 B1 B4 0 0 A1 0 B2 B5 0 0 A2 0 B3 0 0 0 A3 0 0 0 0 0 0 0 0 0 0
Trong Bảng 4.5 mô tả chu vi của đối tượng bằng đường viền đậm, chu vi sẽ là tổng độ dài của các cạnh biên của cụm dữ liệu mà chúng ta xét.
Trường hợp tính chu vi của đối tượng A và B theo mô tả Bảng 4.5 ta tính như
sau:
Bước 1: Gán Chu vi = 0
Bước 2: Đọc giá trị tại điểm A1, có 3 cạnh tiếp giáp với giá trị 0 ( Chu vi + 3)
Bước 3: Đọc điểm A2, có 2 cạnh giáp với giá trị 0 (Chu vi + 2)
Bước 4: Đọc điểm A3, có 3 cạnh giáp với giá trị 0 (Chu vi +3)
Bước 5: Trả về kết quả Chu vi A = (3+ 2 + 3) × 10 m = 80 m
Tương tự đối với đối tượng B,
ta có Chu vi B = [B1 (=2) + B2(=1) + B3(=3) + B4(=2) + B5(=2)] × 10 m = 10 × 10 m = 100 m
Bảng 4.5 Minh họa tính chu vi của đối tượng
0 0 0 0 0 0 0 0 0 B1 B4 0 0 A1 0 B2 B5 0 0 A2 0 B3 0 0 0 A3 0 0 0 0 0 0 0 0 0 0
Kỹ thuật gộp dữ liệu trích xuất nước Sông Hồng và nước lục địa
Sau khi đã trích xuất được thông tin nước Sông Hồng và nước lục địa đã xử lý loại bỏ bóng nhà ở dạng các mảng (array) riêng biệt, cần phải tổng hợp 2 mảng dữ liệu
này để đưa ra kết quả thông tin nước cuối cùng bằng kỹ thuật cộng bit dữ liệu ta thu
được kết như minh họa ở Bảng 4.6 dưới đây. Trong đó, bít có giá trị 1 đại diện cho
thông tin nước, còn bít có giá trị 0 là thông tin khác (không phải nước). Các mảng gồm mảng A minh họa Nước lục địa, mảng B minh họa nước Sông Hồng, mảng C là kết quả chứa thông tin nước cuối cùng.
Bảng 4.6 Bảng minh họa kỹ thuật gộp dữ liệu trích xuất thông tin nước
0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1 0 1 1 0 1 0 0 0 0 1 0 1 0 0 1 + = A B C
Chương 5. KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ 5.1 Kết quả thực nghiệm
5.1.1 Kết quả trích xuất thông tin nước VNREDSat-1
Ảnh VNREDSat-1 ban đầu chụp ở khu vực Hà Nội đã được xử lý ở mức 2A trước lúc
đưa vào lập trình xử lý trích xuất thông tin nước ( xem Hình 5.1 ).