2014-09-26 98 views
0

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

任何人都可以解释给我看? 谢谢。

+3

你不需要在C预先分配DST ++版本。 – Micka 2014-09-26 04:59:50

回答

1

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

OpenCV documentation

  • 功能resize调整图像大小src向下或向上为指定的大小。请注意,初始dst类型或大小未考虑在内。相反,尺寸和类型来源于src,dsizefxfy。如果你想调整src,使其符合预先创建dst,你可以调用该函数如下:

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

我想resize()会使用某种缓冲来存储调整大小的img,然后再复制到dst img,对吧?因为我们可以使用调整大小(img,img)。 – Bent 2014-09-29 06:48:09