Xử lý ảnh đang là một lĩnh vực đươc quan tâm và đã trở thành một phần rất quan trọng trọng , liên quan đến nhiều nghành khác như : hệ thống tin học , lý thuyết thông tin , lý thuyết thống kê , trí
Trang 1Bài t ập lớn xử lý ảnh
Đề tài
Đề 7 : Tìm hiểu về các phép lọc số , khảo sát và lập trình thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu
Giáo viên hướng dẫn: Nguyễn Thị Hoàng Lan
Nhóm sinh viên th ực hiện :
Lê Trí Dũng
Trang 2
Lời nói đầu
Xử lý ảnh đang là một lĩnh vực đươc quan tâm và đã trở thành một phần rất quan trọng trọng , liên quan đến nhiều nghành khác như : hệ thống tin học , lý thuyết thông tin , lý thuyết thống kê , trí tuệ nhân tạo , nhận dạng Đây là một môn khoa học tương đối mới mẻ so với nhiều nghành khoa học khác Nó gồm nhiều quá trình liên tục Đầu tiên là thu nhận ảnh từ camera , vệ tinh hay các bộ cảm ứng , …Tín hiệu lấy vào sẽ được số hóa thành tín hiệu số và chuyển sang giai đoạn xử lý , phân tích hay lưu trữ lại Trong quá trình học , chúng em đặc biệt hứng thú với các phương pháp lọc số để xử lý ảnh Chính vì vậy nhóm em đã chọn đề tài : " Tìm hiểu về các phép lọc số , khảo sát và lập trình thử nghiệm các ứng dụng của phép lọc trên miền tần số với xử lý ảnh màu "
Đây là một đề tài rất hay, đặc biệt tạo nên nhiều ảnh với các mục đích của người dùng Chúng em đã tìm kiếm và học hỏi từ cô và từ tài liệu rất nhiều cùng với quá trình xây dựng ứng dụng , chúng em đã rút ra được rất nhiều kinh nghiệm thực tế cũng như kiến thức sâu hơn về môn học , có thể trả lời được những thắc mắc từ lâu Tuy nhiên do thời gian làm bài tập lớn không có nhiều , cũng chưa có nhiều kinh nghiệm , tài liệu đầy đủ về lĩnh vực này , nên đề tài của chúng em khó có thể tránh khỏi thiếu xót , nhưng cũng đã đạt được thắng lợi ban đầu Chúng em xin cám ơn cô đã hướng dẫn giúp chúng em hoàn thành bản báo cáo này Em xin chân thành cảm ơn Nhóm sinh viên : Nguyễn Trung Giang 20070911
Lê Trí Dũng 20070553
Trần Đức Ánh 20073580
Trang 3
Mục lục
Ph ần I : Tìm hiểu về các phép lọc số
1. Khái quát về phép lọc ảnh
2. Các bộ lọc số
2.1.Định nghĩa và mô hình
2.2.Phân loại bộ lọc
- Bộ lọc có đáp ứng xung hữu hạn FIR
- Bộ lọc có đáp ứng xung vô hạn IIR
2.3.Các bộ lọc số thông dụng
- Bộ lọc trung bình
- Bộ lọc thông thấp
- Bộ lọc Laplace
- Bộ lọc thông cao
Ph ần II : Khảo sát và xây dựng ứng dụng các phép lọc trên miền tần số
1. Cơ sở lý thuyết
- Hạn chế của xử lý 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
2. Các bộ lọc
2.1. Lọc thông thấp
-Lọc tần số thấp Idea
- Lọc tần số thấp Gauss
- Lọc tần số thấp Butterworth
2.2. Lọc thông cao
-Lọc thông cao từ lọc thông
-Lọc tần số thấp Idea
- Lọc tần số thấp Gauss
- Lọc tần số thấp Butterworth
3. Xây dựng ứng dụng
Trang 4Ph ần I : Tìm hiểu về các phép lọc số
1. Khái quát về phép lọc ảnh
Phép lọc ảnh được sử dụng nhiều trong xử lý ảnh , được dùng trong giảm nhiễu , làm nét ảnh , cũng như trong phát hiện cạnh , biên ảnh …Các phép lọc ảnh chủ yếu được sử dụng để ngăn chặn các tần số cao trong hình ảnh , như làm mịn ảnh hay tần số thấp như phát hiện cạnh trong hình ảnh Các bộ lọc có thể chia làm
2 loại theo phép toán : lọc tuyến tính và lọc phi tuyến Phép lọc tuyến tính là các phép lọc có bản chất là lọc tần số như lọc trung bình, lọc thông thấp, lọc thông cao, lọc đạo hàm Ngược lại các phép lọc phi tuyến bao gồm lọc trung vị, lọc đồng hình, lọc với k láng giềng gần nhất, lọc hạng r ….
Các phép lọc ảnh đều sử dụng cách xử lý cục bộ, tức là điểm ảnh đầu ra chỉ chịu ảnh hưởng của 1 số điểm ảnh lân cận theo kĩ thuật mặt nạ Người ta cũng sử dụng phép nhân chập rời rạc để thực hiện bộ lọc.
2.1 Định nghĩa và mô hình
Trang 5Một hình ảnh có thể được lọc trong miền tần số hoặc trong miền không gian Trong kĩ thuật lọc miền không gian ta sử dụng một mặt nạ , tổ hợp điểm ảnh từ ảnh hưởng của các điểm lân cận Trong miền không gian ta sẽ dùng phép nhân chập tín hiệu ảnh đầu vào với bộ lọc số :
Y (m,n ) = H(k,l ) * X(m,n )
Với K*L << M * N
Hình 1 Bộ lọc 3*3
Ma trận bộ lọc còn được gọi là ma trận hạt nhân Các ma trận hạt nhân có thể có nhiều kích thước tùy ý, phổ biến nhất là ma trận 3*3 (hình 1) , ngoài ra trong các trường hợp cụ thể có thể sử dụng các bộ lọc 5*5 hay 7*7 Bộ lọc trong miền không gian với ma trận hạt nhân khá trực quan và dễ thực hiện Nó phù hợp với cảm quan của chúng ta Tuy nhiên cũng chính vì khá đơn giản nên nó không có được sự tinh
tế Mặt nạ thường có các giá trị dương và đối xứng, nhưng không nhất thiết phải như vậy Nó có thể được chọn theo một phương pháp nào đó mà không thể trực quan và một trong các phương pháp đó là lọc trên miền tần số
Phương pháp lọc trên miền tần số đơn giản là thực hiện các phép biến đổi ảnh trên miền tần số Các tín hiệu đầu vào, đầu ra của ảnh, các bộ lọc đều được biến về miền tần số
Y(u,v ) = X(u,v ) * H(u,v)
Trang 6Với Y(u,v ) = DFT (Y(m,n));
X(u,v) H(u,v ) = DFT ( X(m,n ) * H(k,l) )
Bộ lọc trên miền tần số có 2 loại là bộ lọc thông thấp và thông cao Bộ lọc thông thấp thường được sử dụng để làm mờ ảnh, giảm nhiễu,bộ lọc thông cao thì được sử dụng để làm sắc nét cạnh, biên làm cho ảnh rõ nét hơn Thực ra bản chất của phép lọc số đều sử dụng lọc tần số , chỉ là thực hiện trên miền không gian hay miền tần số mà thôi
Hình 2 Mô hình bộ lọc
2.2.Phân loại bộ lọc
- Bộ lọc có đáp ứng xung hữu hạn FIR
- Bộ lọc có đáp ứng xung vô hạn IIR
Ph ần II : Khảo sát và xây dựng ứng dụng các phép lọc trên miền tần số
Kết luận
Mean Filter - noise reduction NR using mean of neighborhood
Median Filter - NR using median of neighborhood
Gaussian Smoothing - NR using convolution with a Gaussian smoothing kernel
Conservative Smoothing - NR using maximum and minimum of neighborhood
Crimmins Speckle Removal - more complex NR operator
Frequency Filters - high and low pass image filters, etc
Laplacian/Laplacian of Gaussian Filter - edge detection filter
Trang 7Unsharp Filter - edge enhancement filter
Mean Filter
Common Names: Mean filtering, Smoothing, Averaging, Box filtering
Mô tả :
giảm nhiễu trong ảnh
Nguyên lý :
Ý tưởng của bộ lọc này đơn giản chỉ là thay thế từng giá trị pixel trong ảnh với các giá trị trung bình của các pixel “hàng xóm”, bao gồm chính nó Điều này có tác dụng loại bỏ các giá trị pixel không đại diện cho môi trường xung quanh Mean filtering thường được coi như là convolution filter, chúng giống nhau ở chỗ cùng dựa trên một hạt nhân đại diện cho tất cả các hình dạng kích thước của cả khối được lấy mẫu Thường thì người ta sử dụng hạt nhân 3*3 hình vuông Hạt nhân 5*5 cũng có thể được sử dụng và nó làm mịn nặng hơn 3*3
Trang 8Figure 1 Khối 3*3 thường được sử dụng trong Mean filter
Ví dụ :
Mean filtering được sử dụng phổ biến nhất trong việc giảm nhiễu cho hình ảnh , chúng ta lấy một ví dụ minh họa như sau :
Figure 2a Ảnh gốc Figure 2b Ảnh bị nhiễu
Trang 9Figure 2c Ảnh sử dụng lọc 3*3 Figure 2d Ảnh sử dụng lọc 5*5
Rõ ràng khi sử dụng bộ lọc có kích thước 3*3 thì nhiễu giảm đi nhưng ảnh “mềm” hơn ( hình 2.c) Nếu chúng ta tăng kích thước bộ lọc lên 5*5 thì ảnh sẽ có rất ít nhiễu và ít các thành phần tần số cao (hình 2.d) Ta thấy ảnh trong hình 2d ảnh ko giảm nhiễu nhiều nhưng độ mờ thì giảm đi đáng kể Có thể thấy 2 vấn đề chính với mean filter, đó là :
điểm ảnh trong khối của nó
cho ảnh bị mờ góc cạnh , rất không tốt cho ảnh có yêu cầu hình ảnh sắc nhọn ở đầu ra
Cả 2 vấn đề có thể được giải quyết với medium filter , nhưng bù lại nó có thời gian tính toán nhanh hơn Tiếp theo ta sẽ cùng xét đến medium filter
Median Filter
Các bộ lọc trung bình thường được sử dụng để giảm nhiễu trong một hình ảnh, phần nào giống như Mean Filter Tuy nhiên, nó giải quyết được vấn đề tốt hơn
Nguyên lý
Giống như Mean Filter, Medium Filter xem xét từng điểm ảnh trong hình ảnh lần lượt, và kiểm tra các pixel gần đó của nó để quyết định nó có là đại diện cho khối ảnh hay không Thay vì chỉ đơn giản là thay thế các giá trị pixel với trung bình của các giá trị pixel lân cận, nó thay thế nó với trung bình của các giá trị Giá trị trung bình này được tính toán bằng cách đầu tiên phân loại tất cả các giá trị điểm ảnh từ các khối xung quanh vào số thứ tự và sau đó thay thế các điểm ảnh được coi là có giá trị pixel trung bình (Nếu các khối được xem xét có chứa một số chẵn các pixel, với mức trung bình của hai giá trị pixel trung được sử dụng.) Hình 3 mô tả một tính ví dụ
Trang 10Hình 3 Phương pháp Medium Filter
Hình 3 tính giá trị trung bình của một khối pixel Như có thể thấy, giá trị pixel trung tâm của
150 là khá không đại diện của các điểm ảnh xung quanh và được thay thế bằng giá trị trung bình:
124 Một khu phố 3 × 3 hình vuông được sử dụng ở đây Một khối lớn hơn sẽ tạo ra ảnh có độ mịn nghiêm trọng hơn
Bằng cách tính toán giá trị trung bình của một khu phố hơn là có nghĩa là bộ lọc, bộ lọc trung bình có hai ưu điểm chính trên có nghĩa là bộ lọc:
* Số trung vị là trung bình mạnh mẽ hơn so với trung bình và vì vậy rất không đại diện duy nhất một điểm ảnh trong vùng lân cận sẽ không ảnh hưởng đến giá trị trung bình đáng kể
* Kể từ khi giá trị trung bình thực sự phải là giá trị của một trong những điểm ảnh trong khu phố, các trung bình lọc không tạo ra giá trị pixel mới không thực tế khi lọc nằm giữa một cạnh Vì
lý do này, các bộ lọc trung bình được bảo quản tốt hơn tại các cạnh sắc nét hơn có nghĩa là bộ lọc
Ví dụ :
Trang 11Figure 3a Ảnh gốc Figure 3b Ảnh bị nhiễu
Figure 3c Ảnh sử dụng lọc 3*3 Figure 3d Ảnh sử dụng lọc 7*7
Một trong những vấn đề lớn với các bộ lọc trung bình là nó là tương đối tốn kém và phức tạp để tính toán Để tìm các trung bình nó là cần thiết để sắp xếp tất cả các giá trị trong khu phố vào số thứ tự và điều này là tương đối chậm, ngay cả với các thuật toán sắp xếp nhanh như
quicksort Các thuật toán cơ bản có thể, tuy nhiên, được nâng cao phần nào tốc độ Một kỹ thuật phổ biến là để thông báo rằng khi các cửa sổ khu phố được trượt trên ảnh, rất nhiều các điểm ảnh trong cửa sổ đều giống nhau từ một trong những bước kế tiếp, và tương đối đặt hàng của các với nhau sẽ rõ ràng là không có thay đổi Các thuật toán thông minh sử dụng các này để cải thiện hiệu suất
Gaussian Smoothing
Trang 12Common Names: Gaussian smoothing
Làm mịn Gaussian là một phương pháp chập 2-D được sử dụng để `mờ" hình ảnh và loại bỏ chi tiết và nhiễu Nó tương tự như các Mean Filter, nhưng nó sử dụng một hạt nhân khác nhau mà đại diện cho hình dạng của một Gaussian (`hình chuông ') cái bướu Hạt nhân này có một số tính chất đặc biệt được nêu chi tiết dưới đây
The Gaussian distribution in 1-D has the form:
Phân phối Gaussian trong một chiều có dạng :
là chuẩn phân phối Phân phối này được minh họa như hình 4
Figure 4 1-D Gaussian distribution with mean 0 and =1
Trang 13Trong không gian 2 chiều phân phối Gauss có dạng
Phân phối này được minh họa như sau :
Figure 5 2-D Gaussian distribution with mean (0,0) and =1
Ý tưởng làm mịn Gaussian là sử dụng phân bố 2-D là một chức năng lây lan `điểm, và điều này đạt được bằng cách tích chập Kể từ khi hình ảnh được lưu giữ như là một tập hợp các điểm ảnh riêng rẽ chúng ta cần phải tạo ra một xấp xỉ rời rạc với hàm Gaussian trước khi chúng tôi có thể thực hiện tích chập Về lý thuyết, sự phân bố Gaussian là khác không ở khắp mọi nơi, mà sẽ đòi hỏi một hạt nhân tích chập vô cùng lớn, nhưng trong thực tế nó không có hiệu quả hơn khoảng ba độ lệch chuẩn từ trung bình,
và vì vậy chúng tôi có thể cắt các hạt nhân vào thời điểm này Hình 3 cho thấy một hạt nhân nguyên-phù
hợp chập có giá trị xấp xỉ một Gaussian với một là 1.0.
Trang 14Figure 3 Discrete approximation to Gaussian function with =1.0
Once a suitable kernel has been calculated, then the Gaussian smoothing can be performed using
equation for the 2-D isotropic Gaussian shown above is separable into x and y components Thus the 2-D convolution can be performed by first convolving with a 1-D Gaussian in the x direction, and then convolving with another 1-D Gaussian in the y direction (The Gaussian is in fact the only
completely circularly symmetric operator which can be decomposed in such a way.) Figure 4
shows the 1-D x component kernel that would be used to produce the full kernel shown in Figure 3
(after scaling by 273, rounding and truncating one row of pixels around the boundary because they
mostly have the value 0 This reduces the 7x7 matrix to the 5x5 shown above.) The y component
is exactly the same but is oriented vertically
Khi một hạt nhân phù hợp đã được tính toán, sau đó là làm mịn Gauss có thể được thực hiện bằng cách sử dụng các phương pháp chập tiêu chuẩn chập Các trên thực tế có thể được thực hiện khá nhanh chóng kể từ khi phương trình cho 2-D đẳng hướng Gaussian hiển thị ở trên là tách thành các thành phần x và y Do đó, chập 2-D có thể được thực hiện bằng cách đầu tiên convolving với một Gaussian 1-D theo hướng x, và sau đó convolving với một Gaussian 1-D theo hướng y (Gaussian
là trong thực tế, các nhà điều hành chỉ hoàn toàn tròn đối xứng có thể được phân hủy theo cách như vậy.) Hình 4 cho thấy 1-D x thành phần hạt nhân mà có thể được sử dụng để sản xuất hạt nhân toàn thể hiện trong hình 3 (sau khi mở rộng quy mô của 273 , làm tròn số và cắt xén một hàng các điểm ảnh xung quanh ranh giới, vì họ chủ yếu có giá trị 0 Điều này làm giảm các ma trận 7x7 đến 5x5 hiển thị ở trên.) Các thành phần y là chính xác giống nhau nhưng được định hướng theo chiều dọc
Trang 15Figure 4 One of the pair of 1-D convolution kernels used to calculate the full kernel shown in Figure 3 more quickly
A further way to compute a Gaussian smoothing with a large standard deviation is to convolve an image several times with a smaller Gaussian While this is computationally complex, it can have applicability if the processing is carried out using a hardware pipeline
The Gaussian filter not only has utility in engineering applications It is also attracting attention from computational biologists because it has been attributed with some amount of biological
plausibility, e.g some cells in the visual pathways of the brain often have an approximately
Gaussian response
Một cách khác để tính toán một mịn Gaussian với một độ lệch chuẩn lớn là cây dây leo một hình ảnh nhiều lần với một Gaussian nhỏ hơn Trong khi điều này được tính toán phức tạp, nó có thể có ứng dụng nếu chế biến được thực hiện bằng cách sử dụng một đường ống dẫn phần cứng
Các bộ lọc Gaussian không chỉ có ích trong các ứng dụng kỹ thuật Nó cũng thu hút sự chú ý từ các nhà sinh học tính toán bởi vì nó có được là do có một số lượng sự thật sinh học, ví dụ: một số
tế bào trong con đường thị giác của não bộ thường có một phản ứng khoảng Gaussian
Guidelines for Use
degree of smoothing is determined by the standard deviation of the Gaussian (Larger standard deviation Gaussians, of course, require larger convolution kernels in order to be accurately
represented.)
The Gaussian outputs a `weighted average' of each pixel's neighborhood, with the average
weighted more towards the value of the central pixels This is in contrast to the mean filter's
uniformly weighted average Because of this, a Gaussian provides gentler smoothing and preserves edges better than a similarly sized mean filter
Hiệu quả của việc làm mịn Gaussian blur là một hình ảnh, trong một thời trang tương tự như có nghĩa là bộ lọc Mức độ làm mịn được xác định bởi độ lệch chuẩn của các Gaussian (Lớn hơn độ lệch chuẩn Gaussians, tất nhiên, yêu cầu nhân chập lớn hơn để được chính xác đại diện.)
Gaussian Các kết quả trung bình `trọng 'của vùng lân cận của mỗi điểm ảnh, với bình quân nhiều hơn đối với giá trị của điểm ảnh trung tâm Điều này trái ngược với mức trung bình có nghĩa là bộ lọc trọng của thống nhất Bởi vì điều này, Gaussian một cung cấp làm mịn nhẹ nhàng và bảo toàn các cạnh tốt hơn so với một kích thước tương tự như vậy có nghĩa là bộ lọc