image - Matlab 位移矢量场
问题描述
给定两个不同的图像,我如何计算和绘制这两个图像之间位移的矢量场?
我知道 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
提前谢谢了。
解决方案
推荐阅读
- rundeck - rundeck 问题 - 启用活动自动刷新 - 默认情况下禁用
- amazon-web-services - AWS:STS Assume Role 不适用于用户
- javascript - 使用 Knex.js 批量插入错误:绑定消息提供 X 参数,但准备好的语句“”需要 Y
- mysql - 如何优化以下 SELECT 查询
- python - 在函数列表中选择和执行函数
- common-lisp - 为什么斐波那契数列的结果在一定数量后开始发散?
- javascript - 如何从字符串中提取字符但仅在看到某个短语之后?
- python - 如何从非单词字符中清除 csv 文件并在 python 中删除包含它们的单词?
- python - 如何使用 Tensorflow Estimator 将具有权重的模型保存到单个 protobuf 文件中?
- python - 为什么 Python 会向我返回一条错误消息,说我错误地使用了 int()