Phân tích và xử lý ảnh

57 13 0
Phân tích và xử lý ảnh

Đ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

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õ Ở chúng tơi 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 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 4 17 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 23 23 23 40 Ứ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 45 46 46 48 48 50 50 50 50 51 51 53 54 55 57 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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ố 7 8 17 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 29 29 35 36 39 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 47 47 48 49 49 50 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 toá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 + Φ(x) = (an cos nx + bn sin nx) n=1 ∞ ||Φ||2 = π |a0 |2 + (|an |2 + |bn |2 ) n=1 CuuDuongThanCong.com https://fb.com/tailieudientucntt π 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 + (an cos nx + bn sin nx) f (x) = n=1 (1.3) ∞ ||f ||2 = π |a0 |2 + (|an |2 + |bn |2 ) n=1 (1.4) π bn = π π an = 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 = π = π π x cos nxdx = −π π x sin nxdx = −π Do π ∞ f (x) = 2π n=1 π x sin nxdx = 2π (−1)n+1 n (−1)n+1 sin nx n 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 f (x) ≈ a0 + (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 CuuDuongThanCong.com https://fb.com/tailieudientucntt Quay lại với ý nghĩa "trường độ xám" f , ta nhận xét, trường độ xám mà máy ảnh thu từ vật chụp thường khó liên tục Chẳng hạn ta chụp mặt người, đường biên ngăn cách mặt người với môi trường xung quanh rõ ràng bước nhảy lớn giá trị mức xám Đối với ảnh sắc nét, ta thấy có nhiều đường biên ngăn cách miền có mức xám khác Vì vậy, f bị gián đoạn khơng trơn đường Như nói trên, việc loại bỏ sóng có tần số cao làm tăng tính trơn hàm f Do đó, ảnh thu có trường độ xám thay đổi mềm mại hơn, hệ mờ hơn, nhòe hơn, sắc nét ảnh ban đầu Ngược lại, loại bỏ sóng có tần số thấp (tức số hạng ứng với n nhỏ), ta thu hàm ∞ g(x) = (an cos nx + bn sin nx) n=N Hàm g dao động bé quanh giá trị nên xấp xỉ hàm f Việc loại bỏ sóng có tần số thấp làm giá trị trung bình f Tuy nhiên, hàm g phản ánh nhiễu loạn f xung quanh "đường trung bình" Do đó, ảnh g cho thấy chi tiết sắc nét f đường biên, đỉnh, nốt, đốm lập Vì g(x) dao động xung quanh giá trị nên màu ảnh đen Nếu quan sát kỹ cơng thức (1.11) ta thấy để làm ảnh trơn hơn, ta không thiết phải chặt cụt chuỗi Fourier f Thay vào đó, ta nhân số hạng với số h(n) ∞ a0 h(n) (an cos nx + bn sin nx) f1 (x) = h(0) + n=1 (1.6) |h(n)| phải nhỏ n lớn nhằm làm giảm biên độ sóng tần số cao Chú ý tổng hợp hai sóng an cos nx bn sin nx sóng hình sin Thật vậy, ta có an cos nx + bn sin nx = Gọi α ∈ (−π, π] góc thỏa an cos nx + a2n + b2n a2n + b2n bn sin nx a2n + b2n   sin αn = √ a2n  cos αn = an +b2n √ b2n an +bn Thế vào (1.7), ta an cos nx + bn sin nx = = a2n + b2n (sin αn cos nx + cos αn sin nx) a2n + b2n sin(nx + αn ) Do (1.6) viết lại thành ∞ a0 f1 (x) = h(0) + h(n) a2n + b2n sin (nx + αn ) n=1 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt (1.7) 1 u F (u + K) = F1 (u) − WM F2 (u) (2.41) 2 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 43 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 44 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 ả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à 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 đó, toá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 45 CuuDuongThanCong.com https://fb.com/tailieudientucntt Tịnh tiến ảnh lại cách nhân (−1)x+y 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 46 CuuDuongThanCong.com https://fb.com/tailieudientucntt (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% 47 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 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% 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) 48 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hình 3.4: Hàm lọc BLPF Hình 3.5: Hàm lọc GLPF 49 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 (3.11) H(u, v) = + [D0 /D(u, v)]2n 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) 50 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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; 51 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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; 52 CuuDuongThanCong.com https://fb.com/tailieudientucntt dmn = 0; for j = 1:M 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; 53 CuuDuongThanCong.com https://fb.com/tailieudientucntt for u = 1:M for v = 1:N Ptotal = Ptotal + abs(F(u,v))^2; 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; 55 CuuDuongThanCong.com https://fb.com/tailieudientucntt end end end Hàm lọc dùng phương pháp Butterworth Highpass nêu mục 3.2.2 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 56 CuuDuongThanCong.com https://fb.com/tailieudientucntt Tài liệu tham khảo [1] Rafael C Gonzalez and Richard E Woods: Digital Image Processing, Second Edition, Prentice-Hall, 2002 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... 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. .. Fourier Trên ta phân tích ứng dụng khai triển Fouirer vào xử lý ảnh chiều Tuy nhiên, ảnh chiều mà ta vừa nói mơ hình tưởng tượng nhằm phát sinh ý tưởng ảnh thực tế mà ta thấy phải ảnh hai chiều... (−1)x+y g(x, y) Nếu ảnh đầu vào ảnh màu (RGB) quy trình xử lý cho Hình 2.5: Sơ đồ xử lí ảnh màu Giải thích đối tượng: a : Ma trận MxNx3 biểu diễn ảnh màu f : Ma trận MxN biểu diễn ảnh xám tương ứng

