⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 compute_image_phase_feature_g4_h4.m

📁 局部滤波器的特征提取方法
💻 M
字号:
function [image_phase_matrix] = compute_image_phase_feature_G4_H4(image)
% written by xiaoxun zhang. 
% 2004-08-22

% image = double(imread('001.jpg'));

horizon_filter = [0.9344, 0.0606, -0.5729, -0.1231, 0.1084, 0.0507, 0.0084, 0.0507, 0.1084, -0.1231, -0.5729, 0.0606, 0.9344];  % f1 even
vertical_filter = [1.0, 0.7788, 0.3679, 0.1054, 0.0183, 0.0019, 0.0001, 0.0019, 0.0183, 0.1054, 0.3679, 0.7788, 1.0]'; % f2 even
real_quadrature_image_matrix_1 = quadrature_filter(image, horizon_filter, vertical_filter);

horizon_filter = [0.0, -0.4867, -0.1839, 0.1186, 0.0916, 0.0229, 0.0028, -0.0229, -0.0916, -0.1186, 0.1839, 0.4867, 0.0]; % f3 odd
vertical_filter = [0.0, 0.4851, 0.4583, 0.1970, 0.0456, 0.0060, 0.0005, -0.0060, -0.0456, -0.1970, -0.4583, -0.4851, 0.0]'; % f4 odd
real_quadrature_image_matrix_2 = quadrature_filter(image, horizon_filter, vertical_filter);

horizon_filter = [-0.5581, -0.2173, 0.2053, 0.2059, 0.0715, 0.0124, 0.0012, 0.0124, 0.0715, 0.2059, 0.2053, -0.2173, -0.5581]; % f5 even
vertical_filter = [-0.5581, -0.2173, 0.2053, 0.2059, 0.0715, 0.0124, 0.0012, 0.0124, 0.0715, 0.2059, 0.2053, -0.2173, -0.5581]'; % f5 even
real_quadrature_image_matrix_3 = quadrature_filter(image, horizon_filter, vertical_filter);

horizon_filter = [0.0, 0.4851, 0.4583, 0.1970, 0.0456, 0.0060, 0.0005, -0.0060, -0.0456, -0.1970, -0.4583, -0.4851, 0.0]; % f4 odd
vertical_filter = [0.0, -0.4867, -0.1839, 0.1186, 0.0916, 0.0229, 0.0028, -0.0229, -0.0916, -0.1186, 0.1839, 0.4867, 0.0]'; % f3 odd
real_quadrature_image_matrix_4 = quadrature_filter(image, horizon_filter, vertical_filter);

horizon_filter = [1.0, 0.7788, 0.3679, 0.1054, 0.0183, 0.0019, 0.0001, 0.0019, 0.0183, 0.1054, 0.3679, 0.7788, 1.0];  % f2 even
vertical_filter = [0.9344, 0.0606, -0.5729, -0.1231, 0.1084, 0.0507, 0.0084, 0.0507, 0.1084, -0.1231, -0.5729, 0.0606, 0.9344]'; % f1 even
real_quadrature_image_matrix_5 = quadrature_filter(image, horizon_filter, vertical_filter);


horizon_filter = [0.0, 0.8322, 0.1006, -0.2908, -0.0993, -0.0012, 0.0030, -0.0012, -0.0993, -0.2908, 0.1006, 0.8322, 0]; % f1 even
vertical_filter = [1.0, 0.7788, 0.3679, 0.1054, 0.0183, 0.0019, 0.0001, 0.0019, 0.0183, 0.1054, 0.3679, 0.7788, 1.0]'; % f2 even
imagnary_quadrature_image_matrix_1 = quadrature_filter(image, horizon_filter, vertical_filter);

horizon_filter = [0.5715, 0.1161, -0.3017, -0.1520, -0.0041, 0.0095, 0.0021, 0.0095, -0.0041, -0.1520, -0.3017, 0.1161, 0.5715]; % f3 even
vertical_filter = [0.0, 0.3894, 0.3679, 0.1581, 0.0366, 0.0048, 0.0004, -0.0048, -0.0366, -0.1581, -0.3679, -0.3894, 0.0]'; % f4 odd
imagnary_quadrature_image_matrix_2 = quadrature_filter(image, horizon_filter, vertical_filter);

