Lọc ảnh trên miền tần số (sử dụng biến đổi fourier) áp dụng cho ảnh 24 bit

21 4K 44
Lọc ảnh trên miền tần số (sử dụng biến đổi fourier)  áp dụng cho ảnh 24 bit

Đ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 thường, xử lí ảnh thường được thực hiện trên miền không gian, do tính trực quan cao. Nhưng khi thực hiện trên miền không gian, sẽ không đáp ứng được yêu cầu cao về ảnh. Do đó có các phép biến đổi để chuyển ảnh sang miền khác để xử lí, sau đó biến đổi trở lại miền không gian. Các phép biến đổi đó là biến đổi Fourier, biến đổi Cosin rời rạc

I. Giới thiệu Thông thường, xử lí ảnh thường được thực hiện trên miền không gian, do tính trực quan cao. Nhưng khi thực hiện trên miền không gian, sẽ không đáp ứng được yêu cầu cao về ảnh. Do đó có các phép biến đổi để chuyển ảnh sang miền khác để xử lí, sau đó biến đổi trở lại miền không gian. Các phép biến đổi đó là biến đổi Fourier, biến đổi Cosin rời rạc Em chọn đề tài tập lớn của mình là: Lọc ảnh trên miền tần số (sử dụng biến đổi Fourier). Áp dụng cho ảnh 24 bit để tìm hiểu kĩ hơn về vấn đề lọc và nâng cao chất lượng ảnh Cấu trúc của bài báo cáo gồm 3 phần: 1) Giới thiệu bài toán. 2) Các vấn đề liên quan và thuật toán. 1. Biến đổi Fourier rời rạc và tính chất ảnh trong miền tần số 2. Cơ bản về lọc ảnh trong miền tần số 3. Tìm hiểu các bộ lọc trong miền tần số 3) Các bước cài đăt thuật toán 4) Kết luận. II. Các vấn đề liên quan và thuật toán Để giải quyết bài toán này, em đã tìm hiểu và giải quyết các vấn đề sau: - Tìm hiểu về biến đổi Fourier rời rạc 1D và 2D(thuận và ngược) - Tìm hiểu về các thuật toán biến đổi Fourier nhanh - Ý nghĩa về chuyển đổi ảnh sang miền tần số - Cơ bản về lọc ảnh trong miền tần số, các bước thực hiện - Ý nghĩa của các bộ lọc thông thấp, thông cao, thông dải, loại dải - Tìm hiểu thêm về biến đổi Laplace trong miền tần số, bộ lọc High-frequency emphasis(có ý nghĩa trong xử lí ảnh y tế) Chi tiết về từng vấn đề như sau 1. Biến đổi Fourier rời rạc và tính chất ảnh trong miền tần số a. Biến đổi Fourier - Ở đây, ta sẽ tìm hiểu về biến đổi Fourier rời rạc cho tín hiệu 1 chiều và 2 chiều Biến đổi Fourrier cho một tín hiệu có thể hình dung như sau: Biến đổi Fourrier cho một tín hiệu một chiều gồm một cặp biến đổi: - Biến đổi thuận: chuyển sự biểu diễn từ không gian thực sang không gian tần số (phổ và pha). Các thành phần tần số này được gọi là các biểu diễn trong không gian Fourrier của tín hiệu. - Biến đổi ngược: chuyển đổi sự biểu diễn của đối tượng từ không gian Fourrier sang không gian thực. Khai triển Fourrier rời rạc DFT cho một dãy {x(n), n = 0, 1, , N-1} định nghĩa bởi: Với : + e khoảng 2.71828; + i là toạ độ ảo của số phức, với i 2 = -1. Các hàm cơ sở là chính là các hàm sin, cos vì theo đồng nhất thức Euler ta có: đổi Fourier rời rạc ngược được tính như sau: Và DFT cho tín hiệu 2 chiều (với ảnh cấp M*N)       +− − = − = ∑ ∑ = N yv M xu i M x N y eyxfvuF π 2 1 0 1 0 ),(),( 0 ≤ u ≤ M-1, 0 ≤ v ≤ N-1 Và biến đổi Fourier ngược như sau:       + − = − = ∑ ∑ = N yv M xu i M u N v evuF MN yxf π 2 1 0 1 0 ),( 1 ),( 0 ≤ x ≤ M-1, 0 ≤ y ≤ N-1 cũng có thể viết được phương trình phép biến đổi Fourier dưới dạng: ∑∑ − = − =       +++= 1 0 1 0 )( π2 sin)( π2 cos),( 1 ),( N r N c vcur N jvcur N crI N vuF - F(u, v) cũng là số phức: + Phần thực tương ứng với các số hạng cosin + Phần ảo tương ứng với các số hạng sin. * Phân tích phổ Fourier: - Thể hiện thành phần phổ phức: F(u, v) = R(u, v) + jI(u, v), trong đó R(u, v) là phần thực và I(u, v) là phần ảo, → định nghĩa được cường độ và pha của thành phần phổ phức như sau [ ] [ ] 22 ),(),(),( MAGNITUDE vuIvuRvuF +== và       =Φ= ),( ),( tanv)(u,PHASE 1- vuR vuI - Dữ liệu cường độ chứa thông tin độ tương phản, cường độ sáng. - Dữ liệu pha chứa thông tin về vị trí của đối tượng nằm trong một ảnh. b. Tính chất ảnh trong miền tần số: - Các tần số thấp tương ứng với các thành phần thay đổi từ từ của một hình ảnh. - Các tần số cao hơn bắt đầu tương ứng với những thay đổi nhanh về độ sáng như biên của các đối tượng và nhiễu. - Tần số không gian thấp nhất = số hạng tần số 0 tương ứng với ảnh có giá trị không đổi.  Những nhận xét này sẽ được áp dụng như sau: Sau khi ảnh đã được qua phép biến đổi sang miền tần số hoặc miền dãy, ta có thể sửa đổi phổ kết quả. Thông tin tần số cao có thể lược bỏ đi bằng một bộ lọc thông thấp, sẽ gây ra hiệu ứng làm nhoè ảnh (làm mịn), hoặc thông tin tần số thấp có thể được lược bỏ bằng một bộ lọc thông cao, sẽ có khuynh hướng làm sắc nét ảnh. Ta có thể muốn trích chọn thông tin tần số trong các phần cụ thể của phổ bằng bộ lọc thông dải (bandpass filtering). Bộ lọc loại dải (bandreject filtering) có thể được sử dụng để loại bỏ các phần cụ thể của phổ, chẳng hạn để loại bỏ nhiễu không mong muốn. Hãy quan sát công thức sau:  Đây chính là tính khả tách của phép biến đổi Fourier, đươc áp dụng trong biến đổi Fourier nhanh. Nếu có một phép biến đổi 2 chiều là phân tách được, thì kết quả có thể tìm được bằng cách áp dụng liên tiếp hai phép biến đổi 1 chiều. Ban đầu,trong chương trình của mình, em đã áp dụng phép biến đổi Fourier rời rạc thông thường, nhưng do kết quả quá chậm, nên em đã dùng biến đổi Fourier nhanh, dùng giải thuật của Cooley – Tukey(thuật toán cơ số 2)  Xét DFT N điểm, giả sử N = 2 v (N là một lũy thừa của 2): Trong đó: F1(k) và F2(k) lần lượt là DFT N/2 điểm của f1(n) và f2(n) với f1(n) và f2(n) mô tả như sau: f1(n) = x(2n) f2(n) = x(2n+1) Do F1(k) và F2(k) tuần hoàn nên: F1(k) = F1(k + N/2) và F2(k) = F2(k + N/2)và Nên: 2. Cơ bản về lọc ảnh trong miền tần số - Với phép biến đổi Fourier tính đối xứng của phép biến đổi là để lặp lại phổ NxN rời rạc theo mọi hướng cho đến vô vùng. Các thành phần phổ chỉ tăng ở tần số đến số hạng N/2 và sau đó bắt đầu giảm do các thuộc tính đối xứng liên hợp và có chu kỳ của phép biến đổi Fourier. Với kiểu đối xứng này, ta thường dịch chuyển gốc của phổ đến tâm để dùng cho các mục đích hiển thị và cho việc lọc. Phép dịch chuyển này được thực hiện nhờ sử dụng một tính chất của phép biến đổi Fourier được gọi là tính chất tịnh tiến tần số, nó sẽ dịch chuyển gốc của phổ về tâm bằng cách nhân ảnh gốc với (-1) r+c trước khi đem thực hiện phép biến đổi. Hình sau sẽ minh họa cho phép dịch phổ về tâm Ảnh gốc Phổ khi chưa dịch tâm Phổ khi dịch tâm Như là một kết quả của cách thức mà hệ thống thị giác người đáp ứng với độ sáng, ta có thể nâng cao đáng kể thông tin thị giác sẵn có bằng cách hiển thị phép biến đổi logarit của phổ sau đây G(u, v) = k log[1 + |F(u, v)|]  Nếu không có phép biến đổi Logarit, ta sẽ khó thấy rõ phổ của ảnh. Đây là lỗi em đã mắc phải khi làm bài Khoảng động thực tế của phổ Fourier lớn hơn rất nhiều so với 256 mức xám (8- bits) sẵn có đối với hầu hết các thiết bị hiển thị ảnh. Do đó, khi ta ánh xạ lại nó vào 256 mức xám, ta chỉ có thể thấy các giá trị lớn nhất, thông thường là các số hạng tần số thấp xung quanh gốc. Hàm logarit nén lại dữ liệu, còn hệ số co giãn k dùng để ánh xạ dữ liệu vào trong khoảng 0-255. - Các bước thực hiện lọc ảnh trong miền tần số(ảnh kích thước M * N) 1. Nhân đầu vào của ảnh với (-1) x+y để dịch phổ về tâm ℑ : f(x, y)( −1) x+y → F(u−M/2, v-N/2) m Chứng minh: Ta có f 1 (x, y) = f(x, y).(- 1) x+y ( ) 2 2 2 2 2 2 2 2 1 N y N i M x M i y N N i x M M i yx eeee × × × × +                 =                 =− π π π π ( )       +− ××       +− +                 =− N yv M xu i N y N i M x M i N yv M xu i yx eeeyxfeyxf π ππ π 2 2 2 2 2 2 ),(1),( ( ) ( )       +−       −× −       −× − = N yv M xu i N N y i M M x i eeeyxf π ππ 2 2 2 2 2 ),( ( ) ( )                 +         −       ×−+×− − − == 2 N v 2 M u N y M x i N N y N yvM M x M xu i eyxfeyxf − ππ 2 22 2 ),(),( 2. Tính DFT F1(u,v) của f1(x,y) 3. Nhân F1(u,v) với hàm lọc H(u,v) nhận được kết quả G1(u,v) G 1 (u, v) = F 1 (u, v)* H(u, v) 4. Tính toán DFT ngược của kết quả ở bước 3, nhận được g1 (x,y) g 1 (x, y) = ℑ − 1 (G 1 (u, v)) 5. Nhận được phần thực cho kết quả ở bước 4 g 2 (x, y) = Re ( g 1 (x, y) ) 6. Nhân kết quả ở bước 5 với (-1) x+y g(x, y) = g 2 (x, y)× (-1) x+y 3. Tìm hiểu các bộ lọc trong miền tần số a. Bộ lọc thông thấp - Bộ lọc thông thấp lí tưởng: + mục đích : làm mịn, trơn ảnh và giảm nhiễu + hàm truyền đạt có dạng: Với : D0≥0, được gọi là tần số cắt , là giao điểm của H(u, v)=1 và H(u,v)=0 D(u, v) là khoảng cách từ điểm (u, v) đến gốc tọa độ tần số, trong đó gốc tọa độ tần số là (u, v)=(M/2, N/2) D(u, v)= [(u - M/2) 2 + (v - N/2) 2 ] 1/2  Bộ lọc lý tưởng chỉ ra rằng, tất cả các tần số trong vòng tròn bán kính D 0 không bị suy giảm, trong khi đó tất cả các tần số ngoài vòng tròn này hoàn toàn bị suy giảm. Đây là kết quả nhận được để khử những gạch sọc - Bộ lọc ButterWorth thông thấp: Hàm truyền đạt bậc n với quĩ tích tần số cắt tại D 0 [...]... bộ lọc Butter Worth cho ảnh mờ hơn bộ lọc Gauss do bộ lọc Butter Worth dốc hơn, chọn lọc tần số tốt hơn b Các bộ lọc thông cao Bộ lọc thông cao có thể suy ra từ bộ lọc thông thấp qua biểu thức: Hhp(u, v)= 1- Hlp(u, v) Bộ lọc này lấy các thành phần tần số cao, lọc bỏ các thành phần tần số thấp nên bộ lọc thông cao làm sắc nét ảnh và nổi bật các chi tiết như nhiễu và cạnh biên Lọc thông cao dùng cho. .. cao ảnh thông thường đòi hỏi một số dạng hậu xử lí, như là cân bằng histogram, để tạo ra một ảnh chấp nhận được Các bộ lọc thông cao hay dùng là: lọc thông cao lí tưởng, lọc thông cao Butter Worth và lọc thông cao Gauss Cụ thể cho từng bộ lọc như sau: -Bộ lọc thông cao lý tưởng: ảnh và phổ sau khi lọc thông cao lí tưởng với D0=10 (ảnh gốc 128*128) - Bộ lọc ButterWorth thông cao: Cũng ảnh gốc và tần số. .. gốc 257*257 và Do=70; W=20; d Biến đổi Laplace trong miền tần số Ta có biến đổi Fourier của toán tử Laplace Do III đó ta có bộ lọc Các bước cài đặt thuật toán: trong miền tần số như sau: - Trước hết là đọc dữ liệu của ảnh đầu vào private void ReadImage() { int i, j; GreyImage = new int[Height , Width ]; // [Row,Column] Bitmap image = Obj; BitmapData bitmapData1 = image.LockBits(new Rectangle(0, 0, Width,... thước ảnh, Obj là ảnh gốc và dữ liêu được lưu trong mảng GreyImage - Hiển thị Phổ biên độ và phổ pha sau khi biến đổi Fourier - Chọn bộ lọc thích hợp cho ảnh - Thực hiện nhân kết quả sau khi biến đổi Fourier với hàm lọc đã chọn - Biến đổi Fourier ngược và đưa dữ liệu vào ảnh mới, hiển thị ảnh kết quả lên màn hình Kết luận Hiện tại, em đã thực hiện tìm hiểu và cài đặt được với các bộ lọc như trên Nhưng... xét như sau: bộ lọc Gauss có độ dốc thấp nhất, bộ lọc lí tưởng không có trong thực tế, bộ lọc Butter Worth là trung gian giữa bộ lọc lí tưởng và bộ lọc Gauss, bộ lọc này có độ dốc gần giống bộ lọc Gauss, nhưng bậc càng cao thì càng dốc Sau khi thực hiện các phép lọc ảnh với từng bộ lọc, nhận xét tổng quát như sau: - Mức cắt D0 cang nhỏ, ảnh càng bị mờ, do bộ lọc lấy các thành phần có tần số thấp Với cùng...Kết quả áp dụng ảnh gốc 512*512 D0=40 với phổ Fourier thể hiện như sau: Phổ gốc - Lọc thông thấp Gauss Công thức của bộ loc này như sau: ảnh lọc Butter Worth với Phổ sau khi lọc H (u , v) = e − D 2 ( u ,v ) / 2 D0 2 Kết quả áp dụng ảnh gốc với chữ bị gãy nét và sau khi lọc Gauss sẽ giảm sự gãy nét này Việc này rất có ý nghĩa trong việc nhận dạng kí tự trong văn bản => Qua các bộ lọc thông thấp trên ta... trên, kết quả với bộ lọc này như sau: ảnh kết quả - Lọc thông cao Gauss phổ kết quả Kết quả với ảnh gốc và Do như trên: Cũng tương tự như bộ lọc thông thấp, ta cũng có nhận xét sau: - Do càng lớn, ảnh sau xử lý càng sắc nét hơn, các chi tiết như cạnh biên và nhiễu càng được thể hiện rõ - Cùng một giá trị Do, bộ lọc Butterworth tạo ảnh sắc nét hơn bộ lọc Gauss c Các bộ lọc thông dải và loại dải Bộ lọc. .. một dải băng tần trong biến đổi Fourier ban đầu Cũng tương tự như các bộ lọc trên, bộ lọc thông dải và loại dải cũng gồm - Bộ lọc thông dải(loại dải) lí tưởng: - Với bộ lọc loại dải thì giá trj trong khoảng Do-W/2 => Do+W/2 thì H(u,v)=1, ngoài khoảng này là 0 Bộ lọc thông dải(loại dải) Butter Worth - Bộ lọc thông dải(loại dải) Gauss bộ lọc thông dải lí tưởng(phần vành khăn trắng là 1) ảnh gốc 257*257... được với các bộ lọc như trên Nhưng với 1 số ảnh, nhiễu không phân bố ở dải tần số cao hẳn hay thấp hẳn mà lại phân bố ở 1 số điểm nhỏ lẻ, thì ta có thể xây dựng bộ lọc nào đó loại đi thành phần này thôi không Em đang tiếp tục tìm hiểu vấn đề này với bộ lọc đánh dấu(Notch) có dạng như sau IV - Những vấn đề chưa giải quyết được Chưa thực hiện cài đặt xử lí với ảnh màu Do kiến thức còn hạn chế nên bài... ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb ); unsafe { byte* imagePointer1 = (byte*)bitmapData1.Scan0; for (i = 0; i < Height; i++) { for (j = 0; j < Width; j++) { GreyImage[i, j] = (int) ((imagePointer1[0] + imagePointer1[1] + imagePointer1[2]) / 3.0); imagePointer1 += 3; }//end for j imagePointer1 += bitmapData1.Stride - (bitmapData1.Width * 3); }//end for i }//end unsafe image.UnlockBits(bitmapData1); return; . chuyển ảnh sang miền khác để xử lí, sau đó biến đổi trở lại miền không gian. Các phép biến đổi đó là biến đổi Fourier, biến đổi Cosin rời rạc Em chọn đề tài tập lớn của mình là: Lọc ảnh trên miền. tập lớn của mình là: Lọc ảnh trên miền tần số (sử dụng biến đổi Fourier). Áp dụng cho ảnh 24 bit để tìm hiểu kĩ hơn về vấn đề lọc và nâng cao chất lượng ảnh Cấu trúc của bài báo cáo gồm 3 phần:. liên quan và thuật toán. 1. Biến đổi Fourier rời rạc và tính chất ảnh trong miền tần số 2. Cơ bản về lọc ảnh trong miền tần số 3. Tìm hiểu các bộ lọc trong miền tần số 3) Các bước cài đăt thuật

Ngày đăng: 25/03/2014, 19:51

Từ khóa liên quan

Mục lục

  • I. Giới thiệu

  • II. Các vấn đề liên quan và thuật toán

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

Tài liệu liên quan