Professional Documents
Culture Documents
HUỲNH ĐÍCH
LƯƠNG NHẬT DUY
ĐÀO VĂN MINH
Điểm biên: Một điểm ảnh được coi là điểm biên nếu có
sự thay đổi nhanh hoặc đột ngột về mức xám (hoặc
màu).
Đường biên còn gọi là đường bao (boundary): Là tập
hợp các điểm biên liên tiếp.
Đường biên sử dụng để làm phân cách các vùng xám
(hoặc màu) cách biệt. Ngược lại, người ta cũng sử dụng
các vùng ảnh để tìm phân cách.
Tách biên
3
Biên
Mô hình biểu diễn đường biên
4
đổi Laplacian
Đạo hàm bậc nhất: Vector Gradient
6
Kĩ thuật Gradient dùng cặp mặt nạ H1,H2 trực giao. Nếu
định nghĩa Gx, Gy tương ứng là Gradient theo hai hướng
x,y khi đó ta có vector Gradient của một ảnh f(x,y) là:
Thực tế, việc làm nổi biên là nhân chập ảnh I với một
mặt nạ (ma trận) trong các mặt nạ sau: Sobel, Prewitt,
Robert.
Kỹ thuật Prewitt
8
Bước 1: Tính I ⊗ Hx và I ⊗ Hy
Bước 2: Tính I ⊗ Hx + I ⊗ Hy
Kỹ thuật Prewitt
9
Ví dụ:
Kỹ thuật Prewitt
10
Ví dụ
Kỹ thuật Prewitt
11
def Prewitt(I)
# tạo mặt nạ Prewitt
Hx = np.array([[-1, 0, 1], [-1, 0, 1], [-1, 0, 1]])
Hy = np.array([[-1, -1, -1], [0, 0, 0], [1, 1, 1]])
Kết quả:
Chiều
dọc
Chiều
ngang Tổng chiều ngang
với chiều dọc
Kỹ thuật Prewitt
16
return tempout
Kỹ thuật Sobel
17
Bước 1: Tính I ⊗ Hx và I ⊗ Hy
Bước 2: Tính I ⊗ Hx + I ⊗ Hy
Kỹ thuật Sobel
18
Khi mức xám thay đổi chậm, miền chuyển tiếp trải
rộng, phương pháp cho hiệu quả hơn đó là phương pháp
sử dụng đạo hàm bậc hai Laplace
Toán tử Laplace được xây dựng trên cơ sở đạo hàm bậc
2 của hàm biến đổi mức xám.
2 𝜕2 𝑓 𝜕 2 𝑓
∆ 𝑓= 2
+ 2
𝜕𝑥 𝜕𝑦
Dưới đây là ba kiểu mặt nạ thường dùng:
Biến đổi Laplacian
23
=>
Ví dụ
Ảnh gốc
Tính ngưỡng:
gray = cv2.cvtColor(img,
cv2.COLOR_BGR2GRAY)
Tạo vùng nền và xác định vùng các vùng chắc chắn.
kernel = np.ones((3, 3), np.uint8)
erosion = cv2.erode(thresh, kernel, iterations=1)
dilation = cv2.dilate(erosion, kernel, iterations=1)
Vùng chắc chắn Vùng chưa chắc chắn Vùng không xác định
Phân vùng
30
Nhận xét: