Biến đổi Hongh cho đường thẳng

Một phần của tài liệu Giáo trình môn xử lý ảnh ppt (Trang 82 - 84)

Bằng cỏch nào đú ta thu được một số điểm vấn đề đặt ra là cần phải kiểm tra xem cỏc điểm cú là đường thẳng hay khụng

Bài toỏn:

Cho n điểm (xi; yi) i = 1, n và ngưỡng θ hóy kiểm tra n điểm cú tạo thành đường thẳng hay khụng?

* í tưởng

Giả sử n điểm nằm trờn cựng một đường thẳng và đường thẳng cú phương trỡnh

y = ax + b

Vỡ (xi, yi) i = 1, n thuộc đường thẳng nờn y1 = ax1 + b, ∀i = 1, n ⇔ b = - xia + y1; ∀i = 1, n

Như vậy, mỗi điểm (xi; yi) trong mặt phẳng sẽ tương ứng với một số đường thẳng b = - xia + yi trong mặt phẳng tham số a, b. n điểm (xi; yi) i = 1, n thuộc đường thẳng trong mặt phẳng tương ứng với n đường thẳng trong mặt phẳng tham số a, b giao nhau tại 1 điểm và điểm giao chớnh là a, b. Chớnh là hệ số xỏc định phương trỡnh của đường thẳng mà cỏc điểm nằm vào.

* Phương phỏp:

- Xõy dựng mảng chỉ số [a, b] và gỏn giỏ trị 0 ban đầu cho tất cả cỏc phõn tử của mảng

- Với mỗi (xi; yi) và ∀a, b là chỉ số của phần tử mảng thoả món b = - xia + yi tăng giỏ trị của phõn tử mảng tương ứng lờn 1

- Tỡm phần tử mảng cú giỏ trị lớn nhất nếu giỏ trị lớn nhất tỡm được so với số phõn tử lớn hơn hoặc bằng ngưỡng θ cho trước thỡ ta cú thể kết luận cỏc điểm nằm trờn cựng 1 đường thẳng và đường thẳng cú phương trỡnh

y = ax + b trong đú a, b tương ứng là chỉ số của phần tử mảng cú giỏ trị lớn nhất tỡm được:

Vớ dụ:

Cho 5 điểm (0, 1); (1, 3); (2, 5); (3, 5); (4, 9) và θ = 80%. Hóy kiểm tra xem 5 điểm đó cho cú nằm trờn cựng một đường thẳng hay khụng? Hóy cho biết phương trỡnh đường thẳng nếu cú?

- Lập bảng chỉ số [a, b] và gỏn giỏ trị 0 + (0, 1): b = 1 + (1, 3): b = -a + 3 + (2, 5): b = -2a + 5 + (3, 5): b = -3a + 5 + (4, 9): b = -4a + 9 - Tỡm phần tử lớn nhất cú giỏ trị 4 4/5 = 80%

- Kết luận: 5 điểm này nằm trờn cựng 1 đường thẳng Phương trỡnh: y = 2x + 1

OH.HA=0

Một phần của tài liệu Giáo trình môn xử lý ảnh ppt (Trang 82 - 84)