You are on page 1of 33

Giới thiệu

• Contour được định nghĩa là các đường cong liên tục trên một hình ảnh mà
tạo thành ranh giới giữa vùng đối tượng và vùng nền. Một đường contour
có thể được xác định bằng cách tìm các điểm ảnh trên hình ảnh có giá trị
màu hoặc cường độ khác với giá trị màu hoặc cường độ của nền ảnh, sau
đó liên kết các điểm này với nhau để tạo thành các đường contour.
• Các đường contour thường được sử dụng để trích xuất các đặc trưng của
vật thể trên hình ảnh, như kích thước, hình dạng, vị trí và hướng của đối
tượng.
• Các thuật toán tìm đường contour phổ biến trong xử lý hình ảnh bao gồm
thuật toán: Square Tracing algorithm và Moore – Neighbor Tracing
Một số khái niệm
• Neighbor: 2 pixel được gọi là neighbor nếu 2 pixel đó chung một cạnh.

• Thành phần connected: giả sử trong ảnh binary, các pixel thuộc 1 đối tượng
có giá trị 1 còn các pixel thuộc nền thì có giá trị 0. Lúc này nếu giữa 2 pixel
bất kì thuộc đối tượng, chuỗi các pixel thỏa mãn:

• Tất cả đều thuộc đối tượng, tức là các pixel này có giá trị bằng 1.
• Mỗi pixel thuộc chuỗi đều phải neighbor với pixel trước và kế tiếp trong
chuỗi.
• thì chuỗi pixel đó được gọi là một thành phần connected.
Contour Tracing Algorithms

• Chúng ta có 4 thuật toán Contour Tracing chung nhất. 2 trong số đó có


tên là: Square Tracing algorithm và Moore – Neighbor Tracing là dễ
để thực hiện và thường xuyên được dùng để dò tìm contour của một
mẫu. Nhưng, cả 2 thuật toán trên đều có những điểm yếu, là nguyên
nhân chính dẫn đến việc dò tìm sai contour của một lớp các mẫu nếu
các mẫu đó có chứa các kiểu “connectivity” phức tạp.
Square Tracing algorithm
• Thuật toán: Duyệt từ pixel ngoài cùng bên trái
phía dưới, đi lên cho tới khi gặp pixel có giá trị
bằng 1 (pixel này sẽ được gọi là pixel start) thì bắt
đầu di chuyển theo quy tắc sau:

• Nếu gặp Pixel có giá trị bằng 1 thì rẽ trái.