horizon_filter = [0.0, -0.3057, -0.1791, 0.0016, 0.0258, 0.0077, 0.0010, -0.0077, -0.0258, -0.0016, 0.1791, 0.3057, 0]; % f5 odd
vertical_filter = [-0.6638, -0.3223, 0.1237, 0.1672, 0.0611, 0.0108, 0.0010, 0.0108, 0.0611, 0.1672, 0.1237, -0.3223, -0.6638]'; % f6 even
imagnary_quadrature_image_matrix_3 = quadrature_filter(image, horizon_filter, vertical_filter);

horizon_filter = [-0.6638, -0.3223, 0.1237, 0.1672, 0.0611, 0.0108, 0.0010, 0.0108, 0.0611, 0.1672, 0.1237, -0.3223, -0.6638]; % f6 even
vertical_filter = [0.0, -0.3057, -0.1791, 0.0016, 0.0258, 0.0077, 0.0010, -0.0077, -0.0258, -0.0016, 0.1791, 0.3057, 0]'; % f5 odd
imagnary_quadrature_image_matrix_4 = quadrature_filter(image, horizon_filter, vertical_filter);

horizon_filter = [0.0, 0.3894, 0.3679, 0.1581, 0.0366, 0.0048, 0.0004, -0.0048, -0.0366, -0.1581, -0.3679, -0.3894, 0.0]; % f4 odd
vertical_filter = [0.5715, 0.1161, -0.3017, -0.1520, -0.0041, 0.0095, 0.0021, 0.0095, -0.0041, -0.1520, -0.3017, 0.1161, 0.5715]'; % f3 even
imagnary_quadrature_image_matrix_5 = quadrature_filter(image, horizon_filter, vertical_filter);

horizon_filter = [1.0, 0.7788, 0.3679, 0.1054, 0.0183, 0.0019, 0.0001, 0.0019, 0.0183, 0.1054, 0.3679, 0.7788, 1.0]; % f2 even
vertical_filter = [0.0, 0.8322, 0.1006, -0.2908, -0.0993, -0.0012, 0.0030, -0.0012, -0.0993, -0.2908, 0.1006, 0.8322, 0]'; % f1 even
imagnary_quadrature_image_matrix_6 = quadrature_filter(image, horizon_filter, vertical_filter);

for angle_index = 1:5
    angle = (angle_index-3)*(pi/4);
    
    image_phase_matrix(angle_index).real_matrix = cos(angle)*cos(angle)*cos(angle)*cos(angle)*real_quadrature_image_matrix_1 ...
        - 4*cos(angle)*cos(angle)*cos(angle)*sin(angle)*real_quadrature_image_matrix_2 + 6*cos(angle)*cos(angle)*sin(angle)*sin(angle)*real_quadrature_image_matrix_3 ...
        - 4*cos(angle)*sin(angle)*sin(angle)*sin(angle)*real_quadrature_image_matrix_4 + sin(angle)*sin(angle)*sin(angle)*sin(angle)*real_quadrature_image_matrix_5;
    image_phase_matrix(angle_index).imaginary_matrix = cos(angle)*cos(angle)*cos(angle)*cos(angle)*cos(angle)*imagnary_quadrature_image_matrix_1 ...
        - 5*cos(angle)*cos(angle)*cos(angle)*cos(angle)*sin(angle)*imagnary_quadrature_image_matrix_2 + 10*cos(angle)*cos(angle)*cos(angle)*sin(angle)*sin(angle)*imagnary_quadrature_image_matrix_3 ...
        - 10*cos(angle)*cos(angle)*sin(angle)*sin(angle)*sin(angle)*imagnary_quadrature_image_matrix_4 + 5*cos(angle)*sin(angle)*sin(angle)*sin(angle)*sin(angle)*imagnary_quadrature_image_matrix_5...
        - sin(angle)*sin(angle)*sin(angle)*sin(angle)*sin(angle)*imagnary_quadrature_image_matrix_6;
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -