gpt4 book ai didi

opencv - 从 OpenCV 方法返回多个 Mat

转载 作者:太空宇宙 更新时间:2023-11-03 22:06:10 24 4
gpt4 key购买 nike

在文档中的 openCV 代码 sapmles 中,我看到他们只是将 Mat 作为引用传递并填充它。
但我的代码有问题。当我调用 TestMethod 时,它不会填充它们。

void TestMethod(Mat a, Mat b)
{
a = imread("img1.jpg");
b = imread("img2.jpg");

return;
}

最佳答案

您可能对 OpenCV 如何使用 typedef 隐藏引用类型感到困惑。我会查找像 InputArray 这样的 typedef 是如何定义的,您会看到它们中有一个 & 使它们成为引用类型。 cv::Mat 不是 typedef,因此您需要在函数的参数列表中将其声明为引用。

void TestMethod(Mat& a, Mat& b)
{
a = imread("img1.jpg");
b = imread("img2.jpg");

return;
}

按照您现在的编写方式,a 和 b 是调用函数时传递的 Mat 变量的副本。您只是在覆盖函数返回时正在释放的副本。

关于opencv - 从 OpenCV 方法返回多个 Mat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18692235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com