【问题标题】:Replacing Image with that of a bigger size (OpenCV)用更大尺寸的图像替换图像(OpenCV)
【发布时间】:2014-12-20 13:59:02
【问题描述】:

我正在对视频进行图像拼接,这基本上是我的循环的工作方式: frame1 + frame2 = 缝合 将 frame1 替换为缝合并重复循环。

我尝试将 frame1 的大小调整为stitched 的大小,然后使用stitched.copyTo(frame1) 但这似乎不起作用。 :(

大家有什么建议吗?

提前致谢!

【问题讨论】:

  • 如果拼接大于frame1,它将不起作用。请显示相关的代码(包括分配)
  • resize(frame1, frame1, Size(stitched.cols,stitched.rows), 0, 0, INTER_CUBIC);缝合.copyTo(frame1);是的,缝合会比 frame1 大。有没有办法做到这一点?
  • 既然您似乎还是要覆盖 frame1,为什么要进行昂贵的调整大小?你不能用缝合替换 frame1 吗?我什至不知道,你需要副本。
  • 看看我的帖子:stackoverflow.com/questions/25440894/…我使用了 OpenCV 的 Stitcher 类。
  • "但这似乎不起作用。:("究竟是什么不起作用?复制或拼接到复制?如果将结果保存到文件并加载拼接+第三张图像,它是否有效?

标签: c++ opencv


【解决方案1】:
// Free data allocated for frame1
frame1.release();

// Clone stiched image
frame1 = stiched.clone();

【讨论】:

  • 我试过这个,但它不起作用。我的 frame1 仍然显示以前的图像。真奇怪。我在这些行之前和之后放置了打印语句,以确保它到达那里并且它确实到达了那里但是......没有任何反应。
【解决方案2】:

我已经很久没有使用 OpenCV 了,但这是我的建议

假设您成功拼接了这两个图像,则拼接的 MAT 应该是生成的图像。所以,与其复制拼接到 frame1,stitched.copyTo(frame1),为什么不只是imshow(stitched)

请告诉我们您到目前为止所做的事情,以便我们更好地理解您的问题:D

【讨论】:

    猜你喜欢
    • 2017-01-16
    • 1970-01-01
    • 1970-01-01
    • 2013-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多