Biến đổi Fourier Rời Rạc(DFT) Trong Nhận Diện Mặt Người Sử Dụng ...
Có thể bạn quan tâm
Mình đã từng sử dụng Matlab trong việc nhận diện mặt người sử dụng nhiều kỹ thuật khác nhau như biến đổi Fourier rời rạc, Cosine rời rạc và Wavelet. Hôm nay, mình sẽ giới thiệu về phương pháp đầu tiên: Sử dụng biến đổi Fourier rời rạc (DFT).
1. Về phép biến đổi Fourier- Về mặt toán học: Biến đổi Fourier là phép toán chuyển một hàm với giá trị phức của các biến thành hàm khác.
- Trong xử lý tín hiệu số để hiểu được định nghĩa của Fourier cần biết được 2 khái niệm:
- Miền thời gian: Là miền xác định của hàm dựa theo thời gian
- Miền tần số: Là miền mới của tín hiệu dựa trên tần số sau việc chuyển đổi tín hiệu từ miền thời gian Biến đổi Fourier là việc biến đổi tín hiệu từ miền thời gian sang miền tần số. Biến đổi Fourier đóng vai trò quan trọng trong xử lý ảnh, có khả năng linh hoạt cao trong thiết kế và tiến hành các phương pháp lọc trong việc nâng cao chất lượng ảnh, phục hồi ảnh, nén ảnh…
2.1. Công thức biến đổi Fourier rời rạc (DFT) 2.2. Công thức biến đổi Fourier rời rạc ngược (IDFT)
3. Thực hiện biến đồi Fourier trong Matlab3.1. Ý tưởng
- Bước 1: Sử dụng Fourier để biến đổi ảnh về miền tần số
- Bước 2: Từ ảnh training, chọn ra các vector đặc trưng của ảnh
- Bước 3: Chọn những thuộc tính đặc trưng nhất từ vector đặc trưng
- Bước 4: Tìm kiếm ảnh gần giống nhất với ảnh cần tìm
3.2. Hiện thực hóa
3.2.1. Hàm Fourier (DFT) - Hàm dft để chuyển đổi một bức ảnh bằng phương pháp chuyển đổi Fourier rời rạc (DFT) để rời rạc hóa ảnh nhằm trích xuất ra được vector đặc trưng của ảnh.
function [Xk] = dft(xn) N = length(xn); n = 0:1:N-1; % row vector for n k = 0:1:N-1; % row vecor for k WN = exp(-j*2*pi/N); % Twiddle factor (w) nk = n'*k; % creates a N by N matrix of nk values WNnk = WN .^ nk; % DFT matrix Xk = WNnk*xn; end- Trích chọn đặc trưng
3.2.2. Tìm ảnh giống
function [ATT] = similar(S) if size(S,3) == 3 S1= rgb2gray(S); end I = im2double(S1); T = dft(8); B = blkproc(I,[8 8],'P1*x*P2',T,T); mask = [1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; B2 = blkproc(B,[8 8],'P1.*x',mask); %imshow(B2); I2 = blkproc(B2,[8 8],'P1*x*P2',T,T); I2 = I2/255; [m, n] = size(B2); d = 1; for ( i = 1:8:m) for( j = 1:8:n) ATT(d) = round(B2(i,j)); d = d+1; end end end3.2.3. Hàm bắt sự kiện trong Matlab 3.2.3.1. Sự kiện chọn ảnh
function btnChon_Callback(hObject, eventdata, handles) % hObject handle to btnChon (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [filename, path] = uigetfile({'*.*'}); %Infor = imfinfor(fullfile(path, filename)); %lấy thông tin ảnh Img = imread(fullfile(path, filename)); %chọn ảnh %hiển thị ảnh trên axes1 %imshow(Img) %trich vector dac trung global AT AT = similar(Img); axes(handles.axes1) imshow(Img)3.2.3.2. Sự kiện tìm kiếm ảnh giống
function btnSearch_Callback(hObject, eventdata, handles) % hObject handle to btnSearch (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global AT file = dir('*.jpg'); N = length(file); for (k = 1:N) sim(k) = 0; end for (k = 1:N) filename = file(k).name; Pic = imread(filename); ATT= similar(Pic); t1 = min(length(AT),length(ATT)); t2 = max(length(AT),length(ATT)); for(i =1:t1) sim(k) = sim(k)+abs(AT(1,i)-ATT(1,i)); end for(i = (t1+1):t2) if(length(AT) > length(ATT)) sim(k) = sim(k) + AT(1,i); else sim(k) = sim(k) + ATT(1,i); end end Mi = sim(1); for (i = 2:N) Mi = min(Mi, sim(i)); end for (i = 1:N) if (Mi == sim(i)) Pic = imread(file(i).name); axes(handles.axes2) imshow(Pic) break end end end3.3. Kết quả
Từ khóa » Tính Dft
-
[PDF] BIẾN ĐỔI FOURIER RỜI RẠC (DFT) F - KHVT
-
Biến đổi Fourier Rời Rạc – Wikipedia Tiếng Việt
-
Tính DFT 8 điểm Bằng Thuật Toán FFT Theo Thời Gian _ PTIT - YouTube
-
Xử Lý Số Tín Hiệu - Chương 8: Biến đổi DFT Và FFT - Tài Liệu, Ebook
-
Xử Lý Số Tín Hiệu -Chuong 4 - Slideshare
-
[PDF] Phép Biến đổi Fourier Rời Rạc Và ứng Dụng
-
Biến đổi Fourier Rời Rạc (DFT). Biến đổi Fourier Rời Rạc
-
[PDF] Biến đổi Fourier Nhanh (fft)
-
1 Đánh Giá Cách Tính Trực Tiếp DFT - Tài Liệu Text - 123doc
-
Bài Giảng Xử Lý Số Tín Hiệu - Chương 8: Biến đổi DFT Và FFT
-
Chương5 - PHÉP BIẾN ĐỔI FOURIER RỜI RẠC VÀ ỨNG DỤNG
-
Dft Là Gì Trong Tiếng Việt? Sự Khác Biệt Giữa Fft Và Dft (Toán ...
-
7 DFT LÀ GÌ Mới Nhất 2023