图像移动算法求解

hello383270701 2012-05-07 10:08:32
想通过两个图片 求出图片A相对于图片B向上下左右哪个方向移动了。

图片A可以理解为当前摄像头捕获的图片
然后稍微移动上下左右任意位置移动一点,再次捕获到图片B
经过通过算法比对AB图片,可以获得B相对于A像哪里移动了
...全文
166 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hello383270701 2012-08-29
  • 打赏
  • 举报
回复
虽然自己没有用上 但是还是感谢大家 结贴 ~
HUNTON 2012-06-21
  • 打赏
  • 举报
回复
楼上的方法相当于对某个区域附近做模板匹配吧,这种方法感觉计算量不小啊,特别是区域取的比较大的情况。

如果知道图片里面有的特征内容的话,直接搜索特征内容,比较位置关系就好了。比如矩形框等。
cloudszhang 2012-06-21
  • 打赏
  • 举报
回复
视频压缩里面的运动向量求解,就是你需要的算法。
思路是这样的,将当前图片的上下左右设定一个范围,比如,x 属于(-16, 16), y属于(-16, 16)
然后对着1024个位置进行图片的比对,比对的方法就是两个图片的亮度值做差,求得绝对值和,称为MAD。
其中MAD最小的,就是两个图片的相对位置。
如果图片太大的话,你可以取得小图,然后再计算,小图可以通过下采样获得。
或者仅比对一个区域。
索隆 2012-05-08
  • 打赏
  • 举报
回复
首先你必须有坐标系,如果没有那你就要定义坐标系,否则没法往下计算。
a(x1,y1) b(x2,y2) 然后开始相对位置就是((x2-x1),(y2-y1)).
移动后再计算相对位置((x2'-x1'),(y2'-y1'))。这样相对移动就找到了,
你可以理解为a没动(0,0),b的坐标移动前和移动后都知道,求b相对a移动的方向。
把刚才((x2-x1),(y2-y1)).重新记做(x,y);
把刚才((x2'-x1'),(y2'-y1'))重新记做(m,n);为了清楚。
相对移动方向很好判断,
n-y>0,在竖直方向向上移动了。
n-y=0,在竖直方向没移动。
n-y<0,在竖直方向向下移动了。

m-x>0,在水平方向向右移动了。
m-x=0,在水平方向没移动了。
m-x<0,在水平方向向左移动了。
然后综合一下就知道向那个方向移动了,你也可以直接计算方向向量,那更精确。


HUNTON 2012-05-08
  • 打赏
  • 举报
回复
图片的内容都是什么?如果就一张白纸移来移去又拍不到边缘的话,根本就无法判别。

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