【问题标题】:Set src and dst img the same for opencv resize function为opencv resize函数设置src和dst img相同
【发布时间】:2014-11-21 00:31:13
【问题描述】:

我正在尝试使用 OpenCV 调整 cv::Mat img 的大小。当我使用函数cv::resize() 时,我将srcdst img 设置为与cv::resize(img, img) 等输入img 相同。当我测试程序时,到目前为止它工作正常。但是当我阅读文档说我们需要在调整大小之前预先分配dst img 时,我有点困惑 resize 函数是如何实现的。

谁能给我解释一下? 谢谢。

【问题讨论】:

  • c++版本不需要预先分配dst。

标签: c++ opencv


【解决方案1】:

正如@Micka 所指出的,您不需要预先分配dst。但是,如果您愿意,可以使用不同的调用约定。

来自OpenCV documentation

  • 函数resize 将图像src 缩小到或放大到指定大小。请注意,不考虑初始 dst 类型或大小。相反,大小和类型派生自 srcdsizefxfy。如果您想调整src 的大小,使其适合预先创建的dst,您可以按如下方式调用该函数:

    // explicitly specify dsize=dst.size(); fx and fy will be computed from that.
    resize(src, dst, dst.size(), 0, 0, interpolation);
    

【讨论】:

  • 我猜 resize() 在复制到 dst img 之前会使用某种缓冲区来存储调整大小的 img,对吧?因为我们可以使用 resize(img, img)。
猜你喜欢
  • 2020-10-07
  • 2015-12-25
  • 2014-11-09
  • 1970-01-01
  • 2018-09-21
  • 2019-10-07
  • 2012-07-14
  • 1970-01-01
  • 2017-12-13
相关资源
最近更新 更多