给定两个不同的图像,我如何计算和绘制这两个图像之间位移的矢量场?
我知道 matlab 有一个名为光流的工具,它可以让我做一些与我所要求的类似的事情,但它看起来对我不起作用。
除了光流还有什么可以帮助我的吗?
也许我做错了什么,所以我要发布一个我正在做的例子:
fixed = rgb2gray(imread('Fixed_2.jpg'));
moving = rgb2gray(imread('Moved_2.jpg'));
fixed= fixed(:, 100:400);
moving= moving(:, 100:400);
[optimizer, metric] = imregconfig('monomodal');
movingRegistered = imregister(moving, fixed, 'rigid', optimizer, metric);
figure
imshow(movingRegistered);
opticFlow = opticalFlowHS;
flow = estimateFlow(opticFlow,fixed);
flow = estimateFlow(opticFlow,movingRegistered);
hold on
plot(flow,'DecimationFactor',[5 5],'ScaleFactor',25)
hold off
提前谢谢了。