Tiểu luận Sử dụng các toán tử EROSION(phép co) và CLOSING để làm mảnh biên (Có Source Code)

9 1.2K 10
Tiểu luận Sử dụng các toán tử EROSION(phép co) và CLOSING để làm mảnh biên (Có Source Code)

Đang tải... (xem toàn văn)

Thông tin tài liệu

Đề tài: Sử dụng các toán tử EROSION(phép co) và CLOSING để làm mảnh biên. Hướng giải quyết: Ta xử lý biên trên ảnh đen trắng với hai toán tử EROSION và CLOSING. Trước tiên ta đi tìm hiểu về hai toán tử này.

BÁO CÁO TIỂU LUẬN MÔN HỌC XỬ LÝ ẢNH ************************* Đề tài: Sử dụng các toán tử EROSION(phép co) và CLOSING để làm mảnh biên. Hướng giải quyết: Ta xử lý biên trên ảnh đen trắng với hai toán tử EROSION và CLOSING. Trước tiên ta đi tìm hiểu về hai toán tử này. 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 ac = OR bac += AND bac •= XOR bababac •+•=⊕= SUB bababac •=−== / Ở đây mỗi thao tác sẽ được dựng cho từng điểm ảnh một. a) Ả nh a b) Ả nh b Not (b) ; Or(a,b) ; And(a,b) 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, a( x, y) ho ặ c m ộ t m ả ng các giá tr ị r ờ i r ạ c a [ m, n ] . 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 ( Z 2 ) . Đ ố i t ượ ng A g ồ m nh ữ ng đ i ể m α có cùng tính ch ấ t sau: Đ ố i t ượ ng A = { α propertya ( α ) = TRUE } Ví d ụ đố i t ượ ng B trong hình trên g ồ m các đ i ể m ả nh ở t ọ a độ { [ 0,0 ] , [ 1,0 ] , [ 0,1 ] } . 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: Ph ầ n n ề n - A c = { } A∉ αα | 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 A c 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: P hé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: A + x = { α + x α ∈ A } 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ó: P hép c ộ ng M ink o w ski (addition) P hép tr ừ M ink o w ski (subtraction)  B BABA ∈ +=⊕ β )(  B BABA ∈ +=Θ β )( 2. Phép phát triển và phép bào mòn (Dilation and Erosion) 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 )  B BABABAD ∈ +=+= β )(),( Phép bào mòn (erosion)  B BABABAE ∈ −=−= β )( ~ ),( Trong đ ó 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à N 4 và N 8 . V ớ i A là m ộ t đố i t ượ ng và A c 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”. 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 m ở và phép đóng (Opening and Closing) Chúng ta c ó t h ể k ế t h ợ p ph é p phá t t r i ể n v à ph é p bào mòn đ ể t ạ o t h à nh các ph é p t o á n c ó m ứ c độ qu a n t r ọ ng ca o h ơ n : P h é p m ở : O(A,B) = A o B = D( E (A,B),B) P h é p đ óng: C(A,B) = A • B =E (D(A,-B),-B) C ác ph é p m ở v à đ óng c ó các tí nh c h ấ t s a u : 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 t oán m ở t hông qu a ph ầ n t ử c ấ u t rú c B v à các ả nh A, A 1 , A 2 , t rong đ ó A 1 là ả nh c ủ a A 2 (A 1 ⊆ A 2 ), c húng ta c ó các tí nh c h ấ t s a u : T í nh ph ả n m ở r ộ ng - O ( A, B ) ⊆ A T í nh đ ơ n đ i ệ u t ă ng - O ( A 1 , B ) ⊆ O ( A 2 , B ) T í nh d ừ ng - O ( O ( A, B ) , B ) = O ( A, B ) (*) V ớ i ph é p t o á n đ óng t hông qu a ph ầ n t ử c ó c ấ u t rú c B v à các ả nh A, A 1 , A 2 , t rong đ ó A 1 là ả nh c ủ a A 2 ( A 1 ⊆ A 2 ) , c húng ta c ó : T í nh m ở r ộ ng - A ⊆ ( A, B ) T í nh đ ơ n đ i ệ u t ă ng - C ( A 1 , B ) ⊆ ( A 2 , B ) T í nh d ừ ng - C ( C ( A, B ) , B ) = C ( A, B ) H ai tí nh c h ấ t qu a n t r ọ ng c ho b ớ i các ph ươ ng t r ì nh nh â n c h ậ p đ ạ i s ố ( t ổ ng c h ậ p) v à (*) h ế t s ứ c qu a n t r ọ ng t rong l ý t huy ế t t o á n v ề morpho l ogy, đ ế n độ c húng c ó t h ể đ ượ c x e m là nguy ê n nh â n d ẫ n đ ế n v i ệ c đ ị nh ngh ĩ a ph é p bào mòn v ớ i -B, t h a y v ì v ớ i B . 4. Tóm t ắ t nh ữ ng phép toán c ơ b ả n Cho b a ph ầ n t ử c ấ u t rú c c ó tí nh đố i x ứ ng (g iá t r ị “ - “ đ ạ i d i ệ n c ho ý “ không qu a n tâ m ” .           == 111 111 111 8 NB B           −−− −− −−− = 1 1 B           −− − −− = 1 11 1 2 (a) (b) ( c ) 5. Ta c ó ví dụ với phần tử cấu trúc N 8 : Thực hiện các ph é p t o á n xử lý trên ảnh A thu được kết quả:  Phép toán mở (Opening) 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 (Closing) 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 nột lượng trơn đáng kể trên biên của đối tượng nhận tác động từ chúng.  Phép mở (Opening) làm trơn biên đối tượng từ phía trong còn phép đóng (Closing) làm trơn biên đối tượng từ phía ngoài. III. Thuật toán Ta thực hiện thuật toán xử lý trên hai bước: - B1: Xác định biên của đối tượng trong ảnh - B2: Thực hiện toán tử Erosion và Closing trên ảnh biên vừa tìm được. 1. Xác định biên của đối tượng trong ảnh Ta dùng thuật toán xác định biên Robert (xác theo Gradient) Thuật toán này thực hiện như sau: Chạy từ trái qua phải, từ trên xuống dưới của ảnh. Giả sử đang ở vị trí (i,j) với 0=<i <h-1 (h là độ cao của ảnh) và 0<=j<w-1(w là độ rộng của ảnh) Ta xét biểu thức F=(f(i+1,j+1)-f(i,j)).(f(i+1,j+1)-f(i,j))+(f(i,j+1)-f(i+1,j)).(f(i,j+1)- f(i+1,j)). Trong đó f(i,j) là mức xám của điểm ảnh tại tọa độ (i,j). Nếu F lớn hơn giá trị ngưỡng T cho trước thì cho điểm ảnh tại vị trí (i,j) là trắng (điều này do ta quy định có thể cho nó là đen) tức là điểm này sẽ nằm trên biên của ảnh. Nếu không ta sẽ cho điểm này có màu đen. Với những điểm ở dưới cùng (i=h-1) của ảnh thì ta cho nó có màu giống với điểm ở bên trên cùng cột với nó Với những điểm ở bên phải cùng của ảnh thì ta cho nó có màu giống với màu của điểm ở bên trái cùng hàng với nó 2. Thực hiện toán tử Erosion và Closing trên ảnh biên vừa tìm được. Ta sẽ thực hiện các toán tử Erosion và Closing với phần tử cấu trúc tùy theo từng trường hợp. Vì trong thuật toán xác định biên ở trên ta quy định các điểm màu trắng sẽ là biên, các điểm màu đen xẽ là nền. Nên mục đich của toán tử Erosion, Closing sẽ làm phần màu trắng gầy đi (biên gầy đi)  Thuật toán Erosion trong chương trình Ta cho chạy từ từ trái qua phải và từ trên xuống dưới để xác định những điểm nào cần giữ lại màu và những điểm cần thay đổi màu. Giả sử ta đang đứng ở vị trí (i,j), ta sẽ xét các điểm lân cận với (i,j) tương ứng với vị trí trong phần tử cấu trúc có giá trị là 1 nếu thỏa mãn tất cả những điểm này đều màu trắng thì pixel ở vị trí (i,j) sẽ là màu trắng trong ảnh sau khi thực hiện toán tử, ngược lại nó sẽ có màu đen.  Thuật toán Closing trong chương trình Trong thuật toán này trước hết ta phải làm béo các phần tử màu trắng trong ảnh bằng toán tử Dilation như đã nêu ở phân lí thuyết ở trên. Ta cho chạy từ trái qua phải từ trên xuống dưới của ảnh. Giả sử ta đang ở vị trí (i,j) nếu điểm này có màu trắng thì ta xét các vị trí tương ứng với những vị trí trong phần tử cấu trúc có giá trị bằng 1 và cho điểm đó có màu trắng, như vậy các nét phần tử màu trắng sẽ to ra. Sau đó ta thưc hiện toán tử Erosion như đã trình bày ở phần thuật toán Erosion ở phần trên. IV. Kết luận Để giải quyết làm mảnh biên bằng 2 toán tử Erosion và Closing ta không có 1 thuật toán cố định với phần tử cấu trúc cố đinh, mà phải dùng các phần tử cấu trúc một cách linh hoạt và hợp lý. Với những biên có độ dày khác nhau ta phải sử dụng phần tử cấu trúc với kích thước khác nhau. Với những biên có độ dày không ổn đinh và có đoạn đứt nét , khe hở ta phải dùng thêm toán tử Closing trước để lấp đầy những khe hở và nối liền những phần đứt ở biên sau đó mới dùng toán tử Erosion để làm mảnh biên. Trong nhiều trường hợp ta phải sử dụng nhiều phép Erosion và Closing liên tiếp hoặc đan xen nhau với nhiều dạng phần tử cấu trúc khác nhau thì mới làm mảnh được biên như mong muốn. Ngoài ra, với những ảnh có nhiễu ta có thể dùng toán tử Erosion để làm mảnh biên đồng thời lọc nhiễu luôn mà không cần thao tác lọc nhiễu trước. TÀI LIỆU THAM KHẢO 1. Nhập môn xử lý ảnh -Lương Bá Mạnh, Nguyễn Thanh Thủy-NXB KH&KT 2. Xử lý ảnh và Video số - Nguyễn Kim Sách – NXB KH&KT 1997. 3. Computer vision, Imaging - Lương Chi Mai 4. Bài giảng Xử lý ảnh số - Đào Thanh Tĩnh. . CÁO TIỂU LUẬN MÔN HỌC XỬ LÝ ẢNH ************************* Đề tài: Sử dụng các toán tử EROSION(phép co) và CLOSING để làm mảnh biên. Hướng giải quyết: Ta xử lý biên trên ảnh đen trắng với hai toán. hiện toán tử Erosion và Closing trên ảnh biên vừa tìm được. Ta sẽ thực hiện các toán tử Erosion và Closing với phần tử cấu trúc tùy theo từng trường hợp. Vì trong thuật toán xác định biên. phần tử màu trắng sẽ to ra. Sau đó ta thưc hiện toán tử Erosion như đã trình bày ở phần thuật toán Erosion ở phần trên. IV. Kết luận Để giải quyết làm mảnh biên bằng 2 toán tử Erosion và Closing

Ngày đăng: 17/10/2014, 14:30

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan