主要内容

估计两个图像之间的运动

这个例子展示了如何使用匹配块来估计两个图像之间的运动。

读取图像帧的运动估计。

I1 = imread (“car_frame1.png”);I2 = imread (“car_frame2.png”);

示例模型

通过调用打开模型开放在MATLAB命令提示符。指定模型文件的名称打开。万博1manbetx

open_system (“ex_blockmatching.slx”);

图像加载到模型使用的工作区图像从工作区块。直接从文件中读取图像位置,使用图像文件块来代替。两个RGB图像之间的运动模型估计的一个移动的汽车在不同的时间间隔。模型使用三个步骤的块匹配运动估计算法。宏块匹配的成本函数重叠设置为均方误差(MSE)。宏块的大小设置为35-by-35和最大位移(水平和垂直方向)允许设置为7像素匹配块。速度的输出匹配块包含的水平和垂直分量运动矢量在复杂的形式。

您可以使用合成块叠加的图像。

运行模型

模拟模型,并将模型输出保存到MATLAB工作区。模型输出的运动矢量和显示图像。

= sim卡(“ex_blockmatching.slx”);

显示结果

读取输出运动矢量和显示图像。

vx =实际(out.simout.Data);v =图像放大(out.simout.Data);imageOverlay = out.simout1.Data;

指定图像平面上的点相对于宏观块的大小。

x = 1时35:抵达大小(imageOverlay, 1);y = 1时35:抵达大小(imageOverlay 2);

显示功能形象和情节的水平和垂直分量运动向量通过使用箭袋函数。

图中,imshow (imageOverlay);持有箭袋(y ', x, vx, v, 0);