Ngày đăng: 17/10/2021, 17:13

Hình ảnh liên quan

Hình 1.1: Đồ thị hàm f( x) - Phân tích và xử lý ảnh

Hình 1.1.

Đồ thị hàm f( x) Xem tại trang 5 của tài liệu.
1.2 Ý tưởng xử lý trên miền tần số - Phân tích và xử lý ảnh

1.2.

Ý tưởng xử lý trên miền tần số Xem tại trang 5 của tài liệu.
Trên Hình 1.7, ta thấy chỉ cần lấy tổng 5 số hạng đầu trên trong chuỗi Fourier củaflà đã có một xấp xỉ tốt cho hàmfrồi. - Phân tích và xử lý ảnh

r.

ên Hình 1.7, ta thấy chỉ cần lấy tổng 5 số hạng đầu trên trong chuỗi Fourier củaflà đã có một xấp xỉ tốt cho hàmfrồi Xem tại trang 6 của tài liệu.
Hình 1.3: Đồ thị hàm y= b2 sin 2x - Phân tích và xử lý ảnh

Hình 1.3.

Đồ thị hàm y= b2 sin 2x Xem tại trang 7 của tài liệu.
Hình 1.2: Đồ thị hàm y= b1 si nx - Phân tích và xử lý ảnh

Hình 1.2.

Đồ thị hàm y= b1 si nx Xem tại trang 7 của tài liệu.
Hình 1.5: Đồ thị hàm y= b4 sin 4x - Phân tích và xử lý ảnh

Hình 1.5.

Đồ thị hàm y= b4 sin 4x Xem tại trang 8 của tài liệu.
Hình 1.8: Đồ thị hàm y= cos x, y= cos 3x, y= cos 9x - Phân tích và xử lý ảnh

Hình 1.8.

Đồ thị hàm y= cos x, y= cos 3x, y= cos 9x Xem tại trang 9 của tài liệu.
Hình 1.9: Các pixel của ảnh số - Phân tích và xử lý ảnh

Hình 1.9.

Các pixel của ảnh số Xem tại trang 17 của tài liệu.
Hình 2.1: Đồ thị hàm |G| - Phân tích và xử lý ảnh

Hình 2.1.

Đồ thị hàm |G| Xem tại trang 29 của tài liệu.
Hình 2.1 là đồ thị của |G| ứng với M= 16, K= 4, A= 5. Ta có thể thấy ngay rằng trên khoảng [0, 8], giá trị|G(u)|có xu hướng giảm dần khiulớn (nhưng không giảm theo nghĩa|G(u)| ≥ |G(u+ 1)|) - Phân tích và xử lý ảnh

Hình 2.1.

là đồ thị của |G| ứng với M= 16, K= 4, A= 5. Ta có thể thấy ngay rằng trên khoảng [0, 8], giá trị|G(u)|có xu hướng giảm dần khiulớn (nhưng không giảm theo nghĩa|G(u)| ≥ |G(u+ 1)|) Xem tại trang 30 của tài liệu.
Theo Hình 2.3 thì |F (u,v)| càng nhỏ khi (u,v) càng gần M2 ,N 2. Do đó, các sóng - Phân tích và xử lý ảnh

heo.

Hình 2.3 thì |F (u,v)| càng nhỏ khi (u,v) càng gần M2 ,N 2. Do đó, các sóng Xem tại trang 35 của tài liệu.
Hình 2.4: (a) Trước khi dời trục, (b) Sau khi dời trục - Phân tích và xử lý ảnh

Hình 2.4.

(a) Trước khi dời trục, (b) Sau khi dời trục Xem tại trang 36 của tài liệu.
Hình 2.5: Sơ đồ xử lí ảnh màu Giải thích các đối tượng: - Phân tích và xử lý ảnh

Hình 2.5.

Sơ đồ xử lí ảnh màu Giải thích các đối tượng: Xem tại trang 39 của tài liệu.
Hình 3.1: Hàm lọc ILPF - Phân tích và xử lý ảnh

Hình 3.1.

Hàm lọc ILPF Xem tại trang 47 của tài liệu.
Hình 3.3: (a) Ảnh với kích thước 50 0x 500 pixels (b) Phổ Fourier của ảnh. Các vòng tròn với bán kính lần lượt là 5, 15, 30, 80, và 230 pixel. - Phân tích và xử lý ảnh

Hình 3.3.

(a) Ảnh với kích thước 50 0x 500 pixels (b) Phổ Fourier của ảnh. Các vòng tròn với bán kính lần lượt là 5, 15, 30, 80, và 230 pixel Xem tại trang 48 của tài liệu.
Hình 3.5: Hàm lọc GLPF - Phân tích và xử lý ảnh

Hình 3.5.

Hàm lọc GLPF Xem tại trang 49 của tài liệu.
Hình 3.4: Hàm lọc BLPF - Phân tích và xử lý ảnh

Hình 3.4.

Hàm lọc BLPF Xem tại trang 49 của tài liệu.
Hình 3.6: (a) Ảnh nhòe, (b) Ảnh sau khi được lọc Butterworth với D0 = 320, n= 2 3.2.3Lọc tần số cao Gauss - Phân tích và xử lý ảnh

Hình 3.6.

(a) Ảnh nhòe, (b) Ảnh sau khi được lọc Butterworth với D0 = 320, n= 2 3.2.3Lọc tần số cao Gauss Xem tại trang 50 của tài liệu.

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