Sử dụng lệnh ImFilter để lọc ảnh trong Matlab

Chào cả nhà,

Em đang đọc một project về xử lý hình ảnh trong Matlab. Em hiểu cơ bản là dùng ImFilter để lọc ảnh theo nhiều hướng, nhưng vẫn chưa rõ là nó dùng công thức nào và tại sao sau khi dùng lệnh này ra 2 ma trận ảnh theo 2 hướng lại có thể xử lý được.

% Create the operators for computing image derivative at every pixel. 	// Tao 2 toan tu de tinh dao ham tung pixel
hx = [-1  0  1];
hy = [-1; 0; 1];
% Compute the derivative in the x and y direction for every pixel.		// Tinh dao ham theo huong cua x va y voi moi pixel
dx = imfilter(img, hx);   
dy = imfilter(img, hy); 
% Convert the gradient vectors to polar coordinates (angle and magnitude).  // chuyen sang toa do vo cuc
angles = atan2(dy, dx);             % 128 x 64          // goc
magnit = ((dy.^2) + (dx.^2)).^.5;   % 128 x 64          // do lon

Một ví du về kết quả lọc dùng Imfilter

Có ai không ạ? Huhu:scream:

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?