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

📄 buchang22.m

📁 双线性插值的matlab实现
💻 M
字号:
%  function image12=buchang22(X,pa)   %%运行正确
% 此程序完成视频稳定系统中的运动补偿功能
% 根据全局运动估计参数,也就是模型参数,对于校正后图像的任一像素坐标(x',y')
% 都可以求得它在参考图像中的对应坐标(x,y),公式为
%      x=(a5*x'-a2*y'-a3*a5+a2*a6)/(a1*a5-a2*a4)
%      y=(a4*x'-a1*y'-a3*a4+a1*a6)/(a2*a4-a1*a5)
% 求解后的x和y值未必是整数,而在参考图像中只有x和y都是整数时才有像素
% 所以实现方法是使用双线性插值方法

% X 输入的参考图像
% pa 求得的仿射模型六参数
% image 视频校正后的稳定图像
 clear all;
 close all;
 load woman;
 image(X);   colormap(map);
 pa=[0.01 0.005 0.01 0.005 0 0];
X=double(X);
[row,col]=size(X);
B=zeros(row,col);
for xx=1:row     % xx相当于教正后的图像的任一像素坐标的横坐标x'
    for yy=1:col    % yy相当于教正后的图像的任一像素坐标的纵坐标y'
        mm=pa(5)*xx-pa(2)*yy-pa(3)*pa(5)+pa(2)*pa(6);
        nn=pa(1)*pa(5)-pa(2)*pa(4);
        pp=pa(4)*xx-pa(1)*yy-pa(3)*pa(4)+pa(1)*pa(6);
        qq=pa(2)*pa(4)-pa(1)*pa(5);
        x=mm/nn;
        y=pp/qq;
        if x<1|x>=row|y<1|y>=col
             continue;
        end
        x1=floor(x);  % 确定(x,y)周围的四个坐标点
        y1=floor(y);
        x2=x1+1;
        y2=y1+1;
        P1=X(x1,y1); % (x,y)周围的四个坐标点的像素值
        P2=X(x1,y2);
        P3=X(x2,y1);
        P4=X(x2,y2);
        % 双线形插值开始
        P12=P1+(x-x1)*(P2-P1);
        P34=P3+(x-x1)*(P4-P3);
        B(xx,yy)=floor(P12+(y-y1)*(P34-P12)); % 教正后图像(xx,yy)点的像素值              
    end
end
image12=B;
figure;
image(image12);colormap(map);

⌨️ 快捷键说明

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