XỬ LÝ ẢNH DỰA TRÊN MORPHOLOGICAL NGÔ QUỐC VIỆT... Ứng dụng morphology vào các bài toán xử lý ảnh Dò biên Trích các thành phần liên thông Extraction of Connected Components Tìm
Trang 1XỬ LÝ ẢNH DỰA TRÊN
MORPHOLOGICAL
NGÔ QUỐC VIỆT
Trang 21 Giới thiệu Binary Morphology
2 Một số khái niệm về tập hợp
3 Các phép toán cơ bản
Phát triển và bào mòn (Dilation and erosion)
Mở và đóng (Opening and closing)
Biến đổi trúng hay trật (Hit-or-miss transformation)
4 Ứng dụng morphology vào các bài toán xử lý ảnh
Dò biên
Trích các thành phần liên thông (Extraction of Connected
Components)
Tìm bao lồi (Convex Hull)
Tô vùng (Region Filling)
Làm mảnh (Thinning)
Làm dầy (Thickening)
Lọc xương/Lấy cạnh trung tâm (Skeleton)
2 Bài giảng Xử lý ảnh - TS Ngô Quốc Việt
Trang 3 Trang bị kiến thức về cách tiếp cận cấu trúc (tập
hợp) vào giải quyết các bài toán xử lý ảnh đã được giải quyết bằng các biến đổi giải tích trước đó, và một số xử lý khác
Trang bị các kỹ năng sử dụng OpenCV để thực hiện
các xử lý dựa trên morphology
Trang 4 Phương pháp phi tuyến
Dựa trên lý thuyết tập hợp Minkowski
Là một phần của lý thuyết finite lattices
Dùng để phân tích ảnh dựa trên hình dáng
Phương pháp hiệu quả, nhưng chưa được sử dụng nhiều
Morphology nhị phân là morphology trên ảnh đen trắng cho những bài toán xử lý ảnh cơ bản
4 Bài giảng Xử lý ảnh - TS Ngô Quốc Việt
Trang 5 Cải tiến ảnh (image
Trang 66
I(p) thuộc G S P được gọi là image plane
Ảnh nhị phân có hai giá trị Nghĩa là, G = {v fg , v bg }, với vfg là giá
Trang 7Foreground của ảnh nhị phân
BG và FG I BG I C.
Background là bù của foreground và ngược lại
Trang 88
A ={(3,1), (4,1),(3,2),(4,2),(3,3)}
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt
Trang 9Structuring element là ảnh nhỏ – được dùng
làm cửa sổ dịch chuyển – giá của SE thể hiện
các pixel lân cận
SE có thể có hình dáng và kích thước bất kỳ,
hoặc liên thông (nhiều hơn 1 piece, có lỗ) Dấu
tròn trên hình thể hiện gốc của SE Gốc này có
thể đặt bất kỳ đâu trong SE
Trang 10Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 10
Trang 11Cho Z là SE và S lưới vuông các vị trí pixlel chứa
tập {(r,c), (-r,-c) | (r,c)supp(Z)} Thì
Là phản chiếu của structuring element
quay 180º quanh gốc của nó
)(sup)
,(),
,(
),
Z là
Z
Trang 12 Phép toán Dilation đối tượng A theo đối tượng Z (thường là SE) được định nghĩa bởi
(n là số phần tử trong Z) D(A,Z) là hợp các A i
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 12
Z A
Z A
Trang 13I supp
Z Hội những copies của SE, mỗi bản copy
là dịch chuyển đến vị trí pixel foreground trong ảnh
p Hội những copies của ảnh, mỗi bản là dịch
chuyển đến vị trí pixel foreground của SE
Trang 14Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 14
Trang 15 Sử dụng SE 3x3 – Z8 có dạng cho phép mở rộng đều về cả 8 hướng
1 1 1
1 1 1
Trang 16SE được áp lên mọi pixel của ảnh Tâm của SE được kết hợp với từng pixel, toàn bộ SE được áp cho pixel đang xét theo cách thay thế pixel đó bằng SE
Khái niệp “áp” là hoạt động “công logic nhị phân giữa các giá trị 0, 1”
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 16 Ảnh nguồn
SE
Đã giãn
Trang 17Tham khảo mã nguồn openCV_Dilate
Trang 18 Phép toán Erosion đối tượng A theo đối tượng Z được định nghĩa bởi:
Kết quả sau khi tịnh tiến a là các vectơ mới: a 1 ,a 2 , a n (n là số
| { )
, (A Z x x z A z Z
E
Trang 19sao - là dịch chuyển đến vị trí pixel thuộc goreground của refl SE
Phần giao của các copies của reflected
SE, mỗi cái dịch chuyển đến vị trí pixel thuộc foreground của ảnh
Trang 2020
A = {(1,1),(2,1),(3,1),(4,1),(1,2),(3,2),(1,3),(2,3)} Z= {(1,0),(0,1)}
Lấy Vector (1,1) tịnh tiến theo các vector trong Z
a1 = (1,1) + (1,0) = (2,1) thuộc A a2 = (1,1) + (0,1) = (1,2) thuộc A
(1,1) thuộc E(A,B)
Lấy Vecto (3,1) tịnh tiến theo các vector trong Z
a1 = (3,1) + (1,0) = (4,1) thuộc A a2 = (3,1) + (0,1) = (3,2) thuộc A
(3,1) thuộc E(A,Z)
Lấy Vecto (2,2) tịnh tiến theo các vector trong Z
a1 = (2,2) + (1,0) = (3,2) thuộc A a2 = (2,2) + (0,1) = (2,3) thuộc A
(2,2) thuộc E(A,Z)
Các vectơ khác khi tịnh tiến sẽ có vectơ không thuộc A. Không thuộc E(A,Z)
E(A,Z) = {(1,1),(3,1),(2,2)}
Trang 21Xét pixel của ảnh, nếu mọi phần tử của SE trùng với phần ảnh
tương ứng, thì logical disjunction (OR operation) được thực
hiện giữa tâm của SE với pixel tương ứng để tạo ra pixel trong ảnh output
Các đối tượng nhỏ hơn SE sẽ bị xóa, các đối tượng nối với nhau bởi đường mảnh sẽ tách rời và kích cỡ đối tượng sẽ giảm
Ảnh nguồn
SE
Eroded
Trang 22Tham khảo mã nguồn openCV_Erode
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 22
Trang 23 Dilate: nhằm tăng kích thước, bịt các lỗ hổng
Erode : co kích thước, mở rộng khoảng hở
Dilate và erode có tính đối ngẫu
Có thể cài đặt erode từ dilate và ngược lại
)(
)(A B C A B C
),()
Trang 24Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 24
Hai phép toán phát triển và bào mòn thường được
sử dụng cùng nhau Từ nhu cầu đó, người ta kết hợp
2 phép toán này để tạo nên một số phép toán có mức độ quan trọng cao hơn: phép mở và phép đóng
Phép mở của tập A bởi phần tử cấu trúc B được định
nghĩa như sau:
Phép đóng của tập A bởi phần tử cấu trúc B :
Trang 25Opening
Closing
Trang 26 Phép mở
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 26
Trang 27 Phép đóng
Trang 28Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 28
Kết quả Phép mở Kết quả Phép đóng
Trang 30Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 30
Một số tính chất của phép mở:
Trang 31Tham khảo mã nguồn openCV_OpenClose
Trang 32 Hit-and-miss được dùng để xác định patterns của foreground và background pixels trong ảnh
Trang 33 Xét một ví dụ ứng dụng của phép biến đổi trúng- trật: Xác định vị trí các điểm góc trên bên phải của tập A
Trang 34 Theo công thức 1, kết quả biến đổi là
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 34
Trang 35 Theo công thức 2, kết quả là
Trang 36 Top hat được xác định
Trang 37Hình ảnh minh họa trích từ nguồn Vanderbilt University
Trang 38 Gọi biên của đối tượng A là ∂A, lúc đó công thức để tính ∂A như sau:
Trang 39Hình ảnh minh họa trích từ nguồn Vanderbilt University
Trang 40Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 40 original
binary image
dilation by plus
4-connected SE
difference 8-conn outside bdry
Hình ảnh minh họa trích từ nguồn Vanderbilt University
Trang 41Hình ảnh minh họa trích từ nguồn Vanderbilt University
Trang 42Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 42 original
Trang 44Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 44 8-bdry/4-bdry/orig
inside boundaries
all 4 boundaries
are disjoint from
orig/8-bdry/4-bdry outside boundaries
Hình ảnh minh họa trích từ nguồn Vanderbilt University
Trang 45 Đa giác A được gọi là đa giác lồi (convex) nếu
một đường thẳng nối 2 điểm bất kì thuộc A phải nằm trong A
Bao lồi (convex hull) H của một tập bất kì S là
một đa giác lồi nhỏ nhất chứa tất cả các điểm thuộc S
Tập được tạo thành bởi H-S được gọi là tập thiếu của S
Trang 46 Cho B i , i=1,2,3,4 biểu diễn 4 thành phần cấu trúc
Quy trình bao gồm việc thực hiện các phương trình
Đặt , khi bước thực hiện phương trình trên đạt được
Bao lồi của A là
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 46
,
3 , 2 , 1
; 4 , 3 , 2 , 1 ,
C
i k
i
X 1
Trang 47X X
X 4
0
3 0
2 0 1
0
Trang 48Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 48
A
Trang 50Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 50
x x
Trang 52Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 52
x x
x x
Trang 54Tham khảo mã nguồn openCV_ConvexHull
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 54
Trang 55 Làm mỏng một tập A theo một phần tử cấu trúc B được xác định:
Có thể dùng nhiều SE để làm mảnh A
Hit-or-miss transformation
Trang 56Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 56
Trang 57 Quá trình làm dày A theo phần tử cấu trúc B được xác định
Quá trình làm dày cũng được xác định qua một chuỗi phần tử cấu trúc
SE của thickening tương tự như SE của thinning nhưng hoán vị vai trò của zero và 1
Hit-or-miss transformation
Trang 58Tham khảo mã nguồn openCV_ConvexHull
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 58
Trang 59 Đặt Skel(I,r) là tập các pixel trong I sao cho nếu
p Skel(I,r) thì D p (r), là maximal disk bán kính r
trong I Nghĩa là, Skel(I,r) là quỹ đạo của các tâm của maximal disks bán kính r trong I Thì
Xương của I là hội của tập tất cả tâm của maximal
disk
Maximal disk D p (r) tiếp xúc với biên của I ít nhất tại
hai điểm
),I(
Trang 60Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 60
Trang 61Ảnh gốc skeleton thô (đỏ)
Là tập những tâm của maximal disks
Tỉa nhánh và connected
skeleton
Trang 62Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 62
maximal disks (red)
non max disks (blue)
non max & max disks
over skeleton
non maximal “disks”
“disks” are squares
Maximal disk tại pixel p là đĩa lớn nhất fg có chứa p
Trang 63maximal disks (red)
non max disks (blue)
non max & max disks
over skeleton non maximal “disks”
“disks” là các square
Trang 64Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 64
Trang 65Xem các pixel giả là
Thành phần liên thông
Ít hơn 3 pix
Tỉa nhánh
Tốt hơn Skeleton thô
Có các pixel “giả”
Trang 66Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 66
Trang 67Skeleton thô Skeleton tỉa nhánh reconnected skeleton
Trang 68 Một trong những cách biểu diển Skeleton của một tập hợp là biểu diển qua openning và erosion
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 68
Trang 69 Quá trình rút xương có thể được biểu diển qua các các thao tác xói mòn (erosion) và mở (opening)
Trang 70Tham khảo mã nguồn openCV_Skeleton
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 70