Kỹ thuật xử lý ảnh nhị phân cần thiết là 1 kiến thức tiền đề cho các phương pháp xử lý ảnh.
Bài giảng Xử lý ảnh 66 GV. Mai Cường Thọ CHƯƠNG 7 XỬ LÝ ẢNH NHỊ PHÂN I. Các phép toán nhị phân Ký hiệu chuẩn cho tập các thao tác nhị phân cơ bản NOT a c = OR bac + = AND bac • = XOR bababac •+•=⊕= SUB bababac •=−== / Ở đây mỗi thao tác sẽ được áp dụng cho từng điểm ảnh một. Lấy ví dụ, [ ] [ ] [ ] nmnmbnmanmc ,,,,, ∀•= . Định nghĩa của mỗi thao tác được cho sau đây: Hình dưới đây minh họa những thao tác nói trên với giá trị nhị phân “1” có màu đen, còn giá trị nhị phân “0” có màu trắng. a) Ảnh a b) Ảnh b Not (b) ; Or(a,b) ; And(a,b) NOT a 0 1 1 0 b OR a 0 1 0 0 1 1 1 1 b AND a 0 1 0 0 0 1 0 1 b XOR a 0 1 0 0 1 1 1 0 b SUB a 0 1 0 0 0 1 1 0 Bài giảng Xử lý ảnh 67 GV. Mai Cường Thọ Xor(a,b) ; Sub(a,b) Phép toán SUB(*) sẽ rất hữu ích khi ảnh a thể hiện vùng quan tâm mà chúng ta muốn phân tích một cách hệ thống, còn ảnh b thể hiện các đối tượng đã được phân tích và có thể loại đi khỏi vùng đó. II. Phép toán morphology Ta đã định nghĩa ảnh là một hàm hai biến thực ),( yxa hoặc một mảng các giá trị rời rạc [ ] nma , . Chúng ta còn có một đinh nghĩa khác về ảnh, dựa trên quan sát là mỗi ảnh có thể xem như là một tập hợp các tọa độ rời rạc hoặc liên tục. Theo một nghĩa nào đó, tập hợp này tương ứng với các điểm ảnh thuộc về các đối tuợng hiện hữu trong ảnh. Hình trên minh họa ý tưởng này bằng cách cho thấy có hai đối tượng, hay hai tập A và B trong ảnh. Ở đây chúng ta cần phải xác định rằng hệ trục tọa độ như trong hình vẽ. Trong phần này, chúng ta chỉ cần quan tâm đến các giá trị điểm ảnh nhị phân và giới hạn không gian làm việc trên không gian rời rạc ( ) 2 Z . Đối tượng A gồm những điểm α có cùng tính chất sau: Đối tượng A = { ( ) } TRUEpropertya = αα Ví dụ đối tượng B trong hình trên gồm các điểm ảnh ở tọa độ [ ] [ ] [ ] { } 1,0,0,1,0,0 . Phần nền của A được ký hiệu bởi (phần bù của A), sẽ bao gồm các điểm ảnh không thuộc A: Bài giảng Xử lý ảnh 68 GV. Mai Cường Thọ Phần nền - { } AA c ∉= αα Ta thấy là nếu một đối tượng A được định nghĩa trên một lân cận liên thông C (C = 4, 6 hoặc 8 ) thì phần nền c A tương ứng sẽ có tính liên thông cho bởi 12-C; 1. Các định nghĩa cơ bản Các phép toán cơ bản ứng với một đối tượng chính là tập các phép toán tập hợp chuẩn bao gồm phép hội, phép giao, phép lấy bù { } c ,,∩∪ và phép tịnh tiến: Phép tịnh tiến – Cho trước một vector x và một tập hợp A, phép tịnh tiến A + x được định nghĩa như sau: { } AxxA ∈+=+ αα Chú ý rằng những phần tử riêng lẻ hợp thành B không chỉ có các điểm ảnh mà còn có cả những vector khi chúng có vị trí tọa độ xác định so với điểm gốc [ ] 0,0 . Cho hai tập hợp A và B, chúng ta có: Phép cộng Minkowski (addition) U B ABA ∈ +=⊕ β β )( Phép trừ Minkowski (subtraction) = Θ BA I B A ∈ + β β )( 2. Phép phát triển và phép bào mòn Từ hai phép toán Minkowski vừa định nghĩa ở trên, chúng ta có thể định nghĩa hai phép toán morphology cơ bản là phép phát triển và phép bào mòn: Phép phát triển (dilation ) U B ABABAD ∈ +=+= β β )(),( Phép bào mòn (erosion) I B ABABAE ∈ −=−= β β )( ~ ),( Trong đó { } BB ∈−= ββ ~ Bài giảng Xử lý ảnh 69 GV. Mai Cường Thọ Mặc dù cả A hay B đều có thể được xem là “ảnh” nhưng thông thường A được xem là ảnh, còn B được xem là phần tử cấu trúc. Trong lý thuyết toán học về Morphology, phần tử cấu trúc có vai trò tương tự như khái niệm nhân chập trong lý thuyết về các bộ lọc tuyến tính. Một cách tổng quát thì phép phát triển làm cho các đối tượng gia tăng kích thước, còn phép bào mòn sẽ làm cho chúng co lại. Sự gia tăng co lại nhiều hay ít, gia tăng hoặc co lại theo cách thức nào của các đối tượng đều phụ thuộc vào cách lựa chọn phần tử cấu trúc. Hai phần tử cấu trúc thông dụng nhất (sử dụng hệ tọa độ Đề-các) là các tập liên thông 4 và 8, thường được ký hiệu là 84 vàNN . + Một số tính chất của Phép phát triển và phép bào mòn Tính giao hoán: D(A,B) = A+B = D(B,A) Tính không giao hoán: E(A,B) ),( ABE ≠ Tính kết hợp: CBACBA + + = + + )()( Tính bất biến trong tịnh tiến: xBAxBA = + = + + ))( Tính đối ngẫu ) ~ ,(),( ) ~ (),( BADBAE BAEBAD cc cc = += (2-1) Tính không khả nghịch- )),,(()),,(( BBADEABBAED ≠ ≠ Tính bất biến trong tịnh tiến: xBABxAxBA + − = − + = + − )()()( Với A là một đối tượng và c A là phần nền của nó, tính chất trên cho thấy phép phát triển một đối tượng tương đương với phép bào mòn phần nền của nó. Tương tự như vậy, phép bào mòn một đối tượng tương đương với phép phát triển phần nền của nó. Thực hiện các thuật toán phát triển và bào mòn đơn giản nhất thường được mô tả như sau: Phép phát triển Ứng với mỗi điểm ảnh thuộc đối tượng (có giá trị ”1”) thay đổi giá trị của tất cả các điểm ảnh nền (có giá trị ”0”) thuộc liên thông C của nó sang giá trị “1”. Bài giảng Xử lý ảnh 70 GV. Mai Cường Thọ Phép bào mòn: Ứng với mỗi điểm ảnh nền (có giá trị “0”), thay đổi giá trị của tất cả các điểm ảnh thuộc đối tượng (có giá trị “1”) thuộc liên thông C của nó sang giá trị “0”. 3. Phép chập logic Một đối tượng ảnh nhị phân (hay một phần tử cấu trúc ) tùy ý A có thể được biểu diễn dưới dạng sau: [ ] [ ] knjmkjaA k j −−•↔ ∑ ∑ +∞ −∞= +∞ −∞= ,, δ Trong đ ó ∑ •và là phép toán logic OR và AND, [ ] kja , là m ộ t hàm đặ c tr ư ng nh ậ n các giá tr ị logic “1” và “0” xác đị nh b ở i quan h ệ sau: [ ] = 0 1 ,kja Aa A a ∉ ∈ còn [ ] nm, δ là phiên b ả n logic c ủ a hàm delta Dirac nh ậ n các giá tr ị logic “1” và “0” xác đị nh b ở i quan h ệ sau: [ ] = o kj 1 , δ nguoclai kj 0 = = Khi đ ó phép phát tri ể n nh ị phân đượ c vi ế t l ạ i thành: [ ] [ ] baknjmbkjaBAD j j ⊗=−−•= ∑ ∑ +∞ −∞= +∞ −∞= ,,),( Và do hai phép toán logic OR và AND có tính giao hoán, chúng ta còn có th ể vi ế t l ạ i quân h ệ trên d ướ i d ạ ng; [ ] [ ] ),(,,),( ABDabkjbknjmaBAD k j =⊗=•−−= ∑ ∑ +∞ −∞= +∞ −∞= (3-1) B ằ ng cách s ử d ụ ng đị nh lý De Morgan: baba •=+ )( baba +=• )( K ế t h ợ pv ớ i các ph ươ ng trình (3-1) và (2-1), phép bào mòn s ẽ đượ c vi ế t l ạ i d ướ i d ạ ng sau: [ ] ]),[,(),( kjbknjmaBAE k j +−−= ∏ ∏ +∞ −∞= +∞ −∞= Nh ư v ậ y, phép phát tri ể n và phép bào mòn trên ả nh nh ị phân có th ể đượ c xem là m ộ t d ạ ng c ủ a phép ch ậ p trên đạ i s ố Bool. Bài giảng Xử lý ảnh 71 GV. Mai Cường Thọ 4. Phép mở và phép đóng Chúng ta có th ể k ế t h ợ p phép phát tri ể n và phép bào mòn để t ạ o thành các phép toán có m ứ c độ quan tr ọ ng cao h ơ n: Phép m ở : O(A,B)=A o B=D(E(A,B),B) Phép đ óng: C(A,B)=A • B=E(D(A,-B),-B) Các phép m ở và đ óng có các tính ch ấ t sau: Tính đố i ng ẫ u: C c (A,B)=O(A C , B) O c (A,B)=C(A c , B) O(A+x, B)=O(A, B)+x Tính t ị nh ti ế n: C(A+x, B)=C(A, B) +x V ớ i phép toán m ở thông qua ph ầ n t ử c ấ u trúc B và các ả nh A, A 1 , A 2 , trong đ ó A 1 là ả nh c ủ a A 2 (A 1 2 A ⊆ ), chúng ta có các tính ch ấ t sau: Tính ph ả n m ở r ộ ng - ( ) ABAO ⊆ , (4-1) Tính đơ n đ i ệ u t ă ng - ( ) ( ) BAOBAO ,, 21 ⊆ Tính d ừ ng - ( ) ( ) ( ) BAOBBAOO ,,, = V ớ i phép toán đ óng thông qua ph ầ n t ử có c ấ u trúc B và các ả nh A, A 1 , A 2 , trong đ ó A 1 là ả nh c ủ a A 2 ( ) 21 AA ⊆ , chúng ta có: Tính m ở r ộ ng - ( ) BAA , ⊆ Tính đơ n đ i ệ u t ă ng - ( ) ( ) BABAC ,, 21 ⊆ Tính d ừ ng - ( ) ( ) ( ) BACBBACC ,,, = Hai tính ch ấ t quan tr ọ ng cho b ớ i các ph ươ ng trình nhân ch ậ p đạ i s ố (t ổ ng ch ậ p) và (4-1) h ế t s ứ c quan tr ọ ng trong lý thuy ế t toán v ề morphology, đế n độ chúng có th ể đượ c xem là nguyên nhân d ẫ n đế n vi ệ c đị nh ngh ĩ a phép bào mòn v ớ i -B, thay vì v ớ i B . 5. Phép trúng- trật Toán t ử trúng – tr ậ t do Serra đư a ra có đị nh ngh ĩ a nh ư sau. Cho tr ướ c m ộ t ả nh A và hai ph ầ n t ử c ấ u trúc B 1 , B 2 . Khi đ ó toán t ử trúng – tr ậ t đượ c xác đị nh b ở i m ộ t trong hai cách sau: Phép trúng – tr ậ t: HitMiss(A,B 1 , B 2 ) = ( ) ( ) ( ) • ∩ BAEBAE BAEBAE C ,, ,),( 1 1 Bài giảng Xử lý ảnh 72 GV. Mai Cường Thọ Trong đ ó B 1 và B 2 đề u b ị ch ặ n và tách bi ệ t nhau, hai t ậ p h ợ p g ọ i là tách bi ệ t n ế u =∩ 21 BB ∅ , hay t ậ p r ỗ ng. Xét theo m ộ t ngh ĩ a quan tr ọ ng thì toán t ử trúng – tr ậ t là d ạ ng t ươ ng đươ ng v ề m ặ t morphology c ủ a k ỹ thu ậ t đố i sánh m ẫ u, m ộ t k ỹ thu ậ t n ổ i ti ế ng dùng để đố i sánh các khuôn d ạ ng d ự a trên m ứ c độ t ươ ng quan chéo gi ữ a chúng. Ở đ ây chúng ta có m ộ t m ẫ u B 1 cho đố i t ượ ng và m ộ t m ẫ u B 2 cho n ề n. 6. Tóm tắt những phép toán cơ bản Cho ba ph ầ n t ử c ấ u trúc có tính đố i x ứ ng (giá tr ị “-“ đạ i di ệ n cho ý “ không quan tâm”. == 1 1 1 8 NB 1 1 1 1 1 1 − − − = 1 B − − 1 − − − − − = 1 2 B 1 1 − − − 1 (a) (b) (c) Ta có k ế t qu ả x ử lý các phép toán nh ư sau: Phép toán m ở có th ể tách các đố i t ượ ng liên thông trong m ộ t ả nh nh ị phân. Phép toán đ óng có th ể l ấ p đầ y các l ỗ nh ỏ . V ớ i m ộ t ph ầ n t ử c ấ u trúc “tr ơ n”, c ả hai phép toán này đề u cho m ộ t l ượ ng tr ơ n đ áng k ể trên biên c ủ a đố i t ượ ng nh ậ n tác độ ng t ư Bài giảng Xử lý ảnh 73 GV. Mai Cường Thọ chúng. Phép m ở làm tr ơ n biên đố i t ượ ng t ừ phía trong còn phép đ óng làm tr ơ n biên đố i t ượ ng t ừ phía ngoài. Trong ví d ụ v ề phép trúng - tr ậ t phép toán này đ ã tìm ra đượ c các đ i ể m ả nh biên liên thông 4. Tuy nhiên, chúng ta còn có m ộ t ph ươ ng pháp đơ n gi ả n khác để tìm biên c ủ a m ộ t đố i t ượ ng thông qua quan h ệ sau: Biên liên thông 4 - ),( 8 NAEAA −=∂ Ho ặ c Biên liên thông 8 - )4,( NAEAA − = ∂ 7. Phép rút xương Đị nh ngh ĩ a không hình th ứ c v ề x ươ ng c ủ a m ộ t đố i t ượ ng là: X ươ ng là m ộ t bi ể u di ễ n d ạ ng đườ ng c ủ a m ộ t đố i t ượ ng, trong đ ó: i) Đườ ng này có độ r ộ ng 1 đ i ể m ả nh. ii) Đườ ng này đ i qua ph ầ n gi ữ a c ủ a đố i t ượ ng đ ó. iii) Đườ ng này b ả o toàn tôpô c ủ a đố i t ượ ng. Nh ữ ng đ i ề u ki ệ n nói trên không ph ả i lúc nào c ũ ng th ự c hi ệ n đượ c. Chúng ta có th ể ch ỉ ra m ộ t tình hu ố ng nh ư v ậ y trong hình d ướ i. Trong ví d ụ đầ u tiên ở hình (a), để sinh ra m ộ t đườ ng th ể hi ệ n s ự đơ n gi ả n c ủ a đố i t ượ ng, chúng ta không th ể nào t ạ o ra m ộ t đườ ng th ẳ ng có độ dày c ủ a m ộ t đ i ể m ả nh và n ằ m ở tâm c ủ a đố i t ượ ng. Trong hình (b), chúng ta l ạ i không th ể lo ạ i b ỏ b ấ t k ỳ đ i ể m ả nh nào c ủ a đố i t ượ ng c ủ a liên thông 8 có trong hình và đồ ng th ờ i b ả o toàn tôpô c ủ a đố i t ượ ng, v ớ i đặ c tr ư ng tôpô ở đ ây chính là tính liên thông. M ặ c dù v ậ y chúng ta c ũ ng có r ấ t nhi ề u k ỹ thu ậ t c ố g ắ ng t ạ o ra đượ c x ươ ng c ủ a đố i t ượ ng. Công th ứ c c ơ b ả n cho vi ệ c t ạ o x ươ ng này d ự a trên công trình c ủ a Lantuejou. T ậ p con x ươ ng S k (A) đượ c xác đị nh b ở i: [ ] BkBAEkBAEAS k o),(),()( −= k = 0,1,…,K (7-1) Bài giảng Xử lý ảnh 74 GV. Mai Cường Thọ Trong đ ó K là giá tr ị k l ớ n nh ấ t tr ướ c khi S k (A) tr ở thành t ậ p r ỗ ng. T ừ ph ươ ng trình 7-1, chúng ta có: ),(),(( kBAEBkBAE ⊆ o . Ph ầ n t ử c ấ u trúc B đượ c ch ọ n trong Z 2 để x ấ p x ỉ m ộ t đĩ a tròn có tính l ồ i, b ị ch ặ n và đố i x ứ ng. Khi đ ó x ươ ng s ẽ là h ộ i c ủ a các t ậ p con x ươ ng: X ươ ng - ))(()( 0 kBASAS K k k += = U (7-2) D ự a trên công th ứ c này, chúng ta có th ể th ấ y r ằ ng đố i t ượ ng ban đầ u là hoàn toàn có th ể tái xây d ự ng l ạ i n ế u nh ữ ng tri th ứ c v ề t ậ p con S k (A), ph ầ n t ử c ấ u trúc B, và giá tr ị K đượ c cho tr ướ c: Tái xây d ự ng - ))(( 0 kBASA K k k += = U (7-3) M ặ c dù v ậ y, công th ứ c v ừ a trình bày ở trên không b ả o toàn đượ c tôpô c ủ a đố i t ượ ng, là m ộ t trong nh ữ ng yêu c ầ u c ủ a quá trình t ạ o x ươ ng. M ộ t quan đ i ể m khác trong ti ế p c ậ n gi ả i quy ế t bài toán này là phép làm m ả nh, hay chính xác là m ộ t phép bào mòn cho phép làm gi ả m độ dày c ủ a đố i t ượ ng nh ư ng không làm tri ệ t tiêu nó. Thu ậ t toán làm m ả nh t ổ nh quát có d ạ ng sau: Phép làm m ả nh: Thin 2121 ,,(),,( BBAHitMissABBA −= ) Tùy theo cách ch ọ n l ự a B 1 và B 2 mà chúng ta s ẽ có r ấ t nhi ề u thu ậ t toán làm m ả nh khác nhau có th ể đượ c cài đặ t. Chúng ta còn có thê mô t ả m ộ t cài đặ t h ế t s ứ c th ự c t ế theo m ộ t cách khác. N ế u chúng ta t ự gi ớ i h ạ n mình v ớ i lân c ậ n 3x3, là lân c ậ n t ươ ng t ự v ớ i ph ầ n t ử c ấ u trúc B = N 8 = 111 111 111 , khi đ ó phép toán làm m ả nh có th ể đượ c xem nh ư hành độ ng quét đ i quét l ạ i m ộ t c ử a s ổ trên ả nh nh ị phân. Đ i ể m ả nh ở gi ữ a c ử a s ổ này s ẽ đượ cc nh ậ n giá tr ị “0” d ự a trên m ộ t s ố đ i ề u ki ệ n nào đ ó. Đ i ể m ả nh trung tâm này s ẽ không b ị đổ i thành “0” n ế u và ch ỉ n ế u: i) Có m ộ t đ i ể m ả nh cô l ậ p đượ c tìm th ấ y. ii) S ự lo ạ i b ỏ m ộ t đ i ể m ả nh s ẽ làm thay đổ i tính liên thông. iii) S ự lo ạ i b ỏ m ộ t đ i ể m ả nh s ẽ làm thu ng ắ n m ộ t đườ ng th ẳ ng. Quá trình lo ạ i b ớ t các đ i ể m ả nh sau m ỗ i l ầ n l ặ p l ạ i đượ c g ọ i là phép bào mòn có đ i ề u ki ệ n. Bài giảng Xử lý ảnh 75 GV. Mai Cường Thọ M ộ t cách t ỏ ng quát t ấ t c ả các phép quay và bi ế n th ể c ủ a chúng đề u ph ả i đượ c ki ể m tra. Do ch ỉ có t ố i đ a 512 t ổ h ợ p đ i ể m ả nh ứ ng v ớ i c ử a s ổ 3x3 trên m ộ t ả nh nh ị phân, chúng ta có th ể cài đặ t phép ki ể m tra này d ễ dàng b ằ ng cách s ử s ụ ng b ả ng tra. N ế u ch ỉ có đ i ề u ki ệ n (i) đượ c s ử d ụ ng thì m ọ i đố i t ượ ng đề u s ẽ b ị bào mòn đế n ch ỉ còn m ộ t đ i ể m. Đ ây là cách mà chúng ta có th ể s ử d ụ ng để đế m s ố l ượ ng các đố i t ượ ng có trong ả nh. N ế u ch ỉ có đ i ề u ki ệ n (ii) thì các l ỗ trong các đố i t ượ ng s ẽ đượ c tìm th ấ y. N ế u đ i ề u ki ệ n (iii) đượ c s ử d ụ ng thì m ỗ i đố i t ượ ng đề u s ẽ b ị bào mòn đế n ch ỉ còn m ộ t đ i ể m n ế u nh ư nó không ch ứ a l ỗ bên trong, ho ặ c s ẽ b ị bào mòn thành các vòng đ óng n ế u nó có ch ứ a l ỗ bên trong. Trong tr ườ ng h ợ p c ả ba đ i ề u ki ệ n (i, ii, iii) đượ c dùng thì m ộ t “khung x ươ ng hoàn ch ỉ nh”. 8. Phép lan truyền Trong th ự c t ế , s ẽ r ấ t ti ệ n l ợ i n ế u nh ư chúng ta có th ể tái xây d ự ng l ạ i m ộ t ả nh đ ã “s ố ng còn” sau nhi ề u l ầ n b ị bào mòn, ho ặ c có th ể làm đầ y m ộ t đố i t ượ ng đượ c xác d ị nh b ở i đườ ng biên c ủ a nó. Quá trình này có r ấ t nhi ề u tên g ọ i nh ư l ấ p đầ y vùng, tái xây d ự ng, và lan truy ề n. Đị nh ngh ĩ a hình th ứ c c ủ a nó đượ c cho trong thu ậ t toán sau đ ây. Chúng ta s ẽ b ắ t đầ u v ớ i m ộ t ả nh h ạ t gi ố ng S (0) ,m ộ t ả nh m ặ t n ạ A,và m ộ t ph ầ n t ử c ấ u trúc B. Sau đ ó chúng ta s ẽ th ự c hi ệ n nhi ề u phép phát tri ể n S v ớ i B và che nó b ở i m ặ t n ạ A, trong m ộ t th ủ t ụ c l ặ p nh ư sau: B ướ c l ặ p th ứ (k): [ ] ABSS kk ∩+= − )1()( cho đế n khi )1()( − = kk SS Sau m ỗ i l ầ n l ặ p, ả nh h ạ t gi ố ng s ẽ to thêm (do phép phát tri ể n ) nh ư ng v ẫ n n ằ m trong t ậ p đố i t ượ ng xác đị nh b ở i A, hay nói cách khác, S lan truy ề n để l ấ p đầ y A. L ự a ch ọ n thông d ụ ng nh ấ t đố i v ớ i B là N 4 hay N 8 . . ả nh đ ã “s ố ng còn” sau nhi ề u l ầ n b ị bào mòn, ho ặ c có th ể làm đầ y m ộ t đố i t ượ ng đượ c xác d ị nh b ở i đườ ng biên c ủ a nó. Quá trình này có r ấ t nhi ề u tên g ọ i nh ư . phép trúng - tr ậ t phép toán này đ ã tìm ra đượ c các đ i ể m ả nh biên liên thông 4. Tuy nhi n, chúng ta còn có m ộ t ph ươ ng pháp đơ n gi ả n khác để tìm biên c ủ a m ộ t đố i t ượ ng. đặ c tr ư ng tôpô ở đ ây chính là tính liên thông. M ặ c dù v ậ y chúng ta c ũ ng có r ấ t nhi ề u k ỹ thu ậ t c ố g ắ ng t ạ o ra đượ c x ươ ng c ủ a đố i t ượ ng. Công th ứ c c ơ