Xử lý ảnh số và video số
Tuần 6 : Phép biến đổi Hough
TS. Lý Quốc Ngọc
6. Phép biến đổi Hough
6.1. Giới thiệu
6.2. Phát hiện đoạn thẳng
6.3. Phát hiện đường tròn
6.4. Phát hiện đường cong tham số
6.5. Phát hiện đường cong không có phương trình
tham số hoặc tường minh.
TS. Lý Quốc Ngọc
2
6. Phép biến đổi Hough
6.1. Giới thiệu
Ảnh chứa các đối tượng với hình dạng, kích thước đã
biết.
Để định vị các đối tượng -> tạo mask + di chuyển
mask + tính độ tương quan giữa mask và vùng ảnh.
Dùng phép biến đổi Hough (giảm độ phức tạp tính
toán và tình trạng đối tượng bị che khuất).
TS. Lý Quốc Ngọc
3
6. Phép biến đổi Hough
6.2. Phát hiện đoạn thẳng
TS. Lý Quốc Ngọc
4
6. Phép biến đổi Hough
6.2. Phát hiện đoạn thẳng
- Phương trình đường thẳng
y = ax + b
- Đường thẳng qua (x1,y1) trong không gian (x,y) ứng với
đường thẳng b = -a.x1+y1 trong không gian tham số (a,b).
- Đường thẳng qua (x2,y2) trong không gian (x,y) ứng với
đường thẳng b = -a.x2+y2 trong không gian tham số (a,b).
TS. Lý Quốc Ngọc
5
6. Phép biến đổi Hough
6.2. Phát hiện đoạn thẳng
- Giao điểm (a’,b’) của hai đường trong không gian tham số
(a,b) xác định đường thẳng qua (xi,yi), i=1,2.
TS. Lý Quốc Ngọc
6
6. Phép biến đổi Hough
6.2. Phát hiện đoạn thẳng
Giải thuật
B1. Rời rạc hóa không gian tham số và khởi động mảng
P(a,b).
a1 a aK ; b1 b bL
B2. Với mỗi pixel (xi,yi) có giá trị 1 trong ảnh nhị phân, tính
b a. xi yi
B3. Với mỗi a1 a aK , b được xác định và cập nhật
P(a,b) += 1
B4. Nếu P(a,b) >= T thì đường thẳng y a. x b được xác
nhận tồn tại.
TS. Lý Quốc Ngọc
7
6. Phép biến đổi Hough
6.1. Giới thiệu
TS. Lý Quốc Ngọc
8
6. Phép biến đổi Hough
6.2. Phát hiện đoạn thẳng
TS. Lý Quốc Ngọc
9
6. Phép biến đổi Hough
6.2. Phát hiện đoạn thẳng
r x cos y sin
2
N1
2
2
N2
r
2
N1
2
N2
2
TS. Lý Quốc Ngọc
10
6. Phép biến đổi Hough
6.2. Phát hiện đoạn thẳng
TS. Lý Quốc Ngọc
11
6. Phép biến đổi Hough
6.3. Phát hiện đường tròn
( x a ) 2 ( y b) 2 R 2
x a R cos
a x R cos
y b R sin
b y R sin
TS. Lý Quốc Ngọc
12
6. Phép biến đổi Hough
6.3. Phát hiện đường tròn
x a R cos
y b R sin
a x R cos
b y R sin
TS. Lý Quốc Ngọc
13
6. Phép biến đổi Hough
6.3. Phát hiện đường tròn
x a R cos
y b R cos
a x R cos
b y R cos
TS. Lý Quốc Ngọc
14
6. Phép biến đổi Hough
6.3. Phát hiện đường tròn
Giải thuật
B1. Rời rạc hóa không gian tham số (r,a,b) và khởi động mảng P(r,a,b).
0 r rmax ; a1 a aK ; b1 b bL
B2. Với mỗi pixel (xi,yi) có giá trị 1 trong ảnh nhị phân, và với mỗi
0 r rmax , tính (a,b)
a xi r cos
b yi r sin
B3. Với mỗi (r,a,b) được xác định, cập nhật
P(r,a,b) += 1
B4. Nếu P(r,a,b) >= T thì đường tròn tâm (a,b) bán kính r được xác
nhận tồn tại.
TS. Lý Quốc Ngọc
15
6. Phép biến đổi Hough
6.4. Phát hiện đường cong tham sô f(x,a)=0
Giải thuật
B1. Rời rạc hóa không gian tham số a và khởi động mảng P(a).
B2. Với mỗi pixel (xi,yi) có giá trị 1 trong ảnh nhị phân, cập nhật P(a)
nếu f(x,a)=0
P(a) += 1
Với mọi a trong khoảng rời rạc.
B3. Xác định cực đại cực bộ của P(a). Giá trị a làm P(a) đạt cực đại cục
bộ xác nhận sự tồn tại của đường cong tham số f(x,a)=0 trong ảnh.
TS. Lý Quốc Ngọc
16
6. Phép biến đổi Hough
6.5. Phát hiện đường cong không có phương
trình tham số hoặc tường minh.
TS. Lý Quốc Ngọc
17
6. Phép biến đổi Hough
6.5. Phát hiện đường cong không có phương trình
tham số hoặc tường minh.
TS. Lý Quốc Ngọc
18
6. Phép biến đổi Hough
6.5. Phát hiện đường cong không có phương trình tham
số hoặc tường minh.
Giải thuật
B1. Xây dựng bảng R-table đối với đối tượng cần tìm.
B2. Tạo mảng tích lũy A chứa các tham số và khởi động A
A( x R , S , ) 0
B3. Với mỗi pixel ( x1 , x2 ) có giá trị 1, tính (x ) , tìm tất cả các điểm
tham chiếu x R và cập nhật A( x R , S , ) 1 với mọi ( S , )
x1R x1 r ( ) S cos( ( ) )
x2R x2 r ( ) S cos( ( ) )
B4. Vị trí của đối tượng cần tìm đc xác định bởi các tham số làm cực
R
đại A( x , S , )
TS. Lý Quốc Ngọc
19
7. Các giải thuật xử lý Line
7.1. Phát hiện đường mảnh
7.2. Làm mảnh đường
7.3. Lấp đầy đường
TS. Lý Quốc Ngọc
20
7. Các giải thuật xử lý Line
7.1. Phát hiện đường mảnh
f (i, j ) max[0, max k ( f * hk )]
TS. Lý Quốc Ngọc
21
7. Các giải thuật xử lý Line
7.2. Làm mảnh đường
So khớp mặt nạ tại mỗi pixel, nếu khớp, line được làm mảnh
bằng cách thay thế phần tử 1 tại tâm bởi 0.
x {0;1}
TS. Lý Quốc Ngọc
22
7. Các giải thuật xử lý Line
7.3. Lấp đầy đường
Kiểm tra lân cận 3x3 của pixel hiện thời khớp một trong các
trường hợp sau thì pixel hiện thời được chuyển từ 0 sang 1.
TS. Lý Quốc Ngọc
23