Đề tài Phân vùng với tách ngưỡng tự động

- Trong các phương pháp nêu trên có lẽ phương pháp đơn giản và mang lại hiệu quả nhất là phương pháp phân vùng tìm ngưỡng theo thuật toán đẳng điệu. Phân vùng với hầu hết các ảnh, và cho ta kết quả tốt hơn cả. - Các phương pháp còn lại đại đa số chỉ phù hợp với một số lại ảnh nhất định. Ví dụ như: phương pháp tìm ngưỡng toàn cục thích hợp nhất đối với những ảnh có histogram tách làm 2 phần riêng biệt, nghĩa là đồ thị của nó không biến thiên quá nhiều lần.

pdf50 trang | Chia sẻ: tienthan23 | Ngày: 06/12/2015 | Lượt xem: 4267 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Đề tài Phân vùng với tách ngưỡng tự động, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1 Học viện công nghệ bưu chính viễn thông Khoa Công nghệ thông tin ******** BÁO CÁO XỬ LÝ ẢNH ĐỀ TÀI: PHÂN VÙNG VỚI TÁCH NGƯỠNG TỰ ĐỘNG Giáo viên giảng dạy: Phạm Việt Hưng. Nhóm sinh viên thực hiện: Nhóm 1: - Lớp: D09CN2 Nguyễn Thị Bích Hoàng Thị Ngọc Nguyễn Thị Thi Nguyễn Thị Trâm Nguyễn Hải Yến 2 Mục lục BACKGROUD ............................................................................................................................ 4 Cơ sở thực nghiệm .................................................................................................................... 8 I. Giới thiệu chung về phân vùng ảnh. ................................................................................ 8 II. Đôi điều về phân vùng ảnh theo ngưỡng. ........................................................................ 9 PHÂN VÙNG ẢNH THEO NGƯỠNG ........................................................................................10 I. Làm trơn ảnh – Làm trơn histogram – Chọn ngưỡng dựa vào biểu đồ . .........................10 II. Thuật toán đẳng điệu. .....................................................................................................13 III. Thuật toán đối xứng nền. ............................................................................................18 IV. Thuật toán tam giác ....................................................................................................24 V. Kĩ thuật tìm ngưỡng tự động. .........................................................................................29 1. Phân vùng với ngưỡng toàn cục. ...............................................................................30 KẾT LUẬN CHUNG ...............................................................................................................35 PHỤ LỤC ..................................................................................................................................35 BẢNG KẾT QUẢ THỬ NGHIỆM ...............................................................................................42 3 MỞ ĐẦU Một trong các bước then chốt trong xử lý ảnh số đó là phân vùng ảnh.Với mong muốn cuốn tài liệu này trở nên có ích cho bạn đọc muốn tìm hiểu bước đầu về kĩ thuật phân đoạn ảnh trong môn học Xử Lý Ảnh. Tài liệu này sẽ giới thiệu đến mọi người một số phương pháp phân vùng ảnh dựa theo ngưỡng, hi vọng đây sẽ là hành trang đầu tiên để các bạn chạm đến cánh cửa tri thức, tạo nguồn cảm hứng để bạn đi sâu tìm hiểu về môn học thu vị này. Mục tiêu của cuốn tài liệu: - Giúp người đọc hiểu được tầm quan trọng của Xử lý ảnh nói chung và phân vùng ảnh nói riêng. - Nắm được sơ bộ về phân vùng ảnh theo ngưỡng. - Hiểu và áp dụng được thuật toán tìm ngưỡng tự động: thuật toán đẳng điệu, đối xứng nền, làm trơn histogram, tam giác, tìm ngưỡng toàn cục. vào xử lý ảnh. Với những mục tiêu như trên, tài liệu này gồm có các phần chính sau: - Phần Backgroup: Vài nét về Xử lý ảnh - Cơ sở thực nghiệm: Giới thiệu chung về phân vùng ảnh và đôi điều về phân vùng ảnh theo ngưỡng. - Phân vùng ảnh theo ngưỡng: Trình bày một số kĩ thuật điển hình trong phân vùng ảnh theo ngưỡng: làm trơn histogram, đẳng điệu, đối xứng nền., một số vấn đề cần lưu ý trong các kĩ thuật tìm ngưỡng để phân vùng ảnh. - Phụ lục: phần code matlab cho các kĩ thuật trình bày ở phần 3. 4 - Bảng kết quả thực nghiệm: Đưa ra kết quả thực nghiệm ứng dụng thuật toán ở phần 3 vào một số loại ảnh. BACKGROUD Xử lý ảnh là một trong những chuyên ngành quan trọng và lâu đời của công nghệ thông tin. Xử lý ảnh được áp dụng nhiều trong nhiều lĩnh vực khác nhau như y học, vật lý, hóa học, tìm kiếm tội phạm, Mục đích chungcủa XLA được chi làm 2 phần: - Biến đổi ảnh làm tăng chất lượng ảnh. - Tự động nhận dạng, đoán ảnh, đánh giá nội dung của ảnh. Quá trình xử lý ảnh có thể được mô tả bằng sơ đồ sau: Thu nhận ảnh Tiền xử lý ảnh Phân đoạn Biểu diễn và mô tả ảnh Nhận dạng và giải thích Cơ sở tri thức 5 - Thu nhận ảnh: đây là công đoạn đầu tiên mang tính quyết định đối với quá trình XLA. Ảnh đầu vào sẽthunhận qua các thiết bị như camera, sensor, máy scanner và sau đó các tín hiệu này sẽ được số hóa. Các thông số quan trọng ở bước này là độ phân giải, chất lượng màu, dung lượng bộ nhớ và tốc độthunhận ảnh của các thiết bị. - Tiền xử lý: Ở bước này, ảnh sẽ được cải thiện về độ tương phản, khử nhiễu, khử độ lệch với mục đích làm cho chất lượng ảnh trở nên tốt hơn nữa và thường được thực hiện bởi các bộ lọc. - Phân đoạn : phân đoạn ảnh là bước then chốt trong XLA. Giai đoạn này nhằm phân tích ảnh thành những thành phần có cùng tính chất nào đó dựa theo biên hay các vùng liên thông. Tiêu chuẩn để các định các vùng liên thông có thể là cùng màu, cùng mức xám hay cùng độ nhám Mục đích của phân đoạn ảnh là để có một miêu tả tổng hợp về rất nhiều phần tử khác nhau cáu tạo nên ảnh thô. Vì lượng thông tin chứa trong ảnh rất lớn- trong khi đa số các ứng dụng chúng ta chỉ cần trích chọn một vài đặc trưng nào đó, do vậy cần có một quá trình để giảm lượng thông tin khổng lồ ấy. Quá trình này bao gồm phân vùng ảnh và trích chọn đặc tính chủ yếu. - Biểu diễn và mô tả ảnh: kết quả của bước phân đoạn ảnh thường được cho dưới dạng dữ liệu điểm ảnh thô, trong đó hàm chứa biên của một vùng ảnh, hoặc tập hợp tất cả các điểm ảnh thuộc về chính vùng ảnh đó. Trong cả hai trường hợp , sự chuyển đổi dữ liệu thô này thành một dạng thích hợp hơn cho việc xử lý tỏng máy tính rất là cần thiết. Để chuyển đổi chúng, câu hỏi đầu tiên cần phải trả lời là nên biểu diễn một cùng ảnh dưới dạng biên hay dưới dạng một cùng hoàn chỉnh gồm tất cả 6 những điểm ảnh thuộc về nó. Biểu diễn dạng biên cho một vùng phù hợp với những ứng dụng chỉ quan tâm chủ yếu đến các đặc trưng hình dạng bên ngoài của đối tượng. Biểu diễn dạng vùng lại thích hợp cho những ứng dụng khai thác các tính chất bên trong của đối tượng, ví dụ như vân ảnh hoặc cấu trúc xương của nó. Sự lựa chọn cách biểu diễn thích hợp cho một vùng ảnh chỉ mới là một phần trong việc chuyển đổi dữ liệu ảnh thô sang một dạng thích hợp hơn cho các xử lý về sau. Chúng ta còn phải đưa ra một phương pháp mô tả dữ liệu đã được chuyển đổi sao cho những tính chất cần quan tâm đến sẽ được làm nổi bật lên, thuận tiện cho việc xử lý chúng. - Nhận dạng và giải thích: đây là bước cuối cùng trong quá trình XLA. Nhận dạng ảnh có thể được nhìn nhận một cách đơn giản là việc gán nhãn cho các đối tượng trong ảnh. Giải thích công đoạn gán nghĩa cho một tập các đối tượng đã được nhận biết. Có thể thấy rằng không phải bất kỳ một ứng dụng XLA nào cũng bắt buộc phải tuân theo tất cả các bước xử lý đã nêu ở trên, ví dụ như các ứng dụng chỉnh sửa ảnh nghệ thuật thì chỉ dừng lại ở bước tiền xử lý. Một cách tổng quát thì những chức năng xử lý bao gồm nhận cả nhận dạng và giải thích thường chỉ có mặt trong hệ thống phân tích ảnh tự động, được dùng để rút trích ra những thông tin quan trọng từ ảnh, ví dụ như các ứng dụng nhận dạng ký tự quang học, nhận dạng chữ viết tay, Như vậy, để xử lý được một bức ảnh thì phải trải qua nhiều bước, nhưng bước quan trọng và khó khăn nhất có lẽ đó là phân đoạn ảnh.Nếu bước phân đoạn ảnh không tốt thì dẫn đến việc nhận diện sai lầm về các đối tượng trong ảnh.Trong khoảng 30 năm trở lại đây đã có rất nhiều các thuật 7 toán được đề xuất để giải quyết bài toán phân đoạn ảnh. Các thuật toán hầu hết đều dựa vào 2 thuộc tính quan trọng cảu mỗi điểm ảnh só với các điểm lân cận của nó đó là: Sự khác nhau(Dissimilarity) và giống nhau (Similarity). Các phương pháp dựa trên dự khác nhau của các điểm ảnh được gọi là phương pháp biên ( boundary – based methods), còn phương pháp dựa trên sự giống nhau cảu các điểm ảnh được gọi là phương pháp miền (region based methods). Tuy nhiên, cho đến nay các thuật toán theo cả 2 hướng này đều vẫn chưa cho kết quả phân đoạn tốt, vì cả hai phương pháp này đều chỉ nắm bắt được các thuộc tính cục bộ (local) của ảnh. Do đó, trong thời gian gần đây, việc tìm ra các thuật toán nắm bắt được các thuộc tính toàn cục (global) của bức ảnh đã trở thành xu hướng. Mục đích chính của nhóm em là tìm hiểu về phương pháp phân đoạn ảnh đã có theo hướng: phân đoạn dựa theo ngưỡng với các thuật toán được đưa ra. Từ đó so sánh khả năng cũng như điểm yếu của phương pháp. 8 Cơ sở thực nghiệm I. Giới thiệu chung về phân vùng ảnh. Phân vùng ảnh thường được coi là bước đầu tiên trong phân tích hình ảnh với mục đích: Chia nhỏ một hình ảnh thành từng vùng có ý nghĩa để phục vụ cho việc phân tích sâu hơn.Chúng ta hi vọng rằng các vùng thu được sẽ tương ứng với các bộ phận vật lý hoặc các đối tượng của một cảnh (3-D) được biểu diễn bởi hình ảnh (2-D).Để phân tích các đốitượng trong ảnh, chúng tacần phải phân biệt được các đốitượngcần quan tâmvới phần cònlạicủa ảnh. Những đốitượng này có thể tìm ra được nhờ cáckỹ thuật phân vùng ảnh, theo nghĩa tách phần tiềncảnh ra khỏi hậucảnh trong ảnh.Nhìn chung, phân vùng độc lập là một nhiệm vụ khó khăn trong xử lý hình ảnh kĩ thuật số.Chúng tacần phải chú ý rằng: - Không cókỹ thuật phân vùng nào là vạn năng, theo nghĩa có thể áp dụng cho mọi loại ảnh. - Không có kỹ thuật phân vùng nào là hoàn hảo. Có thể hiểu phân vùng là tiến trình chia ảnh thành nhiều vùng,mỗi vùng chứa một đối tượng hay nhóm đối tượng cùng kiểu. Chẳng hạn, một đối tượng có thể là một kí tự trên một trang văn bản hoặc một đoạn thẳng trong một bản vẽ kỹ thuật, một nhóm các đối tượng có thể biểu diễn một từ hay hai đoạn thẳng tiếp xúc nhau. Tất cả các phương pháp phân vùng hình ảnh được giả định rằng: 1. Giá trị cường độ khác nhau ở các vùng khác nhau thì khác nhau. 9 2. Trong từng vùng, các đối tượng tương ứng đại diện cho một cảnh thì có giá trị cường độ tương tự nhau. Nghĩa là các điểm trong một vùng ảnh có độbiến thiên giá trịmức xám tương đối đồng đều hay tính kết cấu tương đồng vì vùng ảnh là một tập hợp các điểm có cùng hoặc gần cùng một tính chất nào đó : mức xám, mức màu, độnhám Dựa vào đặc tính vật lý của ảnh, người ta có nhiều kĩ thuật phân vùng: phân vùng phân vùng dựa theo miền liên thông gọi là phân vùng dựa theo miền đồng nhất hay miền kề; phân vùng dựa vào biên gọi là phân vùng biên. Ngoài ra còn có các kỹthuật phân vùng khác dựa vào biên độ, phân vùng dựa theo kết cấu.. Xuất phát từ những cơ sở ý tưởng nêu trên, trong phạm vi cuốn tài liệu này chúng tôi sẽ trình bày kĩ thuật phân vùng ảnh dựa theo ngưỡng với các kĩ thuật tìm ngưỡng tự động (đẳng điệu, đối xứng nền, tách ngưỡng tự động, tìm ngưỡng toàn cục, tìm ngưỡng cục bộ) áp dụng trên các đối tượng ảnh. II. Đôi điều về phân vùng ảnh theo ngưỡng. Phân vùng ảnh theo ngưỡng : - Phân vùng theo ngưỡng là tách 2 vật thể bằng một ngưỡng chọn tự động - Việc chọn ngưỡng này sẽ thực hiện trên biểu đồ tần suất. - Và ngưỡng này sẽ phân biệt vùng và nền. Ý tưởng cơ bản. - Giả sử chúng ta có ảnh bao gồm đối tượng và nền. 10 - Chúng ta giả định là đối tượng và nền là hai phân phối thống kê riêng biệt - Phân phối nền bao giờ cũng lớn hơn rất nhiều so với phân bố đối tượng. - Biểu đồ tần suất của ảnh sẽ là tổ hợp của hai phân phối này. PHÂN VÙNG ẢNH THEO NGƯỠNG I. Làm trơn ảnh – Làm trơn histogram – Chọn ngưỡng dựa vào biểu đồ . Trong hầu hết các trường hợp, ngưỡng được chọn từ lược đồ độ sáng của vùng hay ảnh cần phân đoạn. Có rất nhiều kĩ thuật chọn ngưỡng tự động xuất phát từ lược đồ xám {h[b] | b=0, 1, -1} đã được đưa ra. Những kĩ thuật phổ biến sẽ được trình bày dưới đây. Những kĩ thuật này có thể tận dụng những lợi thế do sự làm trơn dữ liệu lược đồ ban đầu mang lại nhằm loại bỏ những dao động nhỏ về độ sáng. Tuy nhiên các thuật toán làm trơn cần phải cẩn thận, không được làm dịch chuyển các vị trí đỉnh của lược đồ. Nhận xét này dẫn đến thuật toán làm trơn dưới đây: Trong đó W là lẻ và W thường là 3 hoặc 5. 11 Trước khi phân vùng ảnh thường biểu đồ tần suất ảnh sẽ được làm trơn. Hàm làm trơn biểu đồ tần suất là hàm: b = histsmooth (a,w)  với a là histogram đầu vào  w là chiều rộng của hàm smooth thì b là histogram sau khi đã làm trơn. Ví dụ minh họa.chọn W =5. 12 13 II. Thuật toán đẳng điệu. - Thuật toán lặp do Ridler và Calvard đưa ra. - Đồ thị tấn xuất được chia ra làm 2 đoạn bằng một giá trị ngưỡngθ0, giá trị này là giá trị nằm giữa của thang tần suất của ảnh. - Giá thị trung bình mẫu mf,0 của đối tượng và mb,0 của nền được tính toán theo công thức: - mf,k+1 được tính với Gmin = 0 và Gmax = θk - mb,k+1 được tính với Gmin = θk+1và Gmax = 255 - Ngưỡng θk được tính như sau: 14 - Thuật toán được lặp đi lặp lại cho đến khi θk = θk+1 thì ngưỡng được chọn là ngưỡng không đổi này Hàm t =ridandcal(a) là hàm tìm ngưỡng dựa vào thuật toán đẳng điệu với:  với a là histogram đầu vào  t là ngưỡng thu được từ thuật toán đẳng điệu Hình ảnh minh họa: phân vùng ảnh theo ngưỡng sử dụng thuật toán đẳng điệu để tìm ngưỡng. 15 16 17 18 III. Thuật toán đối xứng nền. - Chúng ta giả định là phân phối nền rất lớn so với phân phối đối tượng và hai phân phối này là đối xứng. - Và nền là sáng và đối tượng là tối - Vì vậy đỉnh maxp có thể coi là đỉnh của phân phối của nền 19 - Vì vậy bằng việc tính giá trị a sao cho a chỉ định mốc 1-p% của nền tính từ maxp - Ta có thể lấy đối xứng sang qua maxp để có được ranh rới p% của đối tượng nền và là ranh giới xác định sự phân chia - T = maxp-(a-maxp) - Giả sử chúng ta chọn p% là 95% thì chúng ta sẽ tính sao cho diện tích từ a đến max là bằng 5% của điện tích từ maxp đến max. - Sau đó lấy đối xứng qua maxp vì vậy diện tích từ T đến max sẽ là 95% tổng diện tích của phân phối nền, vì vậy T sẽ là ngưỡng phân tách nền và đối tượng - Hàm t = symbg(a,b,p) là hàm tìm ngưỡng dựa theo thuật toán đối xứng nền với:  với a là histogram đầu vào  b =1 nếu nền sáng hơn  b=0 nếu nền tối hơn  p là tỉ lệ phần trăm ta muốn giữ lại nền (ví dụ p=95)  t là ngưỡng thu được từ thuật toán đối xứng nền 20 Hình ảnh minh họa: ảnh phân vùng theo ngưỡng dựa vào thuật toán đối xứng nền. a. (b=1vì nền sang hơn vật,p=95) 21 b. Chọn b=1, p=15 22 Chọn b=1, p = 25. 23 24 Nhận xét: - Thuật toán áp dụng tốt cho các ảnh có histogram chia làm 2 phần rõ rệt (một phần cao, một phần thấp), đối với những ảnh có histogram luôn biến thiên nhiều lần thì không áp dụng được. - Khó để chọn giá trị p. IV. Thuật toán tam giác - Thuật toán tam giác do Zack đề xuất - Thuật toán này cũng sử dụng ý tưởng như thuật toán trên, đó là tìm ranh giới giữa phân phối của nền và đối tượng. 25 - Trong thuật toán này thì cách xác định là kẻ một đường Δ từ đỉnh có số điểm ảnh bằng max tới điểm có số điểm ảnh là min - Rồi tìm vị trí b sao cho d từ Δ đến Hb là max - Viết hàm t = triangle(a,b) là hàm tìm ngưỡng theo thuật toán tam giác, trong đó:  với a là histogram đầu vào  b =1 nếu nền sáng hơn  b=0 nếu nền tối hơn  t là ngưỡng thu được từ thuật toán tam giác Hình ảnh minh họa: ảnh phân vùng theo ngưỡng dựa vào thuật toán tam giác. b=1 vì nền sáng hơn. 26 27 28 Chọn b=1 Chọn b=0. 29 Nhận xét: - Chỉ áp dụng được với một số ảnh nhất định. Đối với những ảnh có histogram biến thiên nhiều thì việc phân vùng, xác định đối tượng khó khăn. V. Kĩ thuật tìm ngưỡng tự động. Kỹ thuật biến đổi ảnh và so sánh biên độ các điểm ảnhvớimức ngưỡng đượcsửdụng khárộng rãi trong các phương pháp phân vùng ảnh. Trong trườnghợptổng quát, quá trìnhxử lý ngưỡng là quá trình so sánh ảnhvới hàm T: 30 T = T [x, y, p(x, y), f(x, y)] f(x,y)- giá trịmức xámtại điểm (x,y), p(x,y) - hàm biểu diễn tính chấtcủa vùng ảnh xung quanh điểm (x,y), vídụ, giá trịmức xám trung bìnhcủa vùng ảnh, có tâm là điểm (x,y).Kết quả so sánh đượctổnghợp trên ảnh g(x,y) theo quy luật sau: { Chúng tagọi các điểm ảnh trong g(x,y) có giá trịbằng 1 là các điểm ảnh thuộc vật thể (hay vùng ảnh chi tiết),các điểm có giá trịbằng 0sẽ thuộc vùng ảnh nền.Nếu T chỉ phụ thuộc vào f(x,y) và không thay đổi trong toànbộ quá trình xử lý ảnh thì T được gọi là ngưỡng toàn cục.Nếu T phụ thuộc vào toạ độ không gian (x,y) tagọi T là ngưỡng cục bộ.Nếu ngưỡng cục bộ T phụ thuộc vào p(x, y) hay nói cách khác, T thay đổi theo tính chất của từng vùng ảnh, ta gọi mức T là ngưỡng thích nghi. 1. Phân vùng với ngưỡng toàn cục. Phương pháp phân vùng theo ngưỡng toàncục là phương pháp khá đơn giản, khivật thể vànền được táchbằng cách so sánhvớimộtmức ngưỡng T.Mức độ chính xáccủa phương pháp này phụ thuộc vào tính chấtcủa ảnh, vídụ:nếu ảnh có histogram được chia thành các vùng rõ rệt (còngọi là các mode) thì việc lựa chọn ngưỡng sẽ tương đối dễ dàng. Dưới đây là một số hình ảnh khá đơn giản dùng để thí nghiệm tách ngưỡng toàn cục. Phần hình học sáng hơn và nền xám tối hơn đã được tách biệt hẳn, rõ ràng 31 hơn. Tất cả các điểm ảnhcó độ chói thấpsẽ được gán mức trắng, các điểm ảnh có độchói cao(nền của ảnh) được thay bằng mức đen 32 33 Chọn T=127, T0 = 1. 34 Để tìm được ngưỡng toàn cục ta sử dụng một hàm thresh=globalthreshold(img,T,T0). Với T là giá trị ngưỡng ban đầu, T0 là sai số cho trước. Để có thể xác định ngưỡng T một cáchtự động, chúng ta thực hiện cácbước sau: 1- Lựa chọnmức ngưỡng ban đầuT. 2- Dùng T để phân vùng ảnh.Kết quả nhận được là hai nhóm điểm ảnh: nhóm G1 có giá trị độ chói lớn hơnT, G2 – có độ chói nhỏ hơn T. 3- Xác định giá trị độ chói trung bình m1và m2của hai nhóm điểm ảnh trên. 4- Xác định giá trị ngưỡng T mới bằng: 5- Thực hiện cácbước 2-4 đến khi sai số giữa hai giá trị Tkế tiếp không vượt quá giá trị T0 cho trước. Mức ngưỡng ban đầu thường được lựa chọn bằng giá trị trung bình giữa mức chói cao nhất và mức chói thấp nhất trong ảnh. Nhận xét: - Nhìn chung thuật toán tìm ngưỡng toàn cục đơn giản, thích hợp với việc phân vùng cho những ảnh có histogram chia làm 2 vùng rõ rệt. 35 - Không thể xử lý khi chiếu sáng thay đổi, có thể cho kết quả kém đối với một số hình ảnh. - Cách chọn ngưỡng T, T0 khó khăn. KẾT LUẬN CHUNG - Trong các phương pháp nêu trên có lẽ phương pháp đơn giản và mang lại hiệu quả nhất là phương pháp phân vùng tìm ngưỡng theo thuật toán đẳng điệu. Phân vùng với hầu hết các ảnh, và cho ta kết quả tốt hơn cả. - Các phương pháp còn lại đại đa số chỉ phù hợp với một số lại ảnh nhất định. Ví dụ như: phương pháp tìm ngưỡng toàn cục thích hợp nhất đối với những ảnh có histogram tách làm 2 phần riêng biệt, nghĩa là đồ thị của nó không biến thiên quá nhiều lần. PHỤ LỤC A. Code matlab 36 1. Thuật toán Làm trơn Histogram function [ b ] = histsmooth( a , w ) %HISTSMOOTH This function smooth out a picture histogram % a is the input histogram % w is an odd number, throught error if w is an even number % b is the histogram that has been smoothed b=a; if rem(w,2)==0 str=[ 'w should be an odd not ' num2str(w)]; error(str); end s=size(a); b=zeros(1,s(2)); k=(w-1)/2; x=zeros(1,s(2)+k*2); for i=1:s(2) x(i+k)=a(i); end for j=1+k:s(2)+k m=x(j-k:j+k); b(j-k)=round(mean(m)); end end 37 2. Thuật toán đẳng điệu function [ t ] = ridandcal( a ) %RIDANDCAL This function find a threadhold from rid and cal method % a is the input histogram % t is the threadhold this method return t=127; s=size(a); t=round((s(2))/2)-1; tcu=-1; while t~=tcu sumg1=0; sumg2=0; sumhg1=0; sumhg2=0; tcu=t; for i=0:t sumg1=sumg1+i*a(i+1); sumhg1=sumhg1+a(i+1); end t1=sumg1/sumhg1; for i=t+1:s(2)-1 sumg2=sumg2+i*a(i+1); sumhg2=sumhg2+a(i+1); end t2=sumg2/sumhg2; t=round(round((t1+t2))/2); 38 end end 3. Thuật toán đối xứng nền function [ t ] = symbg( a , b , p) %SYMBG This function find a threadhold using symmetry background method % a is the input histogram % b = 1 if background is brighter % b = 0 if background is darker % t is the threadhold this method return t=127; maxp=find(a==max(a)); maxp=maxp(end); x=find(a>0); if b==1 max1=(x(end)); a2=a(maxp:max1); sum2=sum(a2); kc=ones(1,max1); kc=kc*100; for i=maxp:max1; a1=a(maxp:i); kc(i)=abs((sum(a1)/sum2)*100-p); end k=find(kc==min(kc)); 39 t=maxp-(k-maxp)-1; else if b==0 min1=x(1); a2=a(maxp:-1:min1); sum2=sum(a2); kc=ones(1,maxp); kc=kc*100; for i=maxp:-1:min1 a1=a(i:maxp); kc(i)=abs((sum(a1)/sum2)*100-p); end k=find(kc==min(kc)); t=maxp+maxp-k-1; end end end 4. Thuật toán tam giác function [ t ] = triangle( a, b ) %TRIANGLE This function find a threadhold using triangle method % a is the input histogram % b = 1 if background is brighter % b = 0 if background is darker % t is the threadhold this method return 40 s=size(a); if b==1 min1=0; else min1=s(2)-1; end max1=find(a==max(a))-1; vtpt=[ -max(a) max1-min1 ]; d=zeros(1,s(2)); if b==1 for i=0:max1 d(i+1)=abs(vtpt(1)*(i- min1)+vtpt(2)*a(i+1))/sqrt(vtpt(1)^2+vtpt(2)^2); end else for i=max1:s(2) d(i)=abs(vtpt(1)*(i- min1)+vtpt(2)*a(i))/sqrt(vtpt(1)^2+vtpt(2)^2); end end t=find(d==max(d))-1; end 5. Thuật toán tách ngưỡng tự động (tách ngưỡng toàn cục) function thresh=globalthreshold(img,T,T0) %Threshold an image using global thresholding 41 %T is the initial threshold guess %When successive values of T become less than T0 % the algorithm finishes s=size(img); numelem=s(1)*s(2); imgfl=double(img); Tlast=-T0; while abs(T-Tlast)>T0 tmp=imgfl>T; zeros1=sum(tmp(:)); zeros2=numelem-zeros1; G1=tmp.*imgfl; 42 G2=(~tmp).*imgfl; mu1=sum(G1(:))/zeros1; mu2=sum(G2(:))/zeros2; Tlast=T; T=1/2*(mu1+mu2) end thresh=T; end BẢNG KẾT QUẢ THỬ NGHIỆM 1. Thuật toán Làm trơn Histogram 43 44 2. Thuật toán đẳng điệu 45 46 3. Thuật toán đối xứng nền 47 4. Thuật toán tam giác 48 5. Thuật toán tách ngưỡng tự động(tách ngưỡng toàn cục) 49 50

Các file đính kèm theo tài liệu này:

  • pdf118379436_bao_cao_xu_ly_anh_nhom_13_d09cn2_9363.pdf
Luận văn liên quan