gpt4 book ai didi

Linux 中的 C++ OpenCV2 cv::Mat::copyTo 错误

转载 作者:IT王子 更新时间:2023-10-29 00:37:46 24 4
gpt4 key购买 nike

尝试在 Linux 中的 OpenCV2 中编译以下代码时,

cv::Mat image1, image2;
cv::Rect rect1, rect2;
...
image1(rect1).copyTo(image2(rect2));

我收到以下错误:

x.cpp: In member function ‘cv::Mat Process(cv::Mat)’:
x.cpp:241: error: no matching function for call to ‘cv::Mat::copyTo(cv::Mat)’
cxcore.hpp:794: note: candidates are: void cv::Mat::copyTo(cv::Mat&) const
cxcore.hpp:796: note: void cv::Mat::copyTo(cv::Mat&, const cv::Mat&) const

注意:这段代码可以在 Windows 中完美编译和运行。

有什么帮助吗?

最佳答案

据我所见here , Mat 的 operator() 需要一个 Mat 类型的参数而不是 Mat&。这似乎是这里的问题。

尝试添加一个 Mat 类型的临时对象。见下文。

cv::Mat image1, image2;
cv::Rect rect1, rect2;
...
cv::Mat extractedImage2 = image1(rect2);
image1(rect1).copyTo(extractedImage2);

但我必须说我不是 openCV 专家,所以这只是基于我的 c++ 知识的答案。

关于Linux 中的 C++ OpenCV2 cv::Mat::copyTo 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3378128/

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