MỤC LỤC
Chương I: TỔNG QUAN INTERNET & INTRANET .4
I. Internet là gì ?.4
II. Intranet là gì ?.4
III. Internet Information Server là gì ?.4
IV. Internet Information Server làm việc như thế nào ?.5
Chương 2: ACTIVE SERVER PAGES.12
I. Giới thiệu Active Server Pages.12
II. Cách viết các file ASP Script .13
III. Công nghệ ACTIVE SERVER PAGE (ASP).18
IV. Phương thức kết nối ADO.26
Chương 3: MÔ TẢ VÀ PHÂN TÍCH HỆ THỐNG.32
I. Mô tả bài toán:.32
II. Phân tích hệ thống:. .36
Chương 4: DEMO CHƯƠNG TRÌNH .54
I. Mô tả bài toán:.54
II. Phân tích hệ thống: .56
II. Phân tích hệ thống:. 58
KẾT LUẬN VÀ ĐÁNH GIÁ .62
TÀI LIỆU THAM KHẢO .63
19 trang |
Chia sẻ: netpro | Lượt xem: 4622 | Lượt tải: 5
Bạn đang xem nội dung tài liệu Đề 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, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài tập lớn xử lý ảnh
Giới thiệu qua đề tài
Đề 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 :
Nguyễn Trung Giang
Trần Đức Ánh
Lê Trí Dũng
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
Mục lục
Phần I : Tìm hiểu về các phép lọc số
Khái quát về phép lọc ảnh
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ố
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
Các bộ lọc
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
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
Xây dựng ứng dụng
Phần I : Tìm hiểu về các phép lọc số
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
Mộ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)
Vớ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
Unsharp Filter - edge enhancement filter
Mean Filter
Common Names: Mean filtering, Smoothing, Averaging, Box filtering
Mô tả :
Mean filtering là phương pháp lọc khá đơn giản , trực quan và dễ thực hiện việc làm mịn hình ảnh , nghĩa là giảm cường độ biến đổi giữa một pixel và pixel kế tiếp . Nó thường được dùng để 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.
Figure 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
Figure 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à :
Một pixel có giá trị khác nhiều với các giá trị khác xung quanh sẽ ảnh hưởng đến tất cả điểm ảnh trong khối của nó .
Với các khối ở cạnh, góc bộ lọc sẽ phải nội suy ra giá trị cho các điểm ảnh, từ đó sẽ làm 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ụ.
Hì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ụ :
Figure 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
Common 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
Trong 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.
Figure 3 Discrete approximation to Gaussian function with =1.0
Once a suitable kernel has been calculated, then the Gaussian smoothing can be performed using standard convolution methods. The convolution can in fact be performed fairly quickly since the 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.
Figure 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
The effect of Gaussian smoothing is to blur an image, in a similar fashion to the mean filter. The 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.
One of the principle justifications for using the Gaussian as a smoothing filter is due to its frequency response. Most convolution-based smoothing filters act as lowpass frequency filters. This means that their effect is to remove high spatial frequency components from an image. The frequency response of a convolution filter, i.e. its effect on different spatial frequencies, can be seen by taking the Fourier transform of the filter. Figure 5 shows the frequency responses of a 1-D mean filter with width 5 and also of a Gaussian filter with = 3.
Một trong những luận cứ nguyên tắc để sử dụng Gaussian như một bộ lọc làm mịn là do đáp ứng tần số của nó. Hầu hết các bộ lọc dựa trên chập làm mịn làm lowpass bộ lọc tần số. Điều này có nghĩa là hiệu ứng của họ là để loại bỏ các thành phần tần số cao không gian từ một hình ảnh. Các đáp ứng tần số của tích chập một bộ lọc, nghĩa là hiệu ứng của nó trên tần số khác nhau về không gian, có thể được xem bằng cách biến đổi Fourier của các bộ lọc. Hình 5 cho thấy các phản ứng tần số của một 1-D có nghĩa là bộ lọc với độ rộng 5 và cũng là của một bộ lọc Gaussian với eqn: eqnsigma = 3.
Figure 5 Frequency responses of Box (i.e. mean) filter (width 5 pixels) and Gaussian filter ( = 3 pixels). The spatial frequency axis is marked in cycles per pixel, and hence no value above 0.5 has a real meaning.
Both filters attenuate high frequencies more than low frequencies, but the mean filter exhibits oscillations in its frequency response. The Gaussian on the other hand shows no oscillations. In fact, the shape of the frequency response curve is itself (half a) Gaussian. So by choosing an appropriately sized Gaussian filter we can be fairly confident about what range of spatial frequencies are still present in the image after filtering, which is not the case of the mean filter. This has consequences for some edge detection techniques, as mentioned in the section on zero crossings. (The Gaussian filter also turns out to be very similar to the optimal smoothing filter for edge detection under the criteria used to derive the Canny edge detector.)
Hình 5 Tần số đáp ứng của Box (tức là trung bình) bộ lọc (rộng 5 điểm ảnh) và bộ lọc Gaussian (eqn: eqnsigma = 3 điểm). Các trục tần số không gian được đánh dấu theo chu kỳ mỗi điểm ảnh, và do đó không có giá trị trên 0,5 có một ý nghĩa thực sự.Cả hai bộ lọc suy nhược tần số cao hơn tần số thấp, nhưng có nghĩa là cuộc triển lãm bộ lọc đáp ứng tần số dao động của nó. Các Gaussian mặt khác cho thấy không có dao động. Trong thực tế, hình dạng của đường cong đáp ứng tần số là chính nó (nửa) Gaussian. Vì vậy, bằng cách chọn một cách thích hợp có kích thước bộ lọc Gaussian chúng ta có thể khá tự tin về những gì loạt các tần số không gian vẫn còn hiện diện trong hình ảnh sau khi lọc, mà không phải là trường hợp có nghĩa là bộ lọc. Điều này có hậu quả đối với một số kỹ thuật phát hiện biên, như đã đề cập ở phần trên không qua lại. (Các bộ lọc Gaussian cũng hóa ra là rất tương tự như các bộ lọc làm mịn tối ưu để phát hiện cạnh theo các tiêu chuẩn được sử dụng để lấy được phát hiện cạnh khôn ngoan.)
Các file đính kèm theo tài liệu này:
- Xử lý ảnh trên miền tần số.docx