Phân tích và xử lý ảnh xử lý ảnh trên miền tần số toán tin

58 49 1
Phân tích và xử lý ảnh  xử lý ảnh trên miền tần số  toán tin

Đ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

Bộ mơn TỐN – TIN ỨNG DỤNG Xử lý ảnh miền tần số Phạm Ngọc Tuân 0611241 Nguyễn Quốc Thông 0611196 Đặng Nguyễn Đăng Nguyên 0611137 GVHD: TS Phạm Thế Bảo TP HCM 13-11-2009 Lời nói đầu Xử lý ảnh số (Digital Image Processing) hiểu theo nghĩa rộng bao gồm tất thao tác ảnh số tăng cường ảnh, phục hồi ảnh, nhận dạng, phân đoạn ảnh, Tuy nhiên xét theo nghĩa hẹp, hay nghĩa cổ điển, quy trình xử lý mà đầu vào ảnh số, đầu ảnh số Nói nghĩa việc nhận dạng ảnh không nằm phạm vi xử lý theo nghĩa Thay vào đó, việc xử lý ảnh hiểu theo nghĩa tự nhiên tăng cường ảnh, tức làm ảnh trở nên đẹp hơn, tốt hay rõ Ở quan tâm đến khía cạnh Về mặt lý thuyết, có nhiều phương pháp tăng cường ảnh, nhìn chung chúng thuộc hai loại sau: xử lý miền không gian xử lý miền tần số Xử lý ảnh miền không gian trực quan không đủ sắc sảo không đáp ứng yêu cầu cao ảnh Với lý vậy, viết nhằm giới thiệu tổng quan phương pháp tăng cường ảnh miền tần số Ở đây, mô tả cách chi tiết sở lý thuyết phương pháp này, tập trung vào ứng dụng cụ thể Tuy cố gắng viết chắn khơng thể tránh khỏi sai sót Vì chúng tơi mong nhận ý kiến chân thành từ độc giả Mọi đóng góp xin liên hệ nhóm tác giả: Phạm Ngọc Tuân Số điện thoại: 0955330136 / 0873074243 Email: pntuanaaa[at]yahoo.com.vn Nguyễn Quốc Thông Số điện thoại: 01283596421 / 0838109167 Email: hitman4756[at]yahoo.com Đặng Nguyễn Đăng Nguyên Số điện thoại: 0989983266 / 06503715263 Email: dangnguyen325[at]yahoo.com.vn Thành phố Hồ Chí Minh, Ngày 13 tháng 11 năm 2009 Mục lục Cơ 1.1 1.2 1.3 sở xử lý ảnh miền tần số Hạn chế xử lý ảnh miền không gian Ý tưởng xử lý miền tần số Tính toán chi tiết 5 18 Cải 2.1 2.2 2.3 tiến kỹ thuật Hạn chế kỹ thuật trước Phương pháp cải tiến Biến đổi Fast Fourier 24 24 24 41 Ứng dụng 3.1 Làm trơn ảnh 3.1.1 Lọc tần số 3.1.2 Lọc tần số 3.1.3 Lọc tần số 3.2 Làm sắc ảnh 3.2.1 Lọc tần số 3.2.2 Lọc tần số 3.2.3 Lọc tần số thấp Ideal thấp Butterworth thấp Gauss cao Ideal cao Butterworth cao Gauss Chương trình Matlab 4.1 Dùng khai triển Fourier 4.2 Dùng FFT 4.2.1 Làm trơn ảnh 4.2.2 Làm sắc ảnh Tài liệu tham khảo 46 47 47 49 50 50 50 50 51 52 52 54 55 56 58 Danh sách hình vẽ 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 Đồ thị hàm f (x) Đồ thị hàm y = b1 sin x Đồ thị hàm y = b2 sin 2x Đồ thị hàm y = b3 sin 3x Đồ thị hàm y = b4 sin 4x Đồ thị hàm y = b5 sin 5x Đồ thị hàm y = 5k=1 bk sin kx y = x Đồ thị hàm y = cos x, y = cos 3x, y = cos 9x Các pixel ảnh số 8 9 10 18 2.1 2.2 2.3 2.4 2.5 Đồ thị hàm |G| Đồ thị hàm g Đồ thị hàm |F | (a) Trước dời trục, (b) Sau dời trục Sơ đồ xử lí ảnh màu 30 30 36 37 40 3.1 3.2 3.3 Hàm lọc ILPF (a)Văn bị rỗ (b)Văn sau lọc tần số thấp (a) Ảnh với kích thước 500 x 500 pixels (b) Phổ Fourier ảnh Các vịng trịn với bán kính 5, 15, 30, 80, 230 pixel Hàm lọc BLPF Hàm lọc GLPF (a) Ảnh nhòe, (b) Ảnh sau lọc Butterworth với D0 = 320, n = 3.4 3.5 3.6 48 48 49 49 50 51 Chương Cơ sở xử lý ảnh miền tần số 1.1 Hạn chế xử lý ảnh miền không gian Biện pháp xử lý ảnh miền không gian trực quan Trên miền không gian, độ xám pixel ảnh biểu thức tuyến tính độ xám pixel kế cận ảnh cũ Như vậy, để làm chi tiết ảnh trơn hơn, ta tính độ xám pixel (x,y) ảnh trung bình cộng độ xám pixel lân cận ảnh cũ 1 f (x + i, y + j) g(x, y) = i,j=−1 (1.1) Nếu muốn làm chi tiết ảnh bật hơn, ta tính độ xám pixel (x,y) ảnh trung bình có trọng số độ xám pixel lân cận ảnh cũ, trọng số ứng với f (x, y) lớn nhất, chẳng hạn: g(x, y) = (f (x − 1, y − 1) + f (x, y − 1) + f (x + 1, y − 1) 10 +f (x − 1, y) + 2f (x, y) + f (x + 1, y) +f (x − 1, y + 1) + f (x, y + 1) + f (x + 1, y + 1)) (1.2) Nói tóm lại, xử lý miền khơng gian phương pháp trực quan, phù hợp với cảm giác tự nhiên chúng ta: nhìn vào biểu thức (1.1) (1.2), ta hình dung phần ảnh kết Tuy nhiên, tính đơn giản mà phương pháp xử lý miền không gian không tinh tế Chẳng hạn hệ số mặt nạ (filter mask) thường chọn dương 1 1 × 1 1 hay 1 × 16 Dĩ nhiên, mơt số trường hợp, mặt nạ chứa hệ số âm Một thí dụ khác mặt nạ thường ma trận đối xứng Hiển nhiên ta thấy mặt nạ không thiết phải ma trận đối xứng Hơn nữa, hệ số mặt nạ không thiết nguyên hay hữu tỷ Đối với trường hợp vậy, hệ số phải chọn phương pháp đó, khơng cịn trực quan trước Phương pháp xử lý ảnh miền tần số số Sự can thiệp sâu sắc tốn học cho ta đối tượng, đại lượng ẩn lớp vỏ trực quan ảnh Do đó, đơn quan sát, phân tích ảnh thị giác ta khơng dễ cảm nhận đại lượng Thay thao tác trực tiếp độ xám pixel (trường độ xám), ta thao tác, xử lý đối tượng 1.2 Ý tưởng xử lý miền tần số Giả sử ta có máy chụp ảnh đặc biệt, chụp đoạn thẳng vật phẳng Khi đó, ảnh ta nhận đoạn thẳng mà điểm có độ xám Độ xám mơ tả hàm biến f Hình 1.1, đoạn [a, b] miền không gian ảnh Miền không gian ảnh lúc xem Hình 1.1: Đồ thị hàm f (x) miền liên tục, miền rời rạc gồm pixel trước Hơn nữa, ta xem [a, b] = [−π, π] Ta nhắc lại định lý quan trọng chuỗi Fourier sau: Cho Φ ∈ L2 (−π, π) Khi ta có khai triển ∞ a0 + (an cos nx + bn sin nx) Φ(x) = n=1 ∞ ||Φ|| = π |a0 |2 + (|an |2 + |bn |2 ) n=1 π bn = π π an = Φ(x) cos nxdx ∀n = 0, 1, 2, Φ(x) sin nxdx ∀n = 1, 2, 3, −π π −π Áp dụng với Φ trường độ xám f : Nếu f ∈ L2 (−π, π) ta có khai triển ∞ a0 f (x) = + (an cos nx + bn sin nx) n=1 (1.3) ∞ ||f ||2 = π |a0 |2 + (|an |2 + |bn |2 ) n=1 (1.4) an = π bn = π π f (x) cos nxdx ∀n = 0, 1, 2, f (x) sin nxdx ∀n = 1, 2, 3, −π π −π Cơng thức (1.3) nói lên hàm f phân tích thành tổng vơ hạn hàm hình sin cos, mà ta gọi sóng Thí dụ Với f (x) = x π = π π an = bn Do x cos nxdx = −π π x sin nxdx = π −π π (−1)n+1 x sin nxdx = 2π n ∞ (−1)n+1 f (x) = 2π sin nx n n=1 Trên Hình 1.7, ta thấy cần lấy tổng số hạng đầu chuỗi Fourier f có xấp xỉ tốt cho hàm f Một điểm đáng lưu ý từ (1.3) là: n lớn hàm an cos nx bn sin nx dao động nhanh quanh giá trị Đó chu kỳ tuần hồn nhỏ n lớn Hình 1.2: Đồ thị hàm y = b1 sin x Hình 1.3: Đồ thị hàm y = b2 sin 2x Hình 1.4: Đồ thị hàm y = b3 sin 3x Hình 1.5: Đồ thị hàm y = b4 sin 4x Hình 1.6: Đồ thị hàm y = b5 sin 5x Hình 1.7: Đồ thị hàm y = k=1 bk sin kx y = x Hình 1.8: Đồ thị hàm y = cos x, y = cos 3x, y = cos 9x n Các sóng an cos nx bn sin nx có chu kỳ 2π , tức có tần số 2π Hình 1.8 n cho ta thấy dao động hàm cos nx với n = 1, 3, Sự dao động nhanh sóng an cos nx bn sin nx gây biến đổi đột ngột giá trị f Chính thành phần (khi n lớn) gây xáo trộn mạnh mẽ cho giá trị hàm f , làm giảm tính trơn f (tức liên tục hay khả vi f ) Tuy nhiên, nhìn vào (1.4) ta thấy chuỗi số ∞ ∞ |bn |2 phải hội tụ |an | n=1 n=1 Vì vậy, ta phải có lim |an | = lim |bn | = n→∞ n→∞ Do đó, sóng an cos nx bn sin nx thay đổi giá trị nhanh biên độ thay đổi nhỏ n lớn Đối với trường hợp f (x) = x Hình 1.7, ta thấy điều rõ: biên độ sóng bn sin nx |bn | = 2π → n → ∞ n Như vậy, ta rút nhận xét: n lớn sóng an cos nx bn sin nx dao động dày đặc với biên độ nhỏ Vì vậy, sóng thể tính "nhiễu" Nhiễu hiểu theo nghĩa làm tính ổn định giá trị f dẫn đến làm giảm tính trơn f Nếu loại bỏ sóng an cos nx bn sin nx n đủ lớn, hàm f xấp xỉ N a0 f (x) ≈ + (an cos nx + bn sin nx) n=1 (1.5) Vế phải (1.5) hàm khả vi liên tục cấp, nghĩa trơn Điều phù hợp với phân tích ảnh hưởng sóng với n lớn mà ta nêu 10 1 u F (u + K) = F1 (u) − WM F2 (u) 2 (2.41) Như vậy, để tính tất F (u) với u = 0, 1, 2, , M − ta cần phải tính u F1 (u), F2 (u) WM Nếu gọi an mn số phép cộng phép nhân cần dùng để tìm F (u) (2.28) ứng với M = 2n chi phí tính tất F1 (u), với u = 0, 1, 2, , K − an−1 + mn−1 Chi phí tính tất F2 (u), với u = 0, 1, 2, , K − an−1 + mn−1 u Để tính F (u) (2.40) (2.41) ta cịn phải tính WM u u WM = e−i2π M = cos 2π u M + i sin 2π u M (2.42) u Nếu dùng (2.42) để tính WM ta phải tốn đến phép tính lượng giác ứng với u tức phải tốn 2M phép tính lượng giác để tính tất F (u) Đó chi phí lớn mà ta muốn né tránh Ta thấy u+1 u WM = WM WM Như vậy, ta cần dùng phép tính lượng giác để tính WM , sau dùng K−1 , , WM , WM Một phép nhân hai phép nhân hai số phức để tính WM u số phức tốn phép nhân số thực phép cộng số thực Do vậy, chi phí tính WM u (2.40) (2.41) phép nhân phép cộng Do đó, để tính hết tất WM với u = 0, 1, , K − ta phải tốn 4K phép nhân 2K phép cộng Như vậy, từ (2.40) (2.41) ta có an = 2an−1 + M + 2K mn = 2mn−1 + 4K + 2K hay an = 2an−1 + 2.2n mn = 2mn−1 + 4.2n Do an = A1 n2n mn = A2 n2n A1 A2 số Do chi phí để tìm DFT f an + mn = (A1 + A2 ) n2n = (A1 + A2 ) M (log M ) tức thuật tốn có độ phức tạp M log M Rõ ràng chi phí tốt nhiều so với chi phí M phương pháp tính thơng thường 44 Tiếp theo, ta ứng dụng thuật toán FFT vào trường hợp chiều Giả sử f = f (x, y) hàm hai biến F = F (u, v) DFT f (x, y) F (u, v) = MN M −1 N −1 xu vy f (x, y) e−i2π( M + N ) (2.43) x=0 y=0 hay F (u, v) = M M −1 N x=0 N −1 vy f (x, y) e−i2π N ux e−i2π M (2.44) y=0 Ứng với x v, ta đặt Axv = N N −1 vy f (x, y) e−i2π N y=0 Khi với x = 0, 1, , M −1 Axv DFT chiều fx (y) = f (x, y) Do đó, chi phí để tính Axv với v = 0, 1, , N − N log N Công thức (2.44) viết lại M −1 ux F (u, v) = Axv e−i2π M (2.45) M x=0 Như vậy, chi phí để tính tất Axv (2.45) M N log N Tiếp theo, ứng với v = 0, 1, 2, , N − 1, vế phải (2.45) DFT gv (x) = Axv Do đó, chi phí để tính tất F (u, v) với u = 0, 1, 2, , M − M log M Do chi phí tính tất F (u, v) (2.45) với u = 0, 1, 2, , M − v = 0, 1, 2, , N − M N log M Tóm lại, chi phí tính tất F (u, v) từ f M N log N + M N log M = M N log(M N ) Thuật tốn tính DFT ngược hồn tồn tương tự DFT thuận, tức có độ phức tạp M N log(M N ) Như Quy trình 2.2 có độ phức tạp M N log(M N ) Rõ ràng chi phí thấp nhiều so với chi phí phương pháp xử lý ảnh khai triển Fourier hai chiều nêu mục 2.1 45 Chương Ứng dụng Trong mục này, ta áp dụng sở lý thuyết lập mục vào toán xử lý ảnh cụ thể Ứng dụng cụ thể mà ta xét tăng cường ảnh Đó việc làm cho ảnh trở nên tốt hơn, đẹp hơn, hay rõ Với ảnh nhịe, ta ln muốn làm cho rõ Khi đó, ta lọc lấy sóng có tần số cao miền tần số, sóng thể thay đổi đột ngột độ xám ảnh Lúc đó, hàm lọc tần số cao (Highpass filter) dùng Hình 3.6 thí dụ minh họa Tuy nhiên, nhiều khơng phải ảnh rõ nét đẹp, chẳng hạn vật thể mà thân xấu ảnh chụp khơng thể đẹp Thậm chí ảnh chụp rõ nét xấu, xấu soi rõ, kỹ Hình 3.2 thí dụ cho thấy điều Do đó, ảnh vậy, ta khơng mong muốn rõ thêm nữa, mà muốn mờ để che bớt phần khuyết điểm vật ảnh Lúc này, ta giữ lại sóng với tần số thấp miền tần số (Lowpass filter), mà bỏ sóng có tần số cao thể độ sắc nét ảnh Với ta, sóng đóng vai trị nhiễu mà thơi Hơn nữa, ta biết việc muốn làm trơn ảnh hay làm sắc ảnh khác cách chọn hàm lọc Do đó, tốn xử lý ảnh cụ thể, hàm lọc phải xác định cách tường minh Đó ngun nhân đời nhiều phương pháp chọn hàm lọc mà ta nêu Trước hết, ta nhắc lại quy trình xử lý ảnh miền tần số: Lọc sóng miền tần số gồm bước Nhân ảnh f với (−1)x+y để tịnh tiến gốc tọa độ biến đổi vào ảnh Tính F (u, v) từ ảnh nhận bước Nhân hàm lọc H(u, v) vào hàm F (u, v) Tính Fourier ngược hàm nhận bước Lấy phần thực hàm nhận bước Tịnh tiến ảnh lại cách nhân (−1)x+y 46 Nếu f (x, y) biểu diễn ảnh nhập vào, F (u, v) biến đổi Fourier Khi miền tần số sau lọc G(u, v) = H(u, v)F (u, v) (3.1) Để có ảnh sau lọc, ta cần lấy Fourier ngược hàm G(u, v) Ảnh lọc = −1 [G(u, v)] (3.2) Có hai kiểu lọc lọc tần số thấp, lọc tần số cao Lọc tần số thấp nghĩa làm suy giảm tần số cao lại giữ lại thành phần có tần số thấp Ngược lại, lọc tần số cao lại giữ lại tần số cao làm yếu tần số thấp 3.1 Làm trơn ảnh Ở Hình 3.2a, ta có đoạn văn bị rỗ, ký tự bị vỡ tạo khoảng trống, mắt dễ dàng đọc kí tự với máy tính việc nhận dạng kí tự bị đứt khó khăn Cách để khắc phục khe hở nhỏ làm nhòe ảnh để lấp khe hở (Hình 3.2b) Các tần số thấp biến đổi Fourier đóng góp lớn cho mức xám vùng trơn ảnh Do để làm trơn ảnh ta phải làm mờ đường biên, tức phải giảm tần số cao Vì ta phải sử dụng kiểu lọc tần số thấp Có ba loại lọc tần số thấp hay dùng Ideal, Butterworth, Gauss 3.1.1 Lọc tần số thấp Ideal Đây cách lọc đơn giản nhất, ta cần bỏ thành phần tần số biến đổi Fourier mà khảng cách tới tâm lớn D0 xác định Ta gọi lọc Ideal tần số thấp (Ideal Lowpass Filter, hay viết tắt ILPF) D(u, v) ≤ D0 D(u, v) > D0 H(u, v) = (3.3) Trong D0 số khơng âm, D(u, v) khoảng cách từ điểm (u, v) tới tâm Nếu ảnh kích thước M × N tâm miền tần số (u, v) = (M/2, N/2), nên D(u, v) = (u − M/2)2 + (v − N/2)2 1/2 (3.4) Tuy nhiên, số D0 khơng mang đầy đủ ý nghĩa, ta cần tiêu chuẩn để xác định D0 Để làm vậy, ta xác định lượng lượng miền xét lượng tổng cộng PT M −1 N −1 PT = P (u, v) u=0 v=0 47 (3.5) Hình 3.1: Hàm lọc ILPF Hình 3.2: (a)Văn bị rỗ (b)Văn sau lọc tần số thấp tỉ lệ phần trăm lượng đường tròn α = 100 P (u, v)/PT u (3.6) v với (u, v) chạy miền Trên Hình 3.2a ta có văn bị lỗi, kí tự bị vỡ tạo khoảng trống, mắt dễ dàng đọc kí tự với máy tính việc nhận dạng kí tự bị đứt khó khăn Cách để khắc phục khe hở nhỏ làm nhòa ảnh để lấp khe hở (Hình 3.2b) Hình 3.3(a) ảnh kích thước 500 x 500 phổ Fourier Hình 3.3(b) Các vịng trịn bán kính 5, 15, 30, 80, 230, bao quanh vùng chứa lượng α tương ứng α = 92.0, 94.6, 96.4, 98, 99.5% 48 Hình 3.3: (a) Ảnh với kích thước 500 x 500 pixels (b) Phổ Fourier ảnh Các vòng tròn với bán kính 5, 15, 30, 80, 230 pixel Hình 3.4: Hàm lọc BLPF 3.1.2 Lọc tần số thấp Butterworth Hàm lọc Butterworth tần số thấp (Butterworth Lowpass Filter, hay BLPF) bậc n với D0 cho trước định nghĩa sau H(u, v) = 1 + [D(u, v)/D0 ]2n (3.7) với D(u, v) định nghĩa (3.4) Không giống ILPF cắt bỏ hoàn toàn thành phần tần số cao, BLPF làm giảm cường độ thành phần tần số, tần số cao cường độ bị giảm nhiều Ví dụ với D(u, v) = H(u, v) = 1, nghĩa thành phần tần số tâm không đổi, H(u, v) = 0.5 D(u, v) = D0 cường độ giảm 50% 49 Hình 3.5: Hàm lọc GLPF 3.1.3 Lọc tần số thấp Gauss Hàm lọc Gauss (Gaussian Lowpass Filter, hay GLPF) định nghĩa sau H(u, v) = e−D (u,v)/2D (3.8) D0 cho thấy trải rộng đường cong Gauss, nghĩa D0 nhỏ hàm lọc H làm giảm tần số cao mạnh hơn, ngược lại Khi D(u, v) = D0 cường độ giảm cịn 0.607 so với ban đầu (Hình 3.5) 3.2 Làm sắc ảnh Do cạnh hay biên vật thể thể qua thành phần tần số cao nên ta sử dụng kiểu lọc tần số cao để làm sắc ảnh Do lọc tần số cao trái ngược với lọc tần số thấp nên hàm lọc tần số cao tính nhờ quan hệ Hhp (u, v) = − Hlp (u, v) (3.9) Hlp (u, v) lọc tần số thấp Phần ta nói đến ba loại lọc tần số cao: ideal, Butterworth, Gauss 3.2.1 Lọc tần số cao Ideal Hàm lọc tần số cao Ideal (Ideal Highpass Filter, hay IHPF) định nghĩa sau H(u, v) = 3.2.2 D(u, v) ≤ D0 D(u, v) > D0 (3.10) Lọc tần số cao Butterworth Hàm lọc tần số cao Butterworth (Butterworth Highpass Filter, hay BHPF) định nghĩa sau H(u, v) = (3.11) + [D0 /D(u, v)]2n 50 Hình 3.6: (a) Ảnh nhịe, (b) Ảnh sau lọc Butterworth với D0 = 320, n = 3.2.3 Lọc tần số cao Gauss Hàm lọc tần số cao Gauss (Gaussian Highpass Filter, hay GHPF) định nghĩa sau 2 H(u, v) = − e−D (u,v)/2D0 (3.12) 51 Chương Chương trình Matlab 4.1 Dùng khai triển Fourier Cơ sở lý thuyết phương pháp nêu phần 1.2 1.3 clc; clear all; a = imread(’7.jpg’); f = rgb2gray(a); [M,N] = size(f); x = linspace(-pi,pi,M+1); y = linspace(-pi,pi,N+1); K = 10; h = zeros(K,K); for i = 1:K for j = 1:K h(i,j) = 1; end end f = zeros(M,N); f = double(f); time = clock; %Tinh a00 a00 = 0; for j = 1:M for k = 1:N a00 = a00 + f(j,k); end end a00 = a00/(M*N)*4; 52 for r = 1:M r for s = 1:N s f_(r,s) = f_(r,s) + 1/4*h(1,1)*a00; %Cong voi so hang thu hai for n = 1:K %Tinh a0n, b0n a0n = 0; b0n = 0; for j = 1:M for k = 1:N a0n = a0n + f(j,k)*(sin(n*y(k+1))-sin(n*y(k))); b0n = b0n + f(j,k)*(cos(n*y(k))-cos(n*y(k+1))); end end a0n = a0n/(M*n)/pi*2; b0n = b0n/(M*n)/pi*2; f_(r,s) = f_(r,s) + 1/2*h(1,n)*(a0n*cos(n*y(s)) + b0n*sin(n*y(s))); end %Cong voi so hang thu ba for m = 1:K %Tinh am0, cm0 am0 = 0; cm0 = 0; for j = 1:M for k = 1:N am0 = am0 + f(j,k)*(sin(m*x(j+1))-sin(m*x(j))); cm0 = cm0 + f(j,k)*(cos(m*x(j))-cos(m*x(j+1))); end end am0 = am0/(N*m)/pi*2; cm0 = cm0/(N*m)/pi*2; f_(r,s) = f_(r,s) + 1/2*h(m,1)*(am0*cos(m*x(r)) + cm0*sin(m*x(r))); end %Cong voi so hang thu tu for m = 1:K for n = 1:K %Tinh amn, bmn, cmn, dmn amn = 0; bmn = 0; cmn = 0; dmn = 0; for j = 1:M 53 for k = 1:N amn = amn + f(j,k)*(sin(m*x(j+1))-sin(m*x(j))) *(sin(n*y(k+1))-sin(n*y(k))); bmn = bmn + f(j,k)*(sin(m*x(j+1))-sin(m*x(j))) *(cos(n*y(k))-cos(n*y(k+1))); cmn = cmn + f(j,k)*(cos(m*x(j))-cos(m*x(j+1))) *(sin(n*y(k+1))-sin(n*y(k))); dmn = dmn + f(j,k)*(cos(m*x(j))-cos(m*x(j+1))) *(cos(n*y(k))-cos(n*y(k+1))); end end amn = amn/(pi*pi*m*n); bmn = bmn/(pi*pi*m*n); cmn = cmn/(pi*pi*m*n); dmn = dmn/(pi*pi*m*n); f_(r,s) = f_(r,s) + h(m,n)*(amn*cos(m*x(r))*cos(n*y(s)) + bmn*cos(m*x(r))*sin(n*y(s)) + cmn*sin(m*x(r))*cos(n*y(s)) + dmn*sin(m*x(r))*sin(n*y(s))); end end end end time1 = etime(clock,time); fprintf(’Thoi gian thuc hien = %g (s)\n’,time1); g = uint8(round(f_)); imshow(g); 4.2 Dùng FFT Cơ sở lý thuyết phương pháp nêu phần 2.2 2.3 Hàm xác định D0 (cutoff frequency) function D0 = cutoffFrequencyCircleShape(F,anpha) [M,N] = size(F); m = floor(M/2); n = floor(N/2); minHalfSize = min(m,n); % Tinh nang luong tong cong Ptotal Ptotal = 0; for u = 1:M for v = 1:N Ptotal = Ptotal + abs(F(u,v))^2; 54 end end % Tinh nang luong xap xi P = Ptotal*anpha/100; D0 = 1; s = abs(F(m,n))^2; while ((s < P)&&(D0 < minHalfSize)) D0 = D0 + 1; uLower = - D0 + m; uUpper = D0 - + m; for u = uLower:uUpper beta = ceil(sqrt((D0-1)^2-(u-m)^2)); gamma = ceil(sqrt(D0^2-(u-m)^2)) - 1; vLower1 = beta + n; vUpper1 = gamma + n; for v = vLower1 : vUpper1 s = s + abs(F(u,v))^2; end vLower2 = n - beta; vUpper2 = n - gamma; for v = vLower2 : vUpper2 s = s + abs(F(u,v))^2; end end end 4.2.1 Làm trơn ảnh Hàm lọc dùng phương pháp Ideal Lowpass nêu mục 3.1.1 function H = idealLowpassFilter(M,N,D0) H = zeros(M,N); m = M/2; n = N/2; for u = 1:M for v = 1:N if(sqrt((u-m)^2+(v-n)^2)D0) H(u,v) = 1; else H(u,v) = 0; end end end Hàm lọc dùng phương pháp Butterworth Highpass nêu mục 3.2.2 56 function H = btwlLowpassFilter(F,M,N,D0,h) H = zeros(M,N); m = M/2; n = N/2; h for u = 1:M for v = 1:N D(u,v) = sqrt(u^2 + v^2); H(u,v) =1./( + (D0./D(u,v)).^(2*h)); end end Hàm lọc dùng phương pháp Gauss Highpass nêu mục 3.2.3 function H = GausslHighpassFilter(F,M,N,D0,h) H = zeros(M,N); m = M/2; n = N/2; for u = 1:M for v = 1:N D(u,v) = sqrt(u^2 + v^2); H(u,v) = 1- exp(-(D(u,v).^2)./(2*(D(u,v).^2))); end end 57 Tài liệu tham khảo [1] Rafael C Gonzalez and Richard E Woods: Digital Image Processing, Second Edition, Prentice-Hall, 2002 ... quy trình xử lý mà đầu vào ảnh số, đầu ảnh số Nói nghĩa việc nhận dạng ảnh khơng nằm phạm vi xử lý theo nghĩa Thay vào đó, việc xử lý ảnh hiểu theo nghĩa tự nhiên tăng cường ảnh, tức làm ảnh trở... (a) Ảnh nhòe, (b) Ảnh sau lọc Butterworth với D0 = 320, n = 3.4 3.5 3.6 48 48 49 49 50 51 Chương Cơ sở xử lý ảnh miền tần số 1.1 Hạn chế xử lý ảnh miền không gian Biện pháp xử lý ảnh miền. .. Ngày 13 tháng 11 năm 2009 Mục lục Cơ 1.1 1.2 1.3 sở xử lý ảnh miền tần số Hạn chế xử lý ảnh miền không gian Ý tưởng xử lý miền tần số Tính tốn chi tiết

Ngày đăng: 07/09/2020, 15:50

Từ khóa liên quan

Mục lục

  • Cơ sở xử lý ảnh trên miền tần số

    • Hạn chế của xử lý ảnh trên miền không gian

    • Ý tưởng xử lý trên miền tần số

    • Tính toán chi tiết

    • Cải tiến kỹ thuật

      • Hạn chế của kỹ thuật trước

      • Phương pháp cải tiến

      • Biến đổi Fast Fourier

      • Ứng dụng

        • Làm trơn ảnh

          • Lọc tần số thấp Ideal

          • Lọc tần số thấp Butterworth

          • Lọc tần số thấp Gauss

          • Làm sắc ảnh

            • Lọc tần số cao Ideal

            • Lọc tần số cao Butterworth

            • Lọc tần số cao Gauss

            • Chương trình Matlab

              • Dùng khai triển Fourier

              • Dùng FFT

                • Làm trơn ảnh

                • Làm sắc ảnh

                • Tài liệu tham khảo

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

Tài liệu liên quan