如何保持一个绘制矩形在相同的地方,因为相机周围移动
How to keep a drawn rectangle in the same place as the camera moves around
我有一个应用程序,其中在初始帧中绘制了一个矩形。我想知道是否有可能使矩形从下一帧开始成为图像的一部分。
例如,在我的第一帧,我会画这样的东西,但有点暗https://i.stack.imgur.com/enKCE.jpg
我想让它成为环境的一部分,这样下次我的相机进入那个帧时,我就会看到一个矩形框。如何使用OpenCV做到这一点?
编辑:我的算法在第一帧中找到并绘制矩形。我试图保持矩形在相同的地方,因为相机移动和矩形不需要总是在白板上。你想要达到的目标是可能的,但这需要你自己做一些研究和工作。一个可能的解决方案,你的问题是使用光流(http://en.wikipedia.org/wiki/Optical_flow)分析,以监测物体的表观运动在你的相机视图。你可以使用得到的光流场对每一帧之间的矩形角的位置进行"校正"。这里是OpenCV文档中光流函数的链接:
http://docs.opencv.org/modules/gpu/doc/video.html如果您正在使用的特定设备具有陀螺仪和gps/ins,您也可以使用此数据来补充光流数据。让我知道进展如何,听起来真是一个有趣的项目!
您需要一个与图像中的无关的静态矩形吗?只要在你捕获的每一帧上画一个矩形。
Rect r = Rect( .. );
rectangle( imageFromCam, r, Scalar( .. ) );
简历:矩形()
矩形
相关文章:
- 将对象移动到std::shared_ptr
- 何时在引用或唯一指针上使用移动语义
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 如何从具有移动语义的类对象中生成共享指针
- 将shared_ptr移动到<StructA>shared_ptr<变体<结构A、结构 B>>
- C / C++ 移位/偏移/向左或向右移动位图?
- MSVC将仅移动结构参数解释为指针
- 自定义先决条件对移动分配运算符有效吗
- 返回值优化:显式移动还是隐式
- 当有分配器意识的容器被复制/移动时,反弹分配器是否被复制/移走
- 为什么复制而不是移动数据元素?
- 可以使用移动语义更改或改进此C++代码吗?
- 使lambda不可复制/不可移动
- c++在使用指针时移动语义
- 将QGraphicsItem的移动区域限制在多边形区域内
- SendInput()鼠标移动计算
- 按值 C++ 返回时进行双倍移动
- 移动二维数组中的字符
- C++:无法移动文件,因为文件夹名称上有空格
- 如何保持一个绘制矩形在相同的地方,因为相机周围移动