1. Trang chủ
  2. » Luận Văn - Báo Cáo

TIỂU LUẬN MÔN HỌC XỬ LÝ ẢNH pptx

25 580 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 691,47 KB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI KHOA CÔNG NGHỆ TIỂU LUẬN MÔN HỌC XỬ LÝ ẢNH Đề tài Biên phương pháp dò biên ảnh Ngưòi thực hiện: Trần Quang Duy Lớp: K10T3 HÀ NỘI – 06/2004 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên MỤC LỤC Phần 1.1 1.2 TỔNG QUAN VỀ BIÊN VÀ CÁC PHƯƠNG PHÁP PHÁT HIỆN BIÊN Vị trí biên phân tích ảnh Biên kỹ thuật dò biên 1.2.1 1.2.2 1.2.3 1.3 Một số phương pháp phát biên cục 1.3.1 1.3.2 1.4 Phần Giới thiệu Các chức chương trình Chi tiết chức dị biên thuật tốn Dò biên theo kỹ thuật Gradient Phương pháp dò biên theo kỹ thuật Laplace 11 Phương pháp dò biên gián tiếp 12 Chương trình 13 2.4.1 2.4.2 2.4.3 2.4.4 2.5 Giới thiệu CHƯƠNG TRÌNH ỨNG DỤNG 2.3.1 2.3.2 2.3.3 2.4 Phương pháp gradient Phương pháp Laplace Các phương pháp biên gián tiếp (phân vùng ảnh) 1.4.1 2.1 2.2 2.3 Khái niệm biên Phân loại kỹ thuật phát biên Qui trình phát biên trực tiếp Giao diện chức 13 Chức Gradient 14 Chức Laplace 15 Chức dò biên gián tiếp(Indirect Method) 16 Một số hàm thủ tục 17 Trang 2/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên Phần TỔNG QUAN VỀ BIÊN VÀ CÁC PHƯƠNG PHÁP PHÁT HIỆN BIÊN 1.1 Vị trí biên phân tích ảnh Phân tích ảnh qua trình gồm nhiều giai đoạn Đầu tiên giai đoạn tiền xử lý ảnh Sau giai đoạn này, ảnh tăng cường hay khôi phục đề làm nồi đặc tính ( feature extraction ), phân đoạn ảnh (segmentation) thành phần tử Thí dụ, phân đoạn dựa theo biên, dựa theo vùng,… Và tuỳ theo ứng dựng, giai đoạn nhận dạng ảnh ( phân thành lớp có miêu tả) giải thích miêu tả ảnh Hình 1.1 mơ tả tóm lược bước q trình phân tích ảnh: Trích chọn đặc tính Phân đoạn Phân loại Ảnh đầu trình tiền XL Giải thích Hình 1.1 Các bước phân tích ảnh Các đặc trưng ảnh thường gồm: mật độ xám, phân bổ xác xuất, phân bồ không gian, biên ảnh Các kỹ thuật phân đoạn ảnh chủ yếu dựa vào biên Do đó, biên có tầm quan trọng đặc biệt qua trình phân tích ảnh 1.2 Biên kỹ thuật dò biên Trong phần đề cập đến số nội dung: khái niệm biên, phân loại phương pháp phát biên qui trình phát biên 1.2.1 Khái niệm biên Biên vấn đề chủ yếu phân tích ảnh kỹ thuật phân đoạn ảnh chủ yếu dựa vào biên Một điểm ảnh coi điểm biên có thay đổi đột ngột mức xám Tập hợp điểm biên tạo thành biên hay đường bao ảnh ảnh (boundary) Thí dụ, ảnh nhị phân, điểm gọi biên điểm đen có điểm trắng lân cận Để hình dung tầm quan trọng biên ta xét ví dụ sau: Khi người hoạ sĩ vẽ bàn gỗ, cần vài nét phác thảo hình dáng mặt bàn, chân bàn mà không cần thêm chi tiết khác, người xem nhận Trang 3/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dị biên bàn ứng dụng ta phân lớp nhận diện đối tượng, coi nhiệm vụ hồn thành Tuy nhiên đòi hỏi thêm chi tiết khác vân gỗ hay màu sắc,…thì với chừng thơng tin chưa đủ Nhìn chung mặt toán học người ta coi điểm biên ảnh điểm có biến đổi đột ngột độ xám.Như phát biên cách lý tưởng xác định tất đường bao đối tượng Định nghĩa toán học biên sở cho kỹ thuật phát biên Điều quan trọng biến thiên mức xám ảnh vùng thường nhỏ, biến thiên mức xám điểm vùng giáp ranh (khi qua biên) lại lớn 1.2.2 Phân loại kỹ thuật phát biên Xuất phát từ định nghĩa toán học biên người ta thường sử dụng phương pháp phát biên sau: 1.2.2.1 Phương pháp phát biên trực tiếp: Phương pháp nhằm làm biên dựa vào biến thiên giá trị độ sáng điểm ảnh kỹ thuật chủ yếu dùng phát biên kỹ thuật đạo hàm Nếu lấy đạo hàm bậc ảnh ta có phương pháp Gradient; lấy đạo hàm bậc hai ta có kỹ thuật Laplace Hai phương pháp gọi phương pháp dị biên cục ngồi người ta cịn sử dụng phương pháp “đii theo đường bao”: dựa vào nguyên lý qui hoạch hoạt động gọi phương pháp dò biên tổng thể 1.2.2.2 Phương pháp gián tiếp: Nếu cách , ta phân ảnh thành vùng đường phân ranh vùng biên việc phân vùng ảnh thường dựa vào kết cấu (texture) bề mặt ảnh Cũng cần lưu ý rằng, kỹ thuật dò biên phân vùng ảnh hai toán đối ngẫu Thực vậy, dò biên để thực phân lớp đối tượng phân lớp xong có nghĩa phân vùng ảnh Và ngược lại, phân vùng, ảnh phân lập thành đối tượng, ta phát biên Phương pháp dị biên trực tiếp tỏ hiệu chịu ảnh hưởng nhiễu song biến thiên độ sáng không đột ngột, phương pháp lại hiệu Phương pháp dò biên gián tiếp có khó cài đặt song lại áp dụng tốt biến thiên độ sáng nhỏ 1.2.3 Qui trình phát biên trực tiếp b1) Khử nhiễu ảnh Vì ảnh thu nhận thường có nhiễu, nên bước phải khử nhiễu việc khử nhiễu thực kỹ thuật khử nhiễu khác b2) Làm biên Trang 4/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên Tiếp theo làm biên toán tử đạo hàm b3) Định vị điểm biên Vì kỹ thuật làm biên có hiệu ứng phụ tăng nhiễu , có số điểm biên giả cần loại bỏ b4) liên kết trích chọn biên Như nói, phát biên phân vùng ảnh tốn đối ngẫu phát biên thông qua việc phân vùng ảnh 1.3 Một số phương pháp phát biên cục 1.3.1 Phương pháp gradient Phương pháp gradient phương pháp dò biên cục dựa vào cực đạii đạo hàm Theo định nghĩa, gradient véctơ có thành phần biểu thị tốc độ thay đổi giá trị điểm ảnh theo hai hướng x y thành phần gradient tính bởi: df(x,y) dx df(x,y) dy = fx  = fy  f(x+dx,y) – f(x,y) dx f(x,y+dy) – f(x,y) dy với dx khoảng cách điểm theo hướng x ( khoảng tính số điểm) tương tự với dy Trên thực tế, người ta hay dùng với dx = dy = Trong kỹ thuật gradient, người ta chia thành kỹ thuật (do dùng toán tử khác nhau): kỹ thuật gradient kỹ thuật la bàn kỹ thuật gradient dùng toán tử gradient lấy đạo hàm theo hai hướng; kỹ thuật la bàn lấy đạo hàm theo hướng chính: Bắc, Nam, Đơng ,Tây Đơng Bắc, Tây Bắc, Đông Nam, Tây Nam 1.3.1.1 Kỹ thuật gradient Kỹ thuật sử dụng cặp mặt nạ H1 H2 trực giao ( theo hướng vng góc) Nếu định nghĩa g1,g2 gradient tương ứng theo hướng x y, biên độ gradient, ký hiệu g điểm (m,n) tính theo cơng thức: A0 = g(m,n) =  g² 1(m,n) + g22(m,n) r(m,n) = tan-1g2(m,n)/ g1(m,n) (1.2) (1.3) Chú ý: để giảm tính tốn, cơng thức 1-2 tính gần bởi: A0 = | g1(m,n) | + | g2(m,n) | Trang 5/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dị biên Các tốn tử đạo hàm áp dụng nhiều ta xét số toán tử tiêu biểu: toán tử Robert, Sobel, Prewitt… Trước tiên xét toán tử Robert Toán tử Robert đề xuất vào năm 1965 Nó áp dụng trực tiếp công thức đạo hàm điểm (x,y) với điểm ảnh I(x,y) I, đạo hàm theo x, theo y ký hiệu tương ứng g x, gy tính: gx = I(x +1,y) – I(x,y) gy =I(x,y+1) – I(x,y) điều tương đương với việc chập ảnh với mặt nạ H H2: H1 = -1 H2 = -1 0 -1 Ta gọi H1,H2 mặt nạ Robert Trong trường hợp tổng quát, giá trị gradient biên độ g gradient hướng r tính công thức 1.2 1.3 Thường để giảm thời gian tính tốn, người ta cịn tính gradient theo chuẩn sau: A1 = | g1(m,n) + g2(m,n) | A2 = max( | g1(m,n) | , | g2(m,n) |) Cần lưu ý rằng, lạm dụng ngôn từ, ta lấy đạo hàm ảnh thực mô xấp xỉ đạo hàm kỹ thuật nhân chập ảnh số tín hiệu rời rạc, đạo hàm không tồn Trong kỹ thuật Sobel prewtt người ta sử dụng mặt nạ: -1 H1 = -1 -1 -1 -1 H2 = Ngang (hướng x) 0 -1 0 Dọc(hướng y) a) mặt nạ Sobel -1 H1 = -2 -1 -2 -1 H2 = -1 Ngang (hướng x) 0 Dọc(hướng y) Trang 6/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên b) mặt nạ Prewitt -1 H1 = - -1 -1 - -1 0 H2 = 1 Ngang (hướng x) Dọc(hướng y) c) mặt nạ đẳng hướng (Isometric) Gradient tính xấp xỉ cơng thức Gx=Hx  I Gy=Hy  I (Hx nhân chập với I, Hy nhân chập với I) Thực tế cho thấy toán tử Sobel Prewitt tốt tốn tử Sobel chúng nhậy cảm với nhiễu 1.3.1.2 Kỹ thuật La bàn Về phương pháp kỹ thuật tương tự kỹ thuật Gradient Tuy nhiên,điểm khác, kỹ thuật Gradient lấy đạo hàm theo hướng kỹ thuật la bàn lấy đạo hàm theo hướng chính: Bắc, Nam, Đơng ,Tây Đơng Bắc, Tây Bắc, Đông Nam, Tây Nam Bằng cách sử dụng mặt nạ cho hướng khác 1.3.2 Phương pháp Laplace Các phương pháp đánh giá Gradient làm việc tốt mà độ sáng thay đổi rõ nét Khi mức sáng thay đổi chậm, miền chuyển tiếp trải rộng, phương pháp cho hiệu sử dụng phương pháp đạo hàm bậc hai gọi phương pháp Laplace Kết nghiên cứu cho thấy phương pháp Gradient nhậy cảm với nhiễu thường tạo nên biên kép Toán tử Laplace dùng nhiều kiểu mặt nạ khác để xấp xỉ đạo hàm bậc hai Dưới kiểu mặt nạ hay dùng 0 -1 -1 H1= -1 -1 -1 H2 = -1 -1 -1 -1 H2= -2 -1 -1 -1 -2 -2 -2 Kỹ thuật laplace cho đường biên mảnh, tức đường biên có độ rộng pixel Tuy nhiên, kỹ thuật nhạy cảm với nhiễu đạo hàm bậc hai thường không ổn định Trang 7/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên 1.4 Các phương pháp biên gián tiếp (phân vùng ảnh) 1.4.1 Giới thiệu Như phần trình bày, Nếu cách đấy, ta phân ảnh thành vùng đường phân ranh vùng biên việc phân vùng ảnh thường dựa vào kết cấu (texture) bề mặt ảnh Kỹ thuật dò biên phân vùng ảnh hai tốn đối ngẫu Thực vậy, dị biên để thực phân lớp đối tượng phân lớp xong có nghĩa phân vùng ảnh Và ngược lại, phân vùng, ảnh phân lập thành đối tượng, ta phát biên Do vậy, Phân vùng ảnh bước then chốt xử lý ảnh Giai đoạn nhằm phân tích ảnh thành thành phần có tính chất dựa vào biên hay vung liên thông Tiêu chuẩn để xác định vùng liên thông mức xám, màu, v v… Vùng ảnh thuộc tính quan trọng ảnh Nói đến vùng ảnh nói đến kết cấu bề mặt Đường bao quanh vùng ảnh gọi biên ảnh Một số phương pháp phân vùng như:  Phân vùng ảnh dựa theo ngưỡng biên độ  Phân vùng ảnh dựa theo miền đồng  Phân vùng ảnh dựa theo đường biên Trang 8/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên Phần CHƯƠNG TRÌNH ỨNG DỤNG 2.1 Giới thiệu Phần trình bày khái qt vai trị tầm quan trọng biên trình xử lý ảnh Đồng thời, phần trình bày khái niệm biên ảnh phương pháp dị biên ảnh nhị phân máy tính Để áp dụng lý thuyết trình bày phần 1, Phần giới thiệu chương trình ứng dụng tìm biên ảnh Chương trình áp dụng kỹ thuật biên trực tiếp kỹ thuật Gradient Laplace Trong kỹ thuật Gradient, toán tử Sobel Prewitt sử dụng Tiếp chương trình giới thiệu phương pháp dị biên gián tiếp thơng qua việc phân vùng ảnh Chương trình viết ngôn ngữ Visual C++ 6.0 2.2 Các chức chương trình Chương trình bao gồm chức sau:  Đọc ảnh nhị phân: ảnh đen trắng, ảnh màu (16 màu 256 màu) dạng bitmap (*.bmp)  Lưu ảnh: lưu ảnh biến đổi file  Dò biên ảnh bao gồm chức sau o Theo kỹ thuật Gradient: cách sử dụng toán tử Sobel Prewitt o Theo kỹ thuật Laplace: sử dụng tốn tử Laplace-H2 o Dị biên gián phân vùng ảnh: dò biên theo màu ảnh 2.3 Chi tiết chức dò biên thuật tốn 2.3.1 Dị biên theo kỹ thuật Gradient Theo phần lý thuyết trình bày, kỹ thuật Gradient dò biên theo hướng x y cách sử dụng hai mặt nạ nhân chập theo hai hướng Chương trình sử dụng hai tốn tử Sobel Prewitt sau -1 H1 = -1 -1 -1 -1 H2 = Ngang (hướng x) 0 -1 0 Dọc(hướng y) a) mặt nạ Sobel Trang 9/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên -1 H1 = -2 -1 -2 -1 H2 = Ngang (hướng x) 0 -1 Dọc(hướng y) b) mặt nạ Prewitt Giả sử Gx Gy ma trận điểm ảnh thu sau nhân chập với mặt nạ theo hai hướng tương ứng Ma trận điểm ảnh G tính xấp xỉ theo cơng thức sau: G=|Gx| + |Gy|  Thuật tốn dị biên theo phương pháp Gradient sau: Đầu vào: ma trận ảnh cần tìm biên: mặt nạ I1 I2 Đầu ra: Một ma trận ảnh (chứa đường biên tìm thấy) Giải thuật // Gradient Algorithm For (mỗi điểm ảnh ảnh) if(Nếu điểm ảnh nẳm đường viền ảnh) Gán giá trị điểm ảnh đường viền ảnh =0 (hoặc màu ảnh) else { - Tính xấp xỉ Gradient theo chiều x (Gx): nhân chập với mặt nạ I1 -Tính xấp xỉ Gradient theo chiều y (Gy): nhân chập với mặt nạ I2 -Tính giá trị điểm ảnh theo công thức xấp xỉ G: G=|Gx|+ |Gy| - Nếu giá trị điểm ảnh lớn số màu ảnh gán giá trị ảnh giá trị màu lớn } Trang 10/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên Để dễ hiểu, phần minh hoạ thêm giải thuật này: Ma trận ảnh vào Mặt nạ a11 a12 a13 a1n a21 a22 a23 a2n a31 a32 a33 a3n m12 m13 m21 m22 m23 m31 m32 m33 m11 Ma trận ảnh sau nhân chập b11 b12 b13 b1n b21 b22 b23 b2n b31 b32 b33 b3n Trong đó: b22=(a11*m11)+ (a12*m12)+ (a12*m13)+ (a21*m21) + (a22*m22) + (a23*m23) + (a31*m31)+ (a32*m32)+ (a33*m33) Các giá trị nằm đường viền gán =0 (hay giá trị màu nền) (b11,b12, b1n,b11 bn1,b1n bnn, bn1 bnn) Đây cơng thức tính Gx Gy Để tính giá trị điểm ảnh đầu ra, sử dụng công thức: G=|Gx|+ |Gy| 2.3.2 Phương pháp dò biên theo kỹ thuật Laplace Kỹ thuật Laplace dị biên theo cách tính xấp xỉ đạo hàm bậc hai dựa mặt nạ Chương trình sử dụng mặt nạ H2 cách dị biên theo kỹ thuật Laplace -1 H2= -1 -1 -1 -1 -1 -1 -1 Trang 11/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên Gọi G ma trận điểm thu sau nhân chập ma trận điểm ảnh (của ảnh cần tìm biên)với mặt nạ H2 G ma trận điểm ảnh chứa đường biên cần tìm  Thuật tốn dò biên theo phương pháp Gradient sau: Đầu vào: ma trận ảnh cần tìm biên: mặt nạ H2 Đầu ra: Một ma trận ảnh (chứa đường biên tìm thấy) Giải thuật // Laplace Algorithm For (mỗi điểm ảnh ảnh) if(Nếu điểm ảnh nẳm đường viền ảnh) Gán giá trị điểm ảnh đường viền ảnh =0 (hoặc màu ảnh) else { - Tính xấp xỉ Laplace G: nhân chập với mặt nạ I1 - Nếu giá trị điểm ảnh lớn số màu ảnh gán giá trị ảnh giá trị màu lớn } 2.3.3 Phương pháp dò biên gián tiếp Dựa kỹ thuật phân vùng ảnh, Phương pháp dò biên theo thay đổi mức xám màu ảnh Nếu điểm ảnh có màu có màu khác khoảng cách màu nằm phạm vi cho phép, đồng thời nằm kề tạo thành vùng  Định nghĩa khoảng cách màu: Khoảng cách màu khái niệm để khác giá trị màu điểm ảnh Giả sử a b giá trị màu điểm ảnh Khoảng cách màu d a b tính sau: d(a,b)=|Ra-Rb| + |Ga-Gb| + |Ba-Bb| Trong Ra: giá trị màu đỏ điểm ảnh Ga: giá trị màu xanh (green)tại điểm ảnh Ba: giá trị màu xanh da trời (blue) điểm ảnh Nếu khoảng cách màu d=0 điểm ảnh có màu Đường biên giữ vùng đường biên cần tìm Trang 12/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dị biên  Thuật tốn tìm đường biên dựa biến thiên giá trị màu điểm ảnh Đầu vào: Ma trận điểm ảnh, khoảng cách màu tối thiểu Đầu ra: Ma trận điểm ảnh (chứa đường biên tìm thấy) Giải thuật: For (mỗi điểm ảnh ảnh) { - Tính khoảng cách màu điểm ảnh với điểm ảnh lân cận: Tính theo hướng điểm ảnh if(Nếu có khoảng cách màu lớn khoảng cách màu cho phép) { - Ghi nhận điểm ảnh điểm biên } } 2.4 Chương trình 2.4.1 Giao diện chức Màn hình chạy có giao diện sau: Trang 13/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên 2.4.2 Chức Gradient  Bao gồm hai chức năng: o Sobel o Prewitt  Kết dò biên theo kỹ thuật Gradient với toán tử Sobel  Kết dị biên theo kỹ thuật Gradient với tốn tử Sobel Trang 14/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên Nhận xét:  Khi áp dụng hai toán tử cho ta kết tương tự  Phương pháp tạo nên đường biên đậm 2.4.3 Chức Laplace Chức bao gồm  chức Laplace-h2: sử dựng mặt nạ H2  Kết dò biên theo kỹ thuật Laplace Trang 15/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên 2.4.4 Chức dò biên gián tiếp(Indirect Method)  Kết dò biên theo phương pháp Trang 16/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên 2.5 Một số hàm thủ tục void CDemo3Doc::OnMethodSobel() { // TODO: Add your command handler code here if (image==0) return; if (!image->IsValid()) return; long Gx[3][3]; long Gy[3][3]; Gx[0][0] = -1; Gx[0][1] = 0; Gx[0][2] = 1; Gx[1][0] = -1; Gx[1][1] = 0; Gx[1][2] = 1; Gx[2][0] = -1; Gx[2][1] = 0; Gx[2][2] = 1; // Gy[0][0] = -1; Gy[0][1] = -1; Gy[0][2] = -1; Gy[1][0] = 0; Gy[1][1] = 0; Gy[1][2] = 0; Gy[2][0] = 1; Gy[2][1] = 1; Gy[2][2] = 1; Gradient(Gx,Gy); image->Filter(kernel,3,16,0); UpdateAllViews(NULL); } Trang 17/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên bool CDemo3Doc::Gradient(long Gx[3][3], long Gy[3][3]) { //neu khong co du lieu anh if(!image->GetDIB()) return false; // Gradient Algorithm long sum; long sumx,sumy;//gia tri tinh gx, gy long x,y; //long r,g,b; long i,j,gx,gy; //RGBQUAD c; //CxImage tmp; BYTE cindex; //tmp=image->cop CxImage tmp; tmp.Copy (*image); long xmin,xmax,ymin,ymax; xmin = ymin = 0; xmax =(long) image->GetWidth(); ymax=(long)image>GetHeight(); //neu anh la 8bit/1pixel if ((image->GetBpp() ==8)||(image->GetBpp() ==4)) { for(y=ymin; yGetWidth(); ymax=(long)img->GetHeight(); //neu anh la 8bit/1pixel if ((image->GetBpp() ==8) || (image->GetBpp() ==4)) { for(y=ymin; yGetPixelIndex(x,y) ; posindex=img->GetPixelIndex(x+1,y+1) ; //neu index tai diem x,y khong lon hon tai diem x-1,y-1 va x+1,y+1 thi loai bo if ((indexIsValid()) return; Trang 20/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên long Gx[3][3]; long Gy[3][3]; Gx[0][0] = -1; Gx[0][1] = 0; Gx[0][2] = 1; Gx[1][0] = -2; Gx[1][1] = 0; Gx[1][2] = 2; Gx[2][0] = -1; Gx[2][1] = 0; Gx[2][2] = 1; /* 3x3 GY Sobel mask Ref: www.cee.hw.ac.uk/hipr/html/sobel.html */ Gy[0][0] = -1; Gy[0][1]=-2; Gy[0][2] =-1; Gy[1][0] = 0; Gy[1][1] = 0; Gy[1][2] = 0; Gy[2][0] = 1; Gy[2][1] = 2; Gy[2][2] = 1; if(Gradient(Gx,Gy)==false) AfxMessageBox("Khong co du lieu anh");; UpdateAllViews(NULL); } bool CDemo3Doc::Laplace(long G[3][3]) { //neu khong co du lieu anh if(!image->GetDIB()) return false; // // Gradient Algorithm long sum; long sumx; long x,y; //long r,g,b; long i,j,g; //RGBQUAD c; //CxImage tmp; BYTE cindex; CxImage tmp; tmp.Copy (*image); long xmin,xmax,ymin,ymax; xmin = ymin = 0; xmax =(long) image->GetWidth(); ymax=(long)image->GetHeight(); //neu anh la 8bit/1pixel if ((image->GetBpp() ==8) || (image->GetBpp() ==4)) { for(y=ymin; yTransfer(tmp); return true; } void CDemo3Doc::OnMethodLaplace() { // TODO: Add your command handler code here if (image==0) return; if (!image->IsValid()) return; long Gx[3][3]; Gx[0][0] = -1; Gx[0][1] =-1; Gx[0][2]= -1; Gx[1][0] = -1; Gx[1][1] = 8; Gx[1][2]= -1; Gx[2][0] = -1; Gx[2][1] =-1; Gx[2][2]= -1; if(Laplace(Gx)==false) AfxMessageBox("Khong co du lieu anh"); UpdateAllViews(NULL); } bool CDemo3Doc::DoBien() { //neu khong co du lieu anh if(!image->GetDIB()) return false; // // // // long sum; long sumx; long x,y; long d1,d2,d3,d4,d5,d6,d7,d8; long r,g,b; long i,j; //RGBQUAD c; //CxImage tmp; //BYTE cindex; RGBQUAD c,c1,c2,c3,c4,c5,c6,c7,c8; RGBQUAD bc; int dis_min=0; //CoArray CxImage tmp; tmp.Copy (*image); Trang 23/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên long xmin,xmax,ymin,ymax; xmin = ymin = 0; xmax =(long) image->GetWidth(); ymax=(long)image->GetHeight(); for(y=ymin; yGetBpp() ==8) || (image->GetBpp() ==4)) { for(y=ymin; yGetPixelIndex (x,y)==image->GetPixelIndex (0,0)) { c1.rgbGreen)+ c2.rgbGreen)+ c3.rgbGreen)+ c4.rgbGreen)+ c1=image->GetPixelColor(x-1,y); c2=image->GetPixelColor(x+1,y); c3=image->GetPixelColor(x,y-1); c4=image->GetPixelColor(x,y+1); c5=image->GetPixelColor(x-1,y-1); c6=image->GetPixelColor(x+1,y+1); c7=image->GetPixelColor(x+1,y-1); c8=image->GetPixelColor(x-1,y+1); //tinh khoang cach giua hai mau d1=abs(c.rgbRed-c1.rgbRed)+abs(c.rgbGreen abs(c.rgbBlue -c1.rgbBlue ); d2=abs(c.rgbRed-c2.rgbRed)+abs(c.rgbGreen abs(c.rgbBlue -c2.rgbBlue ); d3=abs(c.rgbRed-c3.rgbRed)+abs(c.rgbGreen abs(c.rgbBlue -c3.rgbBlue ); d4=abs(c.rgbRed-c4.rgbRed)+abs(c.rgbGreen abs(c.rgbBlue -c4.rgbBlue ); Trang 24/25 - Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên c5.rgbGreen)+ c6.rgbGreen)+ c7.rgbGreen)+ c8.rgbGreen)+ d5=abs(c.rgbRed-c5.rgbRed)+abs(c.rgbGreen abs(c.rgbBlue -c5.rgbBlue ); d6=abs(c.rgbRed-c6.rgbRed)+abs(c.rgbGreen abs(c.rgbBlue -c6.rgbBlue ); d7=abs(c.rgbRed-c7.rgbRed)+abs(c.rgbGreen abs(c.rgbBlue -c7.rgbBlue ); d8=abs(c.rgbRed-c8.rgbRed)+abs(c.rgbGreen abs(c.rgbBlue -c8.rgbBlue ); if(d1>dis_min || d2>dis_min || d3>dis_min d4>dis_min || d5>dis_min ||d6>dis_min||d7>dis_min ||d8>dis_min) { - || //dat mau den tai cac diem bien bc=tmp.GetPixelColor(x,y-1); //neu diem truoc la diem bien if(bc.rgbBlue==0 ||bc.rgbGreen ==0 || bc.rgbRed ==0 ) { tmp.SetPixelColor(x,y,RGB(0,0,0)); } else { tmp.SetPixelColor(x,y,RGB(0,0,0)); } // } } } } } image->Transfer(tmp); return true; } void CDemo3Doc::OnIndirectMethod() { // TODO: Add your command handler code here DoBien(); UpdateAllViews(NULL); } Trang 25/25 ... Laplace Trang 15/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên 2.4.4 Chức dò biên gián tiếp(Indirect Method)  Kết dò biên theo phương pháp Trang 16/25 Tiểu luận môn xử lý ảnh - Biên phương... I2 -Tính giá trị điểm ảnh theo công thức xấp xỉ G: G=|Gx|+ |Gy| - Nếu giá trị điểm ảnh lớn số màu ảnh gán giá trị ảnh giá trị màu lớn } Trang 10/25 Tiểu luận môn xử lý ảnh - Biên phương pháp... -1 -1 Trang 11/25 Tiểu luận môn xử lý ảnh - Biên phương pháp dò biên Gọi G ma trận điểm thu sau nhân chập ma trận điểm ảnh (của ảnh cần tìm biên)với mặt nạ H2 G ma trận điểm ảnh chứa đường biên

Ngày đăng: 27/06/2014, 03:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w