Halcom 发表于 2017-3-8 23:25:07

双线性滤波插值图像

function A_interp_pic = Bilinear_Filter_interp(A, filter_coef)
% 双线性插值滤波
% Input:    A: 输入图像
%         filter_coef: 滤波器系数
% Output:   
%         A_interp_pic:双线性插值滤波图像

if (length(size(A)) == 3)
% 如果输入图像为3D数组,则重复插值滤波3次
    for i=1:3
      A_interp_pic(:,:,i) = Bilinear_Filter_interp(A(:,:,i),filter_coef);
    end
   
else
    = size(A);       % 求行列
    % 初始化
    A1 = [];         % 初始化
    A_interp_pic = []; % 初始化
    % 列插值
    A_col= filter2(filter_coef,A);       % 滤波
    for i=1:n
      A1 = ;
    end
    A1(:,end) = [];    % 去边缘
    % 行插值
    A_rows = filter2(filter_coef,A1')';% 滤波
    for i=1:m
      A_interp_pic = ;
    end
    A_interp_pic(end,:) = []; % 去边缘
   
end主程序:filter_coef = /2 ;% (Bilinear Filter)
im_inter = Bilinear_Filter_interp(im, filter_coef);








页: [1]
查看完整版本: 双线性滤波插值图像