【发布时间】:2016-01-03 16:05:27
【问题描述】:
很多OpenCV函数被定义为
function(InputArray src, OutputArray dst, otherargs..)
所以如果我想处理和覆盖同一张图片,我可以这样做吗:
function(myImg, myImg);
这样做安全吗?
谢谢
编辑:
我要求的是 OpenCV 中的标准函数,例如 threshold、blur 等。所以我认为它们应该已经相应地实现了,对吧?
【问题讨论】:
-
是/否 如果没有记录,则否。
-
在opencv中它是安全的,但通常会分配新的内存,因此使用不同的输入和输出矩阵头通常更快(如果输出矩阵的类型和大小已经确定,没有新的内存将被分配)。因此,在捕获相机图像并将输入转换为某个输出的典型循环中,transform(input, input) 通常会在每次迭代中分配(并释放)新内存,而 transform(input, output) 只会分配一次内存(在这两种情况下,变量都是在循环之外声明的)。