• Nếu gặp Pixel có giá trị bằng 0 thì rẽ phải.
• Di chuyển cho tới khi quay lại pixel start thì dừng
lại.
Square Tracing algorithm
Thuật toán:
Input: Một hình lát T, chứa các thành phần P của điểm ảnh đen
Output: Một chuỗi B (b1,b2,…) của các điểm ảnh biên (đường viền)
Bắt đầu:
Đặt chuỗi B trống.
- Từ dưới lên trên và từ trái sang phải quét hình lát T cho đến khi một điểm ảnh đen (s) trong P được
tìm thấy.
- Chèn s vào B.
- Thiết lập các điểm ảnh hiện tại,(p), các điểm ảnh bắt đầu (s).
- Rẽ trái - truy cập vào các điểm ảnh liền kề bên trái của p.
- Cập nhật p - đặt nó vào được các điểm ảnh hiện tại.
- Trong khi p không thấy thì sẽ đặt vào s.
- Nếu hiện tại điểm ảnh p là màu đen, chèn p trong B và rẽ trái (truy cập vào các điểm ảnh liền kề bên
trái của trang). Nếu không thì rẽ phải (truy cập các điểm ảnh liền kề bên phải của trang).
Điều kiện dừng
• Thuật toán sẽ kết thúc đúng khi di
chuyển vào pixel start lần thứ 2 sau
khi đi qua n pixel khác và theo
đúng hướng đi vào pixel start lần
đầu tiên. Và sai khi di chuyển vào
pixel start mà không đúng hướng
ban đầu. Vậy thuật toán này chỉ
chạy đúng trên đối tượng 4 - Thuật toán Square Thuật toán Square
connected. Tracing chạy đúng Tracing chạy sai
Square Tracing
Ưu điểm:
• Độ phức tạp tính toán của thuật toán Square Tracing thấp hơn so với
nhiều thuật toán khác.
• Được sử dụng rộng rãi trong việc tìm kiếm đường viền của các hình
dạng 2D.
• Thuật toán Square Tracing được cài đặt dễ dàng và đơn giản hơn so
với nhiều thuật toán khác.
• Không yêu cầu quá nhiều tài nguyên tính toán, nên thường có thời
gian xử lý nhanh hơn so với một số thuật toán phức tạp khác.
Square Tracing
Nhược điểm:
• Thuật toán chỉ hoạt động tốt với các hình dạng đơn giản, không chứa
các cạnh cong phức tạp.
• Thuật toán có thể không xác định chính xác đường viền của hình dạng
nếu nó chứa các cạnh gấp khúc hoặc đường chéo.
• Thuật toán không phù hợp để xác định đường viền của các hình dạng
3D hay hình dạng có các đặc tính đặc biệt khác ngoài các cạnh.
Moore – Neighbor Tracing
• Thuật toán: Moore – Neighbor tracking
có chút khác biệt so với thuật toán Square
Tracking, cụ thể: khi gặp pixel có giá trị
bằng 1 đầu tiên (pixel start) thì ta sẽ quay
lại pixel trước đó, sau đó đi vòng qua các
pixel thuộc 8-connected theo chiều kim
đồng hồ cho tới khi gặp pixel khác có giá
trị bằng 1.
Contour trong xác định vị trí
biển số xe
Bùi Đức Duy-19021030
Moore Tracing
Ưu điểm:
• Thuật toán Moore Tracing tìm được đường bao quanh vùng đen một
cách chính xác và nhanh chóng.
• Thuật toán có tính tổng quát, có thể áp dụng được cho hầu hết các
hình dạng vùng đen, bao gồm cả các hình dạng phức tạp.
• Tốc độ chạy của thuật toán Moore Tracing không phụ thuộc vào kích
thước của vùng đen. Do đó, thuật toán này rất hiệu quả đối với các
hình ảnh lớn.
Moore Tracing
Nhược điểm:
• Thuật toán Moore Tracing có thể bị sai lệch kết quả nếu vùng đen có
độ dày thay đổi đột ngột, ví dụ như có những chỗ quay ngoặt đột
ngột hoặc những chỗ có chi tiết nhỏ.
• Nếu vùng đen có lỗ thì thuật toán không thể tìm được đường bao
quanh vùng đó.
• Nếu vùng đen là một hình dạng phức tạp, thuật toán Moore Tracing
sẽ phải thực hiện nhiều lần lặp để tìm được đường bao quanh vùng
đó, dẫn đến tốn thời gian và tài nguyên tính toán.
So sánh
So sánh
So sánh
So sánh
So sánh
So sánh
So sánh
So sánh
So sánh
So sánh
So sánh định tính
Tính chất của đường viền được trích xuất:
• Square Tracing có xu hướng trích xuất các đoạn đường thẳng, góc
cạnh của đường viền được trích xuất gần như là vuông góc hoặc song
song với trục x hoặc y.
• Moore Tracing trích xuất các đoạn đường cong hơn, với các góc cạnh
được trích xuất tùy ý hơn.
So sánh định tính
Tốc độ:
• Trong trường hợp trích xuất đường viền từ ảnh nhỏ, hai thuật toán có
tốc độ khá tương đương.
• Tuy nhiên, khi ảnh lớn hơn và có nhiều đường viền phức tạp hơn,
Square Tracing có xu hướng nhanh hơn Moore Tracing.
Khả năng trích xuất đường viền được nối tiếp:
• Square Tracing có khả năng trích xuất các đường viền liên tục tốt hơn
so với Moore Tracing, đặc biệt là khi có sự giao nhau hoặc chồng chéo
giữa các đường viền.
• Moore Tracing có xu hướng trích xuất các đường viền không liên tục
hơn, đôi khi cần thêm bước xử lý sau đó để nối các đoạn đường lại
với nhau.
BÀI TOÁN XÁC ĐỊNH VỊ TRÍ BIỂN SỐ
XE
Bài toán xác định vị trí biển số xe
Cảm ơn thầy và các bạn đã lắng nghe

You might also